diff --git a/tools/clang/include/clang/Lex/Token.h b/tools/clang/include/clang/Lex/Token.h index 6d8d94457c..7cb0118596 100644 --- a/tools/clang/include/clang/Lex/Token.h +++ b/tools/clang/include/clang/Lex/Token.h @@ -294,25 +294,18 @@ class Token { // HLSL Change Starts bool isHLSLReserved() const { - return - is(tok::kw___is_signed) || - is(tok::kw___declspec) || - is(tok::kw___forceinline) || - is(tok::kw_auto) || - is(tok::kw_catch) || is(tok::kw_const_cast) || - is(tok::kw_delete) || is(tok::kw_dynamic_cast) || - is(tok::kw_enum) || is(tok::kw_explicit) || - is(tok::kw_friend) || - is(tok::kw_goto) || - is(tok::kw_mutable) || - is(tok::kw_new) || - is(tok::kw_operator) || - is(tok::kw_protected) || is(tok::kw_private) || is(tok::kw_public) || - is(tok::kw_reinterpret_cast) || - is(tok::kw_signed) || is(tok::kw_sizeof) || is(tok::kw_static_cast) || - is(tok::kw_template) || is(tok::kw_throw) || is(tok::kw_try) || is(tok::kw_typename) || - is(tok::kw_union) || is(tok::kw_using) || - is(tok::kw_virtual); + return is(tok::kw___is_signed) || is(tok::kw___declspec) || + is(tok::kw___forceinline) || is(tok::kw_auto) || is(tok::kw_catch) || + is(tok::kw_const_cast) || is(tok::kw_delete) || + is(tok::kw_dynamic_cast) || is(tok::kw_enum) || + is(tok::kw_explicit) || is(tok::kw_friend) || is(tok::kw_goto) || + is(tok::kw_mutable) || is(tok::kw_new) || is(tok::kw_operator) || + is(tok::kw_protected) || is(tok::kw_private) || is(tok::kw_public) || + is(tok::kw_reinterpret_cast) || is(tok::kw_signed) || + is(tok::kw_sizeof) || is(tok::kw_static_cast) || + is(tok::kw_template) || is(tok::kw_throw) || is(tok::kw_try) || + is(tok::kw_typename) || is(tok::kw_union) || is(tok::kw_using) || + is(tok::kw_virtual) || is(tok::kw_volatile); } // HLSL Change Starts diff --git a/tools/clang/lib/Parse/ParseDecl.cpp b/tools/clang/lib/Parse/ParseDecl.cpp index 23d86923c2..6cfd498226 100644 --- a/tools/clang/lib/Parse/ParseDecl.cpp +++ b/tools/clang/lib/Parse/ParseDecl.cpp @@ -4193,6 +4193,10 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS, getLangOpts()); break; case tok::kw_volatile: + // HLSL Change - volatile is reserved for HLSL + if (getLangOpts().HLSL) + goto HLSLReservedKeyword; + // HLSL Change Ends isInvalid = DS.SetTypeQual(DeclSpec::TQ_volatile, Loc, PrevSpec, DiagID, getLangOpts()); break; diff --git a/tools/clang/test/HLSL/cpp-errors-hv2015.hlsl b/tools/clang/test/HLSL/cpp-errors-hv2015.hlsl index 7312eb4ac2..e792a702c2 100644 --- a/tools/clang/test/HLSL/cpp-errors-hv2015.hlsl +++ b/tools/clang/test/HLSL/cpp-errors-hv2015.hlsl @@ -60,7 +60,7 @@ struct s_with_friend { }; typedef int (*fn_int_const)(int) const; // expected-error {{expected ';' after top level declarator}} expected-error {{pointers are unsupported in HLSL}} expected-warning {{declaration does not declare anything}} -typedef int (*fn_int_volatile)(int) volatile; // expected-error {{expected ';' after top level declarator}} expected-error {{pointers are unsupported in HLSL}} expected-warning {{declaration does not declare anything}} +typedef int (*fn_int_volatile)(int) volatile; // expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{expected ';' after top level declarator}} expected-error {{pointers are unsupported in HLSL}} expected-warning {{declaration does not declare anything}} void fn_throw() throw() { } // expected-error {{exception specification is unsupported in HLSL}} diff --git a/tools/clang/test/HLSL/cpp-errors.hlsl b/tools/clang/test/HLSL/cpp-errors.hlsl index 7b2c96c4d5..ac9630d9d7 100644 --- a/tools/clang/test/HLSL/cpp-errors.hlsl +++ b/tools/clang/test/HLSL/cpp-errors.hlsl @@ -33,6 +33,7 @@ _Bool g_Bool; // expected-error {{unknown type name '_Bool'}} _vector int altivec_vector; // expected-error {{expected unqualified-id}} expected-error {{unknown type name '_vector'}} restrict int g_restrict; // expected-error {{expected unqualified-id}} expected-error {{unknown type name 'restrict'}} +volatile int g_volatile; // expected-error {{'volatile' is a reserved keyword in HLSL}} __underlying_type(int) g_underlying_type; // expected-error {{__underlying_type is unsupported in HLSL}} _Atomic(something) g_Atomic; // expected-error {{'_Atomic' is a reserved keyword in HLSL}} expected-error {{HLSL requires a type specifier for all declarations}} @@ -56,7 +57,7 @@ struct s_with_friend { }; typedef int (*fn_int_const)(int) const; // expected-error {{expected ';' after top level declarator}} expected-error {{pointers are unsupported in HLSL}} expected-warning {{declaration does not declare anything}} -typedef int (*fn_int_volatile)(int) volatile; // expected-error {{expected ';' after top level declarator}} expected-error {{pointers are unsupported in HLSL}} expected-warning {{declaration does not declare anything}} +typedef int (*fn_int_volatile)(int) volatile; // expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{expected ';' after top level declarator}} expected-error {{pointers are unsupported in HLSL}} expected-warning {{declaration does not declare anything}} void fn_throw() throw() { } // expected-error {{exception specification is unsupported in HLSL}} diff --git a/tools/clang/test/HLSL/rewriter/correct_rewrites/varmods-syntax_gold.hlsl b/tools/clang/test/HLSL/rewriter/correct_rewrites/varmods-syntax_gold.hlsl index b62daecb5c..2432bbcaae 100644 --- a/tools/clang/test/HLSL/rewriter/correct_rewrites/varmods-syntax_gold.hlsl +++ b/tools/clang/test/HLSL/rewriter/correct_rewrites/varmods-syntax_gold.hlsl @@ -37,11 +37,7 @@ precise uniform const float g_pre_uni_init = 1.F; static float g_sta_init = 1.F; static const float g_sta_con_init = 1.F; uniform const float g_uni_init = 1.F; -typedef volatile float2 t_pre_vol; -typedef const volatile float2 t_pre_vol_con; typedef const float2 t_pre_con; -typedef volatile float2 t_vol; -typedef const volatile float2 t_vol_con; typedef const float2 t_con; struct s_storage_mods { precise float2 f_pre; @@ -222,22 +218,12 @@ float4 foo_interpolation_different_decl(sample float4 val) { void vain() { precise float l_pre; static precise float l_pre_sta; - static precise volatile float l_pre_sta_vol; - static precise const volatile float l_pre_sta_vol_con; static precise const float l_pre_sta_con; - precise volatile float l_pre_vol; static float l_sta; - static volatile float l_sta_vol; - static const volatile float l_sta_vol_con; static const float l_sta_con; - volatile float l_vol; - static precise const volatile float l_pre_sta_vol_con_init = 0.; static precise const float l_pre_sta_con_init = 0.; - precise const volatile float l_pre_vol_con_init = 0.; precise const float l_pre_con_init = 0.; - static const volatile float l_sta_vol_con_init = 0.; static const float l_sta_con_init = 0.; - const volatile float l_vol_con_init = 0.; const float l_con_init = 0.; } diff --git a/tools/clang/test/HLSL/rewriter/varmods-syntax_noerr.hlsl b/tools/clang/test/HLSL/rewriter/varmods-syntax_noerr.hlsl index 0f8f143d00..9571f895d4 100644 --- a/tools/clang/test/HLSL/rewriter/varmods-syntax_noerr.hlsl +++ b/tools/clang/test/HLSL/rewriter/varmods-syntax_noerr.hlsl @@ -288,8 +288,8 @@ uniform float g_uni_init = 1.0f; //typedef precise uniform volatile float2 t_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ //typedef precise uniform volatile const float2 t_pre_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ //typedef precise uniform const float2 t_pre_uni_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ -typedef precise volatile float2 t_pre_vol; -typedef precise volatile const float2 t_pre_vol_con; +//typedef precise volatile float2 t_pre_vol; +//typedef precise volatile const float2 t_pre_vol_con; typedef precise const float2 t_pre_con; //typedef static float2 t_sta; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ //typedef static volatile float2 t_sta_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ @@ -299,8 +299,8 @@ typedef precise const float2 t_pre_con; //typedef uniform volatile float2 t_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ //typedef uniform volatile const float2 t_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ //typedef uniform const float2 t_uni_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ -typedef volatile float2 t_vol; -typedef volatile const float2 t_vol_con; +//typedef volatile float2 t_vol; +//typedef volatile const float2 t_vol_con; typedef const float2 t_con; // GENERATED_CODE:END @@ -668,25 +668,25 @@ void vain() { //extern const float l_ext_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_con': local variables cannot be declared 'extern'}} fxc-error {{X3012: 'l_ext_con': missing initial value}} */ precise float l_pre; precise static float l_pre_sta; - precise static volatile float l_pre_sta_vol; - precise static volatile const float l_pre_sta_vol_con; + //precise static volatile float l_pre_sta_vol; + //precise static volatile const float l_pre_sta_vol_con; precise static const float l_pre_sta_con; //precise uniform float l_pre_uni; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni': local variables cannot be declared 'uniform'}} */ //precise uniform volatile float l_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_vol': local variables cannot be declared 'uniform'}} */ //precise uniform volatile const float l_pre_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3012: 'l_pre_uni_vol_con': missing initial value}} fxc-error {{X3047: 'l_pre_uni_vol_con': local variables cannot be declared 'uniform'}} */ //precise uniform const float l_pre_uni_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3012: 'l_pre_uni_con': missing initial value}} fxc-error {{X3047: 'l_pre_uni_con': local variables cannot be declared 'uniform'}} */ - precise volatile float l_pre_vol; + //precise volatile float l_pre_vol; //precise volatile const float l_pre_vol_con; /* fxc-error {{X3012: 'l_pre_vol_con': missing initial value}} */ //precise const float l_pre_con; /* fxc-error {{X3012: 'l_pre_con': missing initial value}} */ static float l_sta; - static volatile float l_sta_vol; - static volatile const float l_sta_vol_con; + //static volatile float l_sta_vol; + //static volatile const float l_sta_vol_con; static const float l_sta_con; //uniform float l_uni; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni': local variables cannot be declared 'uniform'}} */ //uniform volatile float l_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_vol': local variables cannot be declared 'uniform'}} */ //uniform volatile const float l_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3012: 'l_uni_vol_con': missing initial value}} fxc-error {{X3047: 'l_uni_vol_con': local variables cannot be declared 'uniform'}} */ //uniform const float l_uni_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3012: 'l_uni_con': missing initial value}} fxc-error {{X3047: 'l_uni_con': local variables cannot be declared 'uniform'}} */ - volatile float l_vol; + //volatile float l_vol; //volatile const float l_vol_con; /* fxc-error {{X3012: 'l_vol_con': missing initial value}} */ //const float l_con; /* fxc-error {{X3012: 'l_con': missing initial value}} */ // GENERATED_CODE:END @@ -713,17 +713,17 @@ void vain() { //extern uniform const float l_ext_uni_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3012: 'l_ext_uni_con_init': missing initial value}} fxc-error {{X3047: 'l_ext_uni_con_init': local variables cannot be declared 'uniform'}} */ //extern volatile const float l_ext_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_vol_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3012: 'l_ext_vol_con_init': missing initial value}} */ //extern const float l_ext_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3012: 'l_ext_con_init': missing initial value}} */ - precise static volatile const float l_pre_sta_vol_con_init = 0.0; + //precise static volatile const float l_pre_sta_vol_con_init = 0.0; precise static const float l_pre_sta_con_init = 0.0; //precise uniform volatile const float l_pre_uni_vol_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3012: 'l_pre_uni_vol_con_init': missing initial value}} fxc-error {{X3047: 'l_pre_uni_vol_con_init': local variables cannot be declared 'uniform'}} */ //precise uniform const float l_pre_uni_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3012: 'l_pre_uni_con_init': missing initial value}} fxc-error {{X3047: 'l_pre_uni_con_init': local variables cannot be declared 'uniform'}} */ - precise volatile const float l_pre_vol_con_init = 0.0; + //precise volatile const float l_pre_vol_con_init = 0.0; precise const float l_pre_con_init = 0.0; - static volatile const float l_sta_vol_con_init = 0.0; + //static volatile const float l_sta_vol_con_init = 0.0; static const float l_sta_con_init = 0.0; //uniform volatile const float l_uni_vol_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3012: 'l_uni_vol_con_init': missing initial value}} fxc-error {{X3047: 'l_uni_vol_con_init': local variables cannot be declared 'uniform'}} */ //uniform const float l_uni_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3012: 'l_uni_con_init': missing initial value}} fxc-error {{X3047: 'l_uni_con_init': local variables cannot be declared 'uniform'}} */ - volatile const float l_vol_con_init = 0.0; + //volatile const float l_vol_con_init = 0.0; const float l_con_init = 0.0; // GENERATED_CODE:END @@ -969,4 +969,4 @@ class C //out float fn_out() { return 1.0f; } /* expected-error {{HLSL usage 'out' is only valid on a parameter}} fxc-error {{X3000: syntax error: unexpected token 'out'}} */ //inout float fn_inout() { return 1.0f; } /* expected-error {{HLSL usage 'inout' is only valid on a parameter}} fxc-error {{X3000: syntax error: unexpected token 'inout'}} */ -}; \ No newline at end of file +}; diff --git a/tools/clang/test/HLSLFileCheck/hlsl/types/conversions/varmods-syntax_Mod.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/types/conversions/varmods-syntax_Mod.hlsl index fa2c367051..d7990fa93e 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/types/conversions/varmods-syntax_Mod.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/types/conversions/varmods-syntax_Mod.hlsl @@ -127,11 +127,11 @@ const float g_con_init = 1.0f; /* fxc-warning {{X32 // modify(lines, gen_code('typedef %(mods)s float2 t_%(id)s;', storage_combos)) // GENERATED_CODE:BEGIN typedef precise float2 t_pre; -typedef precise volatile float2 t_pre_vol; -typedef precise volatile const float2 t_pre_vol_con; +//typedef precise volatile float2 t_pre_vol; +//typedef precise volatile const float2 t_pre_vol_con; typedef precise const float2 t_pre_con; -typedef volatile float2 t_vol; -typedef volatile const float2 t_vol_con; +//typedef volatile float2 t_vol; +//typedef volatile const float2 t_vol_con; typedef const float2 t_con; // GENERATED_CODE:END @@ -294,26 +294,26 @@ void main() { // GENERATED_CODE:BEGIN precise float l_pre; precise static float l_pre_sta; - precise static volatile float l_pre_sta_vol; - precise static volatile const float l_pre_sta_vol_con; + //precise static volatile float l_pre_sta_vol; + //precise static volatile const float l_pre_sta_vol_con; precise static const float l_pre_sta_con; - precise volatile float l_pre_vol; + //precise volatile float l_pre_vol; static float l_sta; - static volatile float l_sta_vol; - static volatile const float l_sta_vol_con; + //static volatile float l_sta_vol; + //static volatile const float l_sta_vol_con; static const float l_sta_con; - volatile float l_vol; + //volatile float l_vol; // GENERATED_CODE:END // Now with const vars initialized: // modify(lines, gen_code('%(mods)s float l_%(id)s_init = 0.0;', filter(lambda combo: 'const' in combo, storage_combos))) // GENERATED_CODE:BEGIN - precise static volatile const float l_pre_sta_vol_con_init = 0.0; + //precise static volatile const float l_pre_sta_vol_con_init = 0.0; precise static const float l_pre_sta_con_init = 0.0; - precise volatile const float l_pre_vol_con_init = 0.0; + //precise volatile const float l_pre_vol_con_init = 0.0; precise const float l_pre_con_init = 0.0; - static volatile const float l_sta_vol_con_init = 0.0; + //static volatile const float l_sta_vol_con_init = 0.0; static const float l_sta_con_init = 0.0; - volatile const float l_vol_con_init = 0.0; + //volatile const float l_vol_con_init = 0.0; const float l_con_init = 0.0; // GENERATED_CODE:END @@ -378,4 +378,4 @@ class C // GENERATED_CODE:END -}; \ No newline at end of file +}; diff --git a/tools/clang/test/SemaHLSL/varmods-syntax.hlsl b/tools/clang/test/SemaHLSL/varmods-syntax.hlsl index 17fa7cd810..b6788f4234 100644 --- a/tools/clang/test/SemaHLSL/varmods-syntax.hlsl +++ b/tools/clang/test/SemaHLSL/varmods-syntax.hlsl @@ -69,65 +69,65 @@ static uniform float2 g_sta_uni; /* expected-error {{ groupshared float2 g_gro; groupshared precise float2 g_gro_pre; groupshared precise static float2 g_gro_pre_sta; -groupshared precise static volatile float2 g_gro_pre_sta_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_sta_vol': global variables cannot be declared 'volatile'}} */ -groupshared precise static volatile const float2 g_gro_pre_sta_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_sta_vol_con': global variables cannot be declared 'volatile'}} */ +groupshared precise static volatile float2 g_gro_pre_sta_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_sta_vol': global variables cannot be declared 'volatile'}} */ +groupshared precise static volatile const float2 g_gro_pre_sta_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_sta_vol_con': global variables cannot be declared 'volatile'}} */ groupshared precise static const float2 g_gro_pre_sta_con; /* fxc-error {{X3012: 'g_gro_pre_sta_con': missing initial value}} */ groupshared precise uniform float2 g_gro_pre_uni; /* fxc-error {{X3010: 'g_gro_pre_uni': uniform global variables cannot be declared 'groupshared'}} */ -groupshared precise uniform volatile float2 g_gro_pre_uni_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_uni_vol': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_pre_uni_vol': uniform global variables cannot be declared 'groupshared'}} */ -groupshared precise uniform volatile const float2 g_gro_pre_uni_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_uni_vol_con': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_pre_uni_vol_con': uniform global variables cannot be declared 'groupshared'}} */ +groupshared precise uniform volatile float2 g_gro_pre_uni_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_uni_vol': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_pre_uni_vol': uniform global variables cannot be declared 'groupshared'}} */ +groupshared precise uniform volatile const float2 g_gro_pre_uni_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_uni_vol_con': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_pre_uni_vol_con': uniform global variables cannot be declared 'groupshared'}} */ groupshared precise uniform const float2 g_gro_pre_uni_con; /* fxc-error {{X3010: 'g_gro_pre_uni_con': uniform global variables cannot be declared 'groupshared'}} */ -groupshared precise volatile float2 g_gro_pre_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_vol': global variables cannot be declared 'volatile'}} */ -groupshared precise volatile const float2 g_gro_pre_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_vol_con': global variables cannot be declared 'volatile'}} */ +groupshared precise volatile float2 g_gro_pre_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_vol': global variables cannot be declared 'volatile'}} */ +groupshared precise volatile const float2 g_gro_pre_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_vol_con': global variables cannot be declared 'volatile'}} */ groupshared precise const float2 g_gro_pre_con; /* fxc-error {{X3012: 'g_gro_pre_con': missing initial value}} */ groupshared static float2 g_gro_sta; -groupshared static volatile float2 g_gro_sta_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_sta_vol': global variables cannot be declared 'volatile'}} */ -groupshared static volatile const float2 g_gro_sta_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_sta_vol_con': global variables cannot be declared 'volatile'}} */ +groupshared static volatile float2 g_gro_sta_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_sta_vol': global variables cannot be declared 'volatile'}} */ +groupshared static volatile const float2 g_gro_sta_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_sta_vol_con': global variables cannot be declared 'volatile'}} */ groupshared static const float2 g_gro_sta_con; /* fxc-error {{X3012: 'g_gro_sta_con': missing initial value}} */ groupshared uniform float2 g_gro_uni; /* fxc-error {{X3010: 'g_gro_uni': uniform global variables cannot be declared 'groupshared'}} */ -groupshared uniform volatile float2 g_gro_uni_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_uni_vol': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_uni_vol': uniform global variables cannot be declared 'groupshared'}} */ -groupshared uniform volatile const float2 g_gro_uni_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_uni_vol_con': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_uni_vol_con': uniform global variables cannot be declared 'groupshared'}} */ +groupshared uniform volatile float2 g_gro_uni_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_uni_vol': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_uni_vol': uniform global variables cannot be declared 'groupshared'}} */ +groupshared uniform volatile const float2 g_gro_uni_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_uni_vol_con': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_uni_vol_con': uniform global variables cannot be declared 'groupshared'}} */ groupshared uniform const float2 g_gro_uni_con; /* fxc-error {{X3010: 'g_gro_uni_con': uniform global variables cannot be declared 'groupshared'}} */ -groupshared volatile float2 g_gro_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_vol': global variables cannot be declared 'volatile'}} */ -groupshared volatile const float2 g_gro_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_vol_con': global variables cannot be declared 'volatile'}} */ +groupshared volatile float2 g_gro_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_vol': global variables cannot be declared 'volatile'}} */ +groupshared volatile const float2 g_gro_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_vol_con': global variables cannot be declared 'volatile'}} */ groupshared const float2 g_gro_con; /* fxc-error {{X3012: 'g_gro_con': missing initial value}} */ extern float2 g_ext; extern precise float2 g_ext_pre; extern precise uniform float2 g_ext_pre_uni; -extern precise uniform volatile float2 g_ext_pre_uni_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_pre_uni_vol': global variables cannot be declared 'volatile'}} */ -extern precise uniform volatile const float2 g_ext_pre_uni_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_pre_uni_vol_con': global variables cannot be declared 'volatile'}} */ +extern precise uniform volatile float2 g_ext_pre_uni_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_pre_uni_vol': global variables cannot be declared 'volatile'}} */ +extern precise uniform volatile const float2 g_ext_pre_uni_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_pre_uni_vol_con': global variables cannot be declared 'volatile'}} */ extern precise uniform const float2 g_ext_pre_uni_con; -extern precise volatile float2 g_ext_pre_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_pre_vol': global variables cannot be declared 'volatile'}} */ -extern precise volatile const float2 g_ext_pre_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_pre_vol_con': global variables cannot be declared 'volatile'}} */ +extern precise volatile float2 g_ext_pre_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_pre_vol': global variables cannot be declared 'volatile'}} */ +extern precise volatile const float2 g_ext_pre_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_pre_vol_con': global variables cannot be declared 'volatile'}} */ extern precise const float2 g_ext_pre_con; extern uniform float2 g_ext_uni; -extern uniform volatile float2 g_ext_uni_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_uni_vol': global variables cannot be declared 'volatile'}} */ -extern uniform volatile const float2 g_ext_uni_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_uni_vol_con': global variables cannot be declared 'volatile'}} */ +extern uniform volatile float2 g_ext_uni_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_uni_vol': global variables cannot be declared 'volatile'}} */ +extern uniform volatile const float2 g_ext_uni_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_uni_vol_con': global variables cannot be declared 'volatile'}} */ extern uniform const float2 g_ext_uni_con; -extern volatile float2 g_ext_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_vol': global variables cannot be declared 'volatile'}} */ -extern volatile const float2 g_ext_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_vol_con': global variables cannot be declared 'volatile'}} */ +extern volatile float2 g_ext_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_vol': global variables cannot be declared 'volatile'}} */ +extern volatile const float2 g_ext_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_vol_con': global variables cannot be declared 'volatile'}} */ extern const float2 g_ext_con; precise float2 g_pre; precise static float2 g_pre_sta; -precise static volatile float2 g_pre_sta_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_sta_vol': global variables cannot be declared 'volatile'}} */ -precise static volatile const float2 g_pre_sta_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_sta_vol_con': global variables cannot be declared 'volatile'}} */ +precise static volatile float2 g_pre_sta_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_sta_vol': global variables cannot be declared 'volatile'}} */ +precise static volatile const float2 g_pre_sta_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_sta_vol_con': global variables cannot be declared 'volatile'}} */ precise static const float2 g_pre_sta_con; precise uniform float2 g_pre_uni; -precise uniform volatile float2 g_pre_uni_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_uni_vol': global variables cannot be declared 'volatile'}} */ -precise uniform volatile const float2 g_pre_uni_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_uni_vol_con': global variables cannot be declared 'volatile'}} */ +precise uniform volatile float2 g_pre_uni_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_uni_vol': global variables cannot be declared 'volatile'}} */ +precise uniform volatile const float2 g_pre_uni_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_uni_vol_con': global variables cannot be declared 'volatile'}} */ precise uniform const float2 g_pre_uni_con; -precise volatile float2 g_pre_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_vol': global variables cannot be declared 'volatile'}} */ -precise volatile const float2 g_pre_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_vol_con': global variables cannot be declared 'volatile'}} */ +precise volatile float2 g_pre_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_vol': global variables cannot be declared 'volatile'}} */ +precise volatile const float2 g_pre_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_vol_con': global variables cannot be declared 'volatile'}} */ precise const float2 g_pre_con; static float2 g_sta; -static volatile float2 g_sta_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_sta_vol': global variables cannot be declared 'volatile'}} */ -static volatile const float2 g_sta_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_sta_vol_con': global variables cannot be declared 'volatile'}} */ +static volatile float2 g_sta_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_sta_vol': global variables cannot be declared 'volatile'}} */ +static volatile const float2 g_sta_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_sta_vol_con': global variables cannot be declared 'volatile'}} */ static const float2 g_sta_con; uniform float2 g_uni; -uniform volatile float2 g_uni_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_uni_vol': global variables cannot be declared 'volatile'}} */ -uniform volatile const float2 g_uni_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_uni_vol_con': global variables cannot be declared 'volatile'}} */ +uniform volatile float2 g_uni_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_uni_vol': global variables cannot be declared 'volatile'}} */ +uniform volatile const float2 g_uni_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_uni_vol_con': global variables cannot be declared 'volatile'}} */ uniform const float2 g_uni_con; -volatile float2 g_vol; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_vol': global variables cannot be declared 'volatile'}} */ -volatile const float2 g_vol_con; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_vol_con': global variables cannot be declared 'volatile'}} */ +volatile float2 g_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_vol': global variables cannot be declared 'volatile'}} */ +volatile const float2 g_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_vol_con': global variables cannot be declared 'volatile'}} */ const float2 g_con; // GENERATED_CODE:END @@ -140,65 +140,65 @@ static uniform float g_sta_uni_init = 1.0f; /* expected-error {{ groupshared float g_gro_init = 1.0f; groupshared precise float g_gro_pre_init = 1.0f; groupshared precise static float g_gro_pre_sta_init = 1.0f; -groupshared precise static volatile float g_gro_pre_sta_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_sta_vol_init': global variables cannot be declared 'volatile'}} */ -groupshared precise static volatile const float g_gro_pre_sta_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_sta_vol_con_init': global variables cannot be declared 'volatile'}} */ +groupshared precise static volatile float g_gro_pre_sta_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_sta_vol_init': global variables cannot be declared 'volatile'}} */ +groupshared precise static volatile const float g_gro_pre_sta_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_sta_vol_con_init': global variables cannot be declared 'volatile'}} */ groupshared precise static const float g_gro_pre_sta_con_init = 1.0f; groupshared precise uniform float g_gro_pre_uni_init = 1.0f; /* fxc-error {{X3010: 'g_gro_pre_uni_init': uniform global variables cannot be declared 'groupshared'}} */ -groupshared precise uniform volatile float g_gro_pre_uni_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_uni_vol_init': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_pre_uni_vol_init': uniform global variables cannot be declared 'groupshared'}} */ -groupshared precise uniform volatile const float g_gro_pre_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_uni_vol_con_init': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_pre_uni_vol_con_init': uniform global variables cannot be declared 'groupshared'}} */ +groupshared precise uniform volatile float g_gro_pre_uni_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_uni_vol_init': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_pre_uni_vol_init': uniform global variables cannot be declared 'groupshared'}} */ +groupshared precise uniform volatile const float g_gro_pre_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_uni_vol_con_init': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_pre_uni_vol_con_init': uniform global variables cannot be declared 'groupshared'}} */ groupshared precise uniform const float g_gro_pre_uni_con_init = 1.0f; /* fxc-error {{X3010: 'g_gro_pre_uni_con_init': uniform global variables cannot be declared 'groupshared'}} */ -groupshared precise volatile float g_gro_pre_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_vol_init': global variables cannot be declared 'volatile'}} */ -groupshared precise volatile const float g_gro_pre_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_pre_vol_con_init': global variables cannot be declared 'volatile'}} */ +groupshared precise volatile float g_gro_pre_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_vol_init': global variables cannot be declared 'volatile'}} */ +groupshared precise volatile const float g_gro_pre_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_pre_vol_con_init': global variables cannot be declared 'volatile'}} */ groupshared precise const float g_gro_pre_con_init = 1.0f; groupshared static float g_gro_sta_init = 1.0f; -groupshared static volatile float g_gro_sta_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_sta_vol_init': global variables cannot be declared 'volatile'}} */ -groupshared static volatile const float g_gro_sta_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_sta_vol_con_init': global variables cannot be declared 'volatile'}} */ +groupshared static volatile float g_gro_sta_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_sta_vol_init': global variables cannot be declared 'volatile'}} */ +groupshared static volatile const float g_gro_sta_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_sta_vol_con_init': global variables cannot be declared 'volatile'}} */ groupshared static const float g_gro_sta_con_init = 1.0f; groupshared uniform float g_gro_uni_init = 1.0f; /* fxc-error {{X3010: 'g_gro_uni_init': uniform global variables cannot be declared 'groupshared'}} */ -groupshared uniform volatile float g_gro_uni_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_uni_vol_init': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_uni_vol_init': uniform global variables cannot be declared 'groupshared'}} */ -groupshared uniform volatile const float g_gro_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_uni_vol_con_init': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_uni_vol_con_init': uniform global variables cannot be declared 'groupshared'}} */ +groupshared uniform volatile float g_gro_uni_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_uni_vol_init': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_uni_vol_init': uniform global variables cannot be declared 'groupshared'}} */ +groupshared uniform volatile const float g_gro_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_uni_vol_con_init': global variables cannot be declared 'volatile'}} fxc-error {{X3010: 'g_gro_uni_vol_con_init': uniform global variables cannot be declared 'groupshared'}} */ groupshared uniform const float g_gro_uni_con_init = 1.0f; /* fxc-error {{X3010: 'g_gro_uni_con_init': uniform global variables cannot be declared 'groupshared'}} */ -groupshared volatile float g_gro_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_vol_init': global variables cannot be declared 'volatile'}} */ -groupshared volatile const float g_gro_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_gro_vol_con_init': global variables cannot be declared 'volatile'}} */ +groupshared volatile float g_gro_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_vol_init': global variables cannot be declared 'volatile'}} */ +groupshared volatile const float g_gro_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_gro_vol_con_init': global variables cannot be declared 'volatile'}} */ groupshared const float g_gro_con_init = 1.0f; extern float g_ext_init = 1.0f; /* expected-warning {{'extern' variable has an initializer}} fxc-pass {{}} */ extern precise float g_ext_pre_init = 1.0f; /* expected-warning {{'extern' variable has an initializer}} fxc-pass {{}} */ extern precise uniform float g_ext_pre_uni_init = 1.0f; /* expected-warning {{'extern' variable has an initializer}} fxc-pass {{}} */ -extern precise uniform volatile float g_ext_pre_uni_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_pre_uni_vol_init': global variables cannot be declared 'volatile'}} */ -extern precise uniform volatile const float g_ext_pre_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_pre_uni_vol_con_init': global variables cannot be declared 'volatile'}} */ +extern precise uniform volatile float g_ext_pre_uni_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_pre_uni_vol_init': global variables cannot be declared 'volatile'}} expected-warning {{'extern' variable has an initializer}} */ +extern precise uniform volatile const float g_ext_pre_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_pre_uni_vol_con_init': global variables cannot be declared 'volatile'}} expected-warning {{'extern' variable has an initializer}} */ extern precise uniform const float g_ext_pre_uni_con_init = 1.0f; /* expected-warning {{'extern' variable has an initializer}} fxc-warning {{X3207: Initializer used on a global 'const' variable. This requires setting an external constant. If a literal is desired, use 'static const' instead.}} */ -extern precise volatile float g_ext_pre_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_pre_vol_init': global variables cannot be declared 'volatile'}} */ -extern precise volatile const float g_ext_pre_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_pre_vol_con_init': global variables cannot be declared 'volatile'}} */ +extern precise volatile float g_ext_pre_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_pre_vol_init': global variables cannot be declared 'volatile'}} expected-warning {{'extern' variable has an initializer}} */ +extern precise volatile const float g_ext_pre_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_pre_vol_con_init': global variables cannot be declared 'volatile'}} expected-warning {{'extern' variable has an initializer}} */ extern precise const float g_ext_pre_con_init = 1.0f; /* expected-warning {{'extern' variable has an initializer}} fxc-warning {{X3207: Initializer used on a global 'const' variable. This requires setting an external constant. If a literal is desired, use 'static const' instead.}} */ extern uniform float g_ext_uni_init = 1.0f; /* expected-warning {{'extern' variable has an initializer}} fxc-pass {{}} */ -extern uniform volatile float g_ext_uni_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_uni_vol_init': global variables cannot be declared 'volatile'}} */ -extern uniform volatile const float g_ext_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_uni_vol_con_init': global variables cannot be declared 'volatile'}} */ +extern uniform volatile float g_ext_uni_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_uni_vol_init': global variables cannot be declared 'volatile'}} expected-warning {{'extern' variable has an initializer}} */ +extern uniform volatile const float g_ext_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_uni_vol_con_init': global variables cannot be declared 'volatile'}} expected-warning {{'extern' variable has an initializer}} */ extern uniform const float g_ext_uni_con_init = 1.0f; /* expected-warning {{'extern' variable has an initializer}} fxc-warning {{X3207: Initializer used on a global 'const' variable. This requires setting an external constant. If a literal is desired, use 'static const' instead.}} */ -extern volatile float g_ext_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_vol_init': global variables cannot be declared 'volatile'}} */ -extern volatile const float g_ext_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_ext_vol_con_init': global variables cannot be declared 'volatile'}} */ +extern volatile float g_ext_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_vol_init': global variables cannot be declared 'volatile'}} expected-warning {{'extern' variable has an initializer}} */ +extern volatile const float g_ext_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_ext_vol_con_init': global variables cannot be declared 'volatile'}} expected-warning {{'extern' variable has an initializer}} */ extern const float g_ext_con_init = 1.0f; /* expected-warning {{'extern' variable has an initializer}} fxc-warning {{X3207: Initializer used on a global 'const' variable. This requires setting an external constant. If a literal is desired, use 'static const' instead.}} */ precise float g_pre_init = 1.0f; precise static float g_pre_sta_init = 1.0f; -precise static volatile float g_pre_sta_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_sta_vol_init': global variables cannot be declared 'volatile'}} */ -precise static volatile const float g_pre_sta_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_sta_vol_con_init': global variables cannot be declared 'volatile'}} */ +precise static volatile float g_pre_sta_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_sta_vol_init': global variables cannot be declared 'volatile'}} */ +precise static volatile const float g_pre_sta_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_sta_vol_con_init': global variables cannot be declared 'volatile'}} */ precise static const float g_pre_sta_con_init = 1.0f; precise uniform float g_pre_uni_init = 1.0f; -precise uniform volatile float g_pre_uni_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_uni_vol_init': global variables cannot be declared 'volatile'}} */ -precise uniform volatile const float g_pre_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_uni_vol_con_init': global variables cannot be declared 'volatile'}} */ +precise uniform volatile float g_pre_uni_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_uni_vol_init': global variables cannot be declared 'volatile'}} */ +precise uniform volatile const float g_pre_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_uni_vol_con_init': global variables cannot be declared 'volatile'}} */ precise uniform const float g_pre_uni_con_init = 1.0f; /* fxc-warning {{X3207: Initializer used on a global 'const' variable. This requires setting an external constant. If a literal is desired, use 'static const' instead.}} */ -precise volatile float g_pre_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_vol_init': global variables cannot be declared 'volatile'}} */ -precise volatile const float g_pre_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_pre_vol_con_init': global variables cannot be declared 'volatile'}} */ +precise volatile float g_pre_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_vol_init': global variables cannot be declared 'volatile'}} */ +precise volatile const float g_pre_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_pre_vol_con_init': global variables cannot be declared 'volatile'}} */ precise const float g_pre_con_init = 1.0f; /* fxc-warning {{X3207: Initializer used on a global 'const' variable. This requires setting an external constant. If a literal is desired, use 'static const' instead.}} */ static float g_sta_init = 1.0f; -static volatile float g_sta_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_sta_vol_init': global variables cannot be declared 'volatile'}} */ -static volatile const float g_sta_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_sta_vol_con_init': global variables cannot be declared 'volatile'}} */ +static volatile float g_sta_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_sta_vol_init': global variables cannot be declared 'volatile'}} */ +static volatile const float g_sta_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_sta_vol_con_init': global variables cannot be declared 'volatile'}} */ static const float g_sta_con_init = 1.0f; uniform float g_uni_init = 1.0f; -uniform volatile float g_uni_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_uni_vol_init': global variables cannot be declared 'volatile'}} */ -uniform volatile const float g_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_uni_vol_con_init': global variables cannot be declared 'volatile'}} */ +uniform volatile float g_uni_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_uni_vol_init': global variables cannot be declared 'volatile'}} */ +uniform volatile const float g_uni_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_uni_vol_con_init': global variables cannot be declared 'volatile'}} */ uniform const float g_uni_con_init = 1.0f; /* fxc-warning {{X3207: Initializer used on a global 'const' variable. This requires setting an external constant. If a literal is desired, use 'static const' instead.}} */ -volatile float g_vol_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_vol_init': global variables cannot be declared 'volatile'}} */ -volatile const float g_vol_con_init = 1.0f; /* expected-error {{'volatile' is not a valid modifier for a global variable}} fxc-error {{X3008: 'g_vol_con_init': global variables cannot be declared 'volatile'}} */ +volatile float g_vol_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_vol_init': global variables cannot be declared 'volatile'}} */ +volatile const float g_vol_con_init = 1.0f; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'g_vol_con_init': global variables cannot be declared 'volatile'}} */ const float g_con_init = 1.0f; /* fxc-warning {{X3207: Initializer used on a global 'const' variable. This requires setting an external constant. If a literal is desired, use 'static const' instead.}} */ // GENERATED_CODE:END @@ -262,65 +262,65 @@ typedef static uniform float2 t_sta_uni; /* expected-error {{ typedef groupshared float2 t_gro; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ typedef groupshared precise float2 t_gro_pre; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ typedef groupshared precise static float2 t_gro_pre_sta; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared precise static volatile float2 t_gro_pre_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared precise static volatile const float2 t_gro_pre_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ +typedef groupshared precise static volatile float2 t_gro_pre_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef groupshared precise static volatile const float2 t_gro_pre_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef groupshared precise static const float2 t_gro_pre_sta_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ typedef groupshared precise uniform float2 t_gro_pre_uni; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared precise uniform volatile float2 t_gro_pre_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared precise uniform volatile const float2 t_gro_pre_uni_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ +typedef groupshared precise uniform volatile float2 t_gro_pre_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef groupshared precise uniform volatile const float2 t_gro_pre_uni_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef groupshared precise uniform const float2 t_gro_pre_uni_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared precise volatile float2 t_gro_pre_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared precise volatile const float2 t_gro_pre_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ +typedef groupshared precise volatile float2 t_gro_pre_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef groupshared precise volatile const float2 t_gro_pre_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef groupshared precise const float2 t_gro_pre_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ typedef groupshared static float2 t_gro_sta; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared static volatile float2 t_gro_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared static volatile const float2 t_gro_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ +typedef groupshared static volatile float2 t_gro_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef groupshared static volatile const float2 t_gro_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef groupshared static const float2 t_gro_sta_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ typedef groupshared uniform float2 t_gro_uni; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared uniform volatile float2 t_gro_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared uniform volatile const float2 t_gro_uni_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ +typedef groupshared uniform volatile float2 t_gro_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef groupshared uniform volatile const float2 t_gro_uni_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef groupshared uniform const float2 t_gro_uni_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared volatile float2 t_gro_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ -typedef groupshared volatile const float2 t_gro_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ +typedef groupshared volatile float2 t_gro_vol; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef groupshared volatile const float2 t_gro_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef groupshared const float2 t_gro_con; /* expected-error {{'groupshared' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} */ typedef extern float2 t_ext; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ typedef extern precise float2 t_ext_pre; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ typedef extern precise uniform float2 t_ext_pre_uni; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ -typedef extern precise uniform volatile float2 t_ext_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ -typedef extern precise uniform volatile const float2 t_ext_pre_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ +typedef extern precise uniform volatile float2 t_ext_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef extern precise uniform volatile const float2 t_ext_pre_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef extern precise uniform const float2 t_ext_pre_uni_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ -typedef extern precise volatile float2 t_ext_pre_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ -typedef extern precise volatile const float2 t_ext_pre_vol_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ +typedef extern precise volatile float2 t_ext_pre_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef extern precise volatile const float2 t_ext_pre_vol_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef extern precise const float2 t_ext_pre_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ typedef extern uniform float2 t_ext_uni; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ -typedef extern uniform volatile float2 t_ext_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ -typedef extern uniform volatile const float2 t_ext_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ +typedef extern uniform volatile float2 t_ext_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef extern uniform volatile const float2 t_ext_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef extern uniform const float2 t_ext_uni_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ -typedef extern volatile float2 t_ext_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ -typedef extern volatile const float2 t_ext_vol_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ +typedef extern volatile float2 t_ext_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef extern volatile const float2 t_ext_vol_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef extern const float2 t_ext_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} */ typedef precise float2 t_pre; typedef precise static float2 t_pre_sta; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ -typedef precise static volatile float2 t_pre_sta_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ -typedef precise static volatile const float2 t_pre_sta_vol_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ +typedef precise static volatile float2 t_pre_sta_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef precise static volatile const float2 t_pre_sta_vol_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef precise static const float2 t_pre_sta_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ typedef precise uniform float2 t_pre_uni; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ -typedef precise uniform volatile float2 t_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ -typedef precise uniform volatile const float2 t_pre_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ +typedef precise uniform volatile float2 t_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef precise uniform volatile const float2 t_pre_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef precise uniform const float2 t_pre_uni_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ -typedef precise volatile float2 t_pre_vol; -typedef precise volatile const float2 t_pre_vol_con; +typedef precise volatile float2 t_pre_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef precise volatile const float2 t_pre_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef precise const float2 t_pre_con; typedef static float2 t_sta; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ -typedef static volatile float2 t_sta_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ -typedef static volatile const float2 t_sta_vol_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ +typedef static volatile float2 t_sta_vol; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef static volatile const float2 t_sta_vol_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef static const float2 t_sta_con; /* expected-error {{cannot combine with previous 'typedef' declaration specifier}} fxc-error {{X3000: syntax error: unexpected token 'static'}} */ typedef uniform float2 t_uni; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ -typedef uniform volatile float2 t_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ -typedef uniform volatile const float2 t_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ +typedef uniform volatile float2 t_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef uniform volatile const float2 t_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef uniform const float2 t_uni_con; /* expected-error {{'uniform' is not a valid modifier for a typedef}} fxc-error {{X3000: syntax error: unexpected token 'uniform'}} */ -typedef volatile float2 t_vol; -typedef volatile const float2 t_vol_con; +typedef volatile float2 t_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ +typedef volatile const float2 t_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ typedef const float2 t_con; // GENERATED_CODE:END @@ -380,65 +380,65 @@ struct s_storage_mods { groupshared float2 f_gro; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3010: 'f_gro': struct/class members cannot be declared 'groupshared'}} */ groupshared precise float2 f_gro_pre; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3010: 'f_gro_pre': struct/class members cannot be declared 'groupshared'}} */ groupshared precise static float2 f_gro_pre_sta; /* expected-error {{'groupshared' is not a valid modifier for a field}} fxc-error {{X3010: 'f_gro_pre_sta': struct/class members cannot be declared 'groupshared'}} */ - groupshared precise static volatile float2 f_gro_pre_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_gro_pre_sta_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_sta_vol': struct/class members cannot be declared 'groupshared'}} */ - groupshared precise static volatile const float2 f_gro_pre_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_gro_pre_sta_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_sta_vol_con': struct/class members cannot be declared 'groupshared'}} */ + groupshared precise static volatile float2 f_gro_pre_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_gro_pre_sta_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_sta_vol': struct/class members cannot be declared 'groupshared'}} */ + groupshared precise static volatile const float2 f_gro_pre_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_gro_pre_sta_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_sta_vol_con': struct/class members cannot be declared 'groupshared'}} */ groupshared precise static const float2 f_gro_pre_sta_con; /* expected-error {{'groupshared' is not a valid modifier for a field}} fxc-error {{X3010: 'f_gro_pre_sta_con': struct/class members cannot be declared 'groupshared'}} */ groupshared precise uniform float2 f_gro_pre_uni; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3010: 'f_gro_pre_uni': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3047: 'f_gro_pre_uni': struct/class members cannot be declared 'uniform'}} */ - groupshared precise uniform volatile float2 f_gro_pre_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_gro_pre_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_uni_vol': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3047: 'f_gro_pre_uni_vol': struct/class members cannot be declared 'uniform'}} */ - groupshared precise uniform volatile const float2 f_gro_pre_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_gro_pre_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_uni_vol_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_pre_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_gro_pre_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ + groupshared precise uniform volatile float2 f_gro_pre_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_gro_pre_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_uni_vol': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3047: 'f_gro_pre_uni_vol': struct/class members cannot be declared 'uniform'}} */ + groupshared precise uniform volatile const float2 f_gro_pre_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_gro_pre_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_uni_vol_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_pre_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_gro_pre_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ groupshared precise uniform const float2 f_gro_pre_uni_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3010: 'f_gro_pre_uni_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_pre_uni_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_gro_pre_uni_con': struct/class members cannot be declared 'uniform'}} */ - groupshared precise volatile float2 f_gro_pre_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3008: 'f_gro_pre_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_vol': struct/class members cannot be declared 'groupshared'}} */ - groupshared precise volatile const float2 f_gro_pre_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3008: 'f_gro_pre_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_vol_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_pre_vol_con': struct/class members cannot be declared 'const'}} */ + groupshared precise volatile float2 f_gro_pre_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3008: 'f_gro_pre_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_vol': struct/class members cannot be declared 'groupshared'}} */ + groupshared precise volatile const float2 f_gro_pre_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3008: 'f_gro_pre_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_pre_vol_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_pre_vol_con': struct/class members cannot be declared 'const'}} */ groupshared precise const float2 f_gro_pre_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3010: 'f_gro_pre_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_pre_con': struct/class members cannot be declared 'const'}} */ groupshared static float2 f_gro_sta; /* expected-error {{'groupshared' is not a valid modifier for a field}} fxc-error {{X3010: 'f_gro_sta': struct/class members cannot be declared 'groupshared'}} */ - groupshared static volatile float2 f_gro_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_gro_sta_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_sta_vol': struct/class members cannot be declared 'groupshared'}} */ - groupshared static volatile const float2 f_gro_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_gro_sta_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_sta_vol_con': struct/class members cannot be declared 'groupshared'}} */ + groupshared static volatile float2 f_gro_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_gro_sta_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_sta_vol': struct/class members cannot be declared 'groupshared'}} */ + groupshared static volatile const float2 f_gro_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_gro_sta_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_sta_vol_con': struct/class members cannot be declared 'groupshared'}} */ groupshared static const float2 f_gro_sta_con; /* expected-error {{'groupshared' is not a valid modifier for a field}} fxc-error {{X3010: 'f_gro_sta_con': struct/class members cannot be declared 'groupshared'}} */ groupshared uniform float2 f_gro_uni; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3010: 'f_gro_uni': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3047: 'f_gro_uni': struct/class members cannot be declared 'uniform'}} */ - groupshared uniform volatile float2 f_gro_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_gro_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_uni_vol': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3047: 'f_gro_uni_vol': struct/class members cannot be declared 'uniform'}} */ - groupshared uniform volatile const float2 f_gro_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_gro_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_uni_vol_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_gro_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ + groupshared uniform volatile float2 f_gro_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_gro_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_uni_vol': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3047: 'f_gro_uni_vol': struct/class members cannot be declared 'uniform'}} */ + groupshared uniform volatile const float2 f_gro_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_gro_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_uni_vol_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_gro_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ groupshared uniform const float2 f_gro_uni_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3010: 'f_gro_uni_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_uni_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_gro_uni_con': struct/class members cannot be declared 'uniform'}} */ - groupshared volatile float2 f_gro_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3008: 'f_gro_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_vol': struct/class members cannot be declared 'groupshared'}} */ - groupshared volatile const float2 f_gro_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3008: 'f_gro_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_vol_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_vol_con': struct/class members cannot be declared 'const'}} */ + groupshared volatile float2 f_gro_vol; /* expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3008: 'f_gro_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_vol': struct/class members cannot be declared 'groupshared'}} */ + groupshared volatile const float2 f_gro_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3008: 'f_gro_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3010: 'f_gro_vol_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_vol_con': struct/class members cannot be declared 'const'}} */ groupshared const float2 f_gro_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'groupshared' is not a valid modifier for a field}} expected-warning {{'groupshared' attribute only applies to variables}} fxc-error {{X3010: 'f_gro_con': struct/class members cannot be declared 'groupshared'}} fxc-error {{X3035: 'f_gro_con': struct/class members cannot be declared 'const'}} */ extern float2 f_ext; /* expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext': struct/class members cannot be declared 'extern'}} */ extern precise float2 f_ext_pre; /* expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_pre': struct/class members cannot be declared 'extern'}} */ extern precise uniform float2 f_ext_pre_uni; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_pre_uni': struct/class members cannot be declared 'extern'}} fxc-error {{X3047: 'f_ext_pre_uni': struct/class members cannot be declared 'uniform'}} */ - extern precise uniform volatile float2 f_ext_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_pre_uni_vol': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_pre_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3047: 'f_ext_pre_uni_vol': struct/class members cannot be declared 'uniform'}} */ - extern precise uniform volatile const float2 f_ext_pre_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_pre_uni_vol_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_pre_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_ext_pre_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_ext_pre_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ + extern precise uniform volatile float2 f_ext_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_pre_uni_vol': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_pre_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3047: 'f_ext_pre_uni_vol': struct/class members cannot be declared 'uniform'}} */ + extern precise uniform volatile const float2 f_ext_pre_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_pre_uni_vol_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_pre_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_ext_pre_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_ext_pre_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ extern precise uniform const float2 f_ext_pre_uni_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_pre_uni_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3035: 'f_ext_pre_uni_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_ext_pre_uni_con': struct/class members cannot be declared 'uniform'}} */ - extern precise volatile float2 f_ext_pre_vol; /* expected-error {{'volatile' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_pre_vol': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_pre_vol': struct/class members cannot be declared 'volatile'}} */ - extern precise volatile const float2 f_ext_pre_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_pre_vol_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_pre_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_ext_pre_vol_con': struct/class members cannot be declared 'const'}} */ + extern precise volatile float2 f_ext_pre_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_pre_vol': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_pre_vol': struct/class members cannot be declared 'volatile'}} */ + extern precise volatile const float2 f_ext_pre_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_pre_vol_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_pre_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_ext_pre_vol_con': struct/class members cannot be declared 'const'}} */ extern precise const float2 f_ext_pre_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_pre_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3035: 'f_ext_pre_con': struct/class members cannot be declared 'const'}} */ extern uniform float2 f_ext_uni; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_uni': struct/class members cannot be declared 'extern'}} fxc-error {{X3047: 'f_ext_uni': struct/class members cannot be declared 'uniform'}} */ - extern uniform volatile float2 f_ext_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_uni_vol': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3047: 'f_ext_uni_vol': struct/class members cannot be declared 'uniform'}} */ - extern uniform volatile const float2 f_ext_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_uni_vol_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_ext_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_ext_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ + extern uniform volatile float2 f_ext_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_uni_vol': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3047: 'f_ext_uni_vol': struct/class members cannot be declared 'uniform'}} */ + extern uniform volatile const float2 f_ext_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_uni_vol_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_ext_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_ext_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ extern uniform const float2 f_ext_uni_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3006: 'f_ext_uni_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3035: 'f_ext_uni_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_ext_uni_con': struct/class members cannot be declared 'uniform'}} */ - extern volatile float2 f_ext_vol; /* expected-error {{'volatile' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_vol': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_vol': struct/class members cannot be declared 'volatile'}} */ - extern volatile const float2 f_ext_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_vol_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_ext_vol_con': struct/class members cannot be declared 'const'}} */ + extern volatile float2 f_ext_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_vol': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_vol': struct/class members cannot be declared 'volatile'}} */ + extern volatile const float2 f_ext_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_vol_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3008: 'f_ext_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_ext_vol_con': struct/class members cannot be declared 'const'}} */ extern const float2 f_ext_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'f_ext_con': struct/class members cannot be declared 'extern'}} fxc-error {{X3035: 'f_ext_con': struct/class members cannot be declared 'const'}} */ precise float2 f_pre; precise static float2 f_pre_sta; /* fxc-error {{X3103: 's_storage_mods::f_pre_sta': variable declared but not defined}} */ - precise static volatile float2 f_pre_sta_vol; /* expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_pre_sta_vol': struct/class members cannot be declared 'volatile'}} */ - precise static volatile const float2 f_pre_sta_vol_con; /* expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_pre_sta_vol_con': struct/class members cannot be declared 'volatile'}} */ + precise static volatile float2 f_pre_sta_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_pre_sta_vol': struct/class members cannot be declared 'volatile'}} */ + precise static volatile const float2 f_pre_sta_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_pre_sta_vol_con': struct/class members cannot be declared 'volatile'}} */ precise static const float2 f_pre_sta_con; /* fxc-error {{X3103: 's_storage_mods::f_pre_sta_con': variable declared but not defined}} */ precise uniform float2 f_pre_uni; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3047: 'f_pre_uni': struct/class members cannot be declared 'uniform'}} */ - precise uniform volatile float2 f_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_pre_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3047: 'f_pre_uni_vol': struct/class members cannot be declared 'uniform'}} */ - precise uniform volatile const float2 f_pre_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_pre_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_pre_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_pre_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ + precise uniform volatile float2 f_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_pre_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3047: 'f_pre_uni_vol': struct/class members cannot be declared 'uniform'}} */ + precise uniform volatile const float2 f_pre_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_pre_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_pre_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_pre_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ precise uniform const float2 f_pre_uni_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3035: 'f_pre_uni_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_pre_uni_con': struct/class members cannot be declared 'uniform'}} */ - precise volatile float2 f_pre_vol; /* expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_pre_vol': struct/class members cannot be declared 'volatile'}} */ - precise volatile const float2 f_pre_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_pre_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_pre_vol_con': struct/class members cannot be declared 'const'}} */ + precise volatile float2 f_pre_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_pre_vol': struct/class members cannot be declared 'volatile'}} */ + precise volatile const float2 f_pre_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_pre_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_pre_vol_con': struct/class members cannot be declared 'const'}} */ precise const float2 f_pre_con; /* expected-error {{'const' is not a valid modifier for a field}} fxc-error {{X3035: 'f_pre_con': struct/class members cannot be declared 'const'}} */ static float2 f_sta; /* fxc-error {{X3103: 's_storage_mods::f_sta': variable declared but not defined}} */ - static volatile float2 f_sta_vol; /* expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_sta_vol': struct/class members cannot be declared 'volatile'}} */ - static volatile const float2 f_sta_vol_con; /* expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_sta_vol_con': struct/class members cannot be declared 'volatile'}} */ + static volatile float2 f_sta_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_sta_vol': struct/class members cannot be declared 'volatile'}} */ + static volatile const float2 f_sta_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_sta_vol_con': struct/class members cannot be declared 'volatile'}} */ static const float2 f_sta_con; /* fxc-error {{X3103: 's_storage_mods::f_sta_con': variable declared but not defined}} */ uniform float2 f_uni; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3047: 'f_uni': struct/class members cannot be declared 'uniform'}} */ - uniform volatile float2 f_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3047: 'f_uni_vol': struct/class members cannot be declared 'uniform'}} */ - uniform volatile const float2 f_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ + uniform volatile float2 f_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_uni_vol': struct/class members cannot be declared 'volatile'}} fxc-error {{X3047: 'f_uni_vol': struct/class members cannot be declared 'uniform'}} */ + uniform volatile const float2 f_uni_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3008: 'f_uni_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_uni_vol_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_uni_vol_con': struct/class members cannot be declared 'uniform'}} */ uniform const float2 f_uni_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'uniform' is not a valid modifier for a field}} expected-warning {{'uniform' attribute only applies to variables and parameters}} fxc-error {{X3035: 'f_uni_con': struct/class members cannot be declared 'const'}} fxc-error {{X3047: 'f_uni_con': struct/class members cannot be declared 'uniform'}} */ - volatile float2 f_vol; /* expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_vol': struct/class members cannot be declared 'volatile'}} */ - volatile const float2 f_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'volatile' is not a valid modifier for a field}} fxc-error {{X3008: 'f_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_vol_con': struct/class members cannot be declared 'const'}} */ + volatile float2 f_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_vol': struct/class members cannot be declared 'volatile'}} */ + volatile const float2 f_vol_con; /* expected-error {{'const' is not a valid modifier for a field}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3008: 'f_vol_con': struct/class members cannot be declared 'volatile'}} fxc-error {{X3035: 'f_vol_con': struct/class members cannot be declared 'const'}} */ const float2 f_con; /* expected-error {{'const' is not a valid modifier for a field}} fxc-error {{X3035: 'f_con': struct/class members cannot be declared 'const'}} */ // GENERATED_CODE:END }; @@ -503,65 +503,65 @@ float4 foo_sta_uni(static uniform float4 val) { return val; } /* expected-err float4 foo_gro(groupshared float4 val) { return val; } /* fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro': function must return a value}} */ float4 foo_gro_pre(groupshared precise float4 val) { return val; } /* fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre': function must return a value}} */ float4 foo_gro_pre_sta(groupshared precise static float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_sta': function must return a value}} */ -float4 foo_gro_pre_sta_vol(groupshared precise static volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_sta_vol': function must return a value}} */ -float4 foo_gro_pre_sta_vol_con(groupshared precise static volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_sta_vol_con': function must return a value}} */ +float4 foo_gro_pre_sta_vol(groupshared precise static volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_sta_vol': function must return a value}} */ +float4 foo_gro_pre_sta_vol_con(groupshared precise static volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_sta_vol_con': function must return a value}} */ float4 foo_gro_pre_sta_con(groupshared precise static const float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_sta_con': function must return a value}} */ float4 foo_gro_pre_uni(groupshared precise uniform float4 val) { return val; } /* fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_uni': function must return a value}} */ -float4 foo_gro_pre_uni_vol(groupshared precise uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_uni_vol': function must return a value}} */ -float4 foo_gro_pre_uni_vol_con(groupshared precise uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_uni_vol_con': function must return a value}} */ +float4 foo_gro_pre_uni_vol(groupshared precise uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_uni_vol': function must return a value}} */ +float4 foo_gro_pre_uni_vol_con(groupshared precise uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_uni_vol_con': function must return a value}} */ float4 foo_gro_pre_uni_con(groupshared precise uniform const float4 val) { return val; } /* fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_uni_con': function must return a value}} */ -float4 foo_gro_pre_vol(groupshared precise volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_vol': function must return a value}} */ -float4 foo_gro_pre_vol_con(groupshared precise volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_vol_con': function must return a value}} */ +float4 foo_gro_pre_vol(groupshared precise volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_vol': function must return a value}} */ +float4 foo_gro_pre_vol_con(groupshared precise volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_vol_con': function must return a value}} */ float4 foo_gro_pre_con(groupshared precise const float4 val) { return val; } /* fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_pre_con': function must return a value}} */ float4 foo_gro_sta(groupshared static float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_sta': function must return a value}} */ -float4 foo_gro_sta_vol(groupshared static volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_sta_vol': function must return a value}} */ -float4 foo_gro_sta_vol_con(groupshared static volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_sta_vol_con': function must return a value}} */ +float4 foo_gro_sta_vol(groupshared static volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_sta_vol': function must return a value}} */ +float4 foo_gro_sta_vol_con(groupshared static volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_sta_vol_con': function must return a value}} */ float4 foo_gro_sta_con(groupshared static const float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_sta_con': function must return a value}} */ float4 foo_gro_uni(groupshared uniform float4 val) { return val; } /* fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_uni': function must return a value}} */ -float4 foo_gro_uni_vol(groupshared uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_uni_vol': function must return a value}} */ -float4 foo_gro_uni_vol_con(groupshared uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_uni_vol_con': function must return a value}} */ +float4 foo_gro_uni_vol(groupshared uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_uni_vol': function must return a value}} */ +float4 foo_gro_uni_vol_con(groupshared uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_uni_vol_con': function must return a value}} */ float4 foo_gro_uni_con(groupshared uniform const float4 val) { return val; } /* fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_uni_con': function must return a value}} */ -float4 foo_gro_vol(groupshared volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_vol': function must return a value}} */ -float4 foo_gro_vol_con(groupshared volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_vol_con': function must return a value}} */ +float4 foo_gro_vol(groupshared volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_vol': function must return a value}} */ +float4 foo_gro_vol_con(groupshared volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_vol_con': function must return a value}} */ float4 foo_gro_con(groupshared const float4 val) { return val; } /* fxc-error {{X3000: syntax error: unexpected token 'groupshared'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_gro_con': function must return a value}} */ float4 foo_ext(extern float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext': function must return a value}} */ float4 foo_ext_pre(extern precise float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre': function must return a value}} */ float4 foo_ext_pre_uni(extern precise uniform float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_uni': function must return a value}} */ -float4 foo_ext_pre_uni_vol(extern precise uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_uni_vol': function must return a value}} */ -float4 foo_ext_pre_uni_vol_con(extern precise uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_uni_vol_con': function must return a value}} */ +float4 foo_ext_pre_uni_vol(extern precise uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_uni_vol': function must return a value}} */ +float4 foo_ext_pre_uni_vol_con(extern precise uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_uni_vol_con': function must return a value}} */ float4 foo_ext_pre_uni_con(extern precise uniform const float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_uni_con': function must return a value}} */ -float4 foo_ext_pre_vol(extern precise volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_vol': function must return a value}} */ -float4 foo_ext_pre_vol_con(extern precise volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_vol_con': function must return a value}} */ +float4 foo_ext_pre_vol(extern precise volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_vol': function must return a value}} */ +float4 foo_ext_pre_vol_con(extern precise volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_vol_con': function must return a value}} */ float4 foo_ext_pre_con(extern precise const float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_pre_con': function must return a value}} */ float4 foo_ext_uni(extern uniform float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_uni': function must return a value}} */ -float4 foo_ext_uni_vol(extern uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_uni_vol': function must return a value}} */ -float4 foo_ext_uni_vol_con(extern uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_uni_vol_con': function must return a value}} */ +float4 foo_ext_uni_vol(extern uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_uni_vol': function must return a value}} */ +float4 foo_ext_uni_vol_con(extern uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_uni_vol_con': function must return a value}} */ float4 foo_ext_uni_con(extern uniform const float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_uni_con': function must return a value}} */ -float4 foo_ext_vol(extern volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_vol': function must return a value}} */ -float4 foo_ext_vol_con(extern volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_vol_con': function must return a value}} */ +float4 foo_ext_vol(extern volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_vol': function must return a value}} */ +float4 foo_ext_vol_con(extern volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_vol_con': function must return a value}} */ float4 foo_ext_con(extern const float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'extern'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_ext_con': function must return a value}} */ float4 foo_pre(precise float4 val) { return val; } float4 foo_pre_sta(precise static float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_pre_sta': function must return a value}} */ -float4 foo_pre_sta_vol(precise static volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_pre_sta_vol': function must return a value}} */ -float4 foo_pre_sta_vol_con(precise static volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_pre_sta_vol_con': function must return a value}} */ +float4 foo_pre_sta_vol(precise static volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_pre_sta_vol': function must return a value}} */ +float4 foo_pre_sta_vol_con(precise static volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_pre_sta_vol_con': function must return a value}} */ float4 foo_pre_sta_con(precise static const float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_pre_sta_con': function must return a value}} */ float4 foo_pre_uni(precise uniform float4 val) { return val; } -float4 foo_pre_uni_vol(precise uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-pass {{}} */ -float4 foo_pre_uni_vol_con(precise uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-pass {{}} */ +float4 foo_pre_uni_vol(precise uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +float4 foo_pre_uni_vol_con(precise uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ float4 foo_pre_uni_con(precise uniform const float4 val) { return val; } -float4 foo_pre_vol(precise volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-pass {{}} */ -float4 foo_pre_vol_con(precise volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-pass {{}} */ +float4 foo_pre_vol(precise volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +float4 foo_pre_vol_con(precise volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ float4 foo_pre_con(precise const float4 val) { return val; } float4 foo_sta(static float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_sta': function must return a value}} */ -float4 foo_sta_vol(static volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_sta_vol': function must return a value}} */ -float4 foo_sta_vol_con(static volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_sta_vol_con': function must return a value}} */ +float4 foo_sta_vol(static volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_sta_vol': function must return a value}} */ +float4 foo_sta_vol_con(static volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_sta_vol_con': function must return a value}} */ float4 foo_sta_con(static const float4 val) { return val; } /* expected-error {{invalid storage class specifier in function declarator}} fxc-error {{X3000: syntax error: unexpected token 'static'}} fxc-error {{X3004: undeclared identifier 'val'}} fxc-error {{X3080: 'foo_sta_con': function must return a value}} */ float4 foo_uni(uniform float4 val) { return val; } -float4 foo_uni_vol(uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-pass {{}} */ -float4 foo_uni_vol_con(uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-pass {{}} */ +float4 foo_uni_vol(uniform volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +float4 foo_uni_vol_con(uniform volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ float4 foo_uni_con(uniform const float4 val) { return val; } -float4 foo_vol(volatile float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-pass {{}} */ -float4 foo_vol_con(volatile const float4 val) { return val; } /* expected-error {{'volatile' is not a valid modifier for a parameter}} fxc-pass {{}} */ +float4 foo_vol(volatile float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +float4 foo_vol_con(volatile const float4 val) { return val; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ float4 foo_con(const float4 val) { return val; } // GENERATED_CODE:END @@ -757,101 +757,101 @@ void vain() { groupshared float l_gro; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro': local variables cannot be declared 'groupshared'}} */ groupshared precise float l_gro_pre; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre': local variables cannot be declared 'groupshared'}} */ groupshared precise static float l_gro_pre_sta; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta': local variables cannot be declared 'groupshared'}} */ - groupshared precise static volatile float l_gro_pre_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta_vol': local variables cannot be declared 'groupshared'}} */ - groupshared precise static volatile const float l_gro_pre_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta_vol_con': local variables cannot be declared 'groupshared'}} */ + groupshared precise static volatile float l_gro_pre_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta_vol': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + groupshared precise static volatile const float l_gro_pre_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta_vol_con': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared precise static const float l_gro_pre_sta_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta_con': local variables cannot be declared 'groupshared'}} */ groupshared precise uniform float l_gro_pre_uni; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni': local variables cannot be declared 'uniform'}} */ - groupshared precise uniform volatile float l_gro_pre_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni_vol': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni_vol': local variables cannot be declared 'uniform'}} */ - groupshared precise uniform volatile const float l_gro_pre_uni_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni_vol_con': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni_vol_con': local variables cannot be declared 'uniform'}} */ + groupshared precise uniform volatile float l_gro_pre_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni_vol': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni_vol': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + groupshared precise uniform volatile const float l_gro_pre_uni_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni_vol_con': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni_vol_con': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared precise uniform const float l_gro_pre_uni_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni_con': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni_con': local variables cannot be declared 'uniform'}} */ - groupshared precise volatile float l_gro_pre_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_vol': local variables cannot be declared 'groupshared'}} */ - groupshared precise volatile const float l_gro_pre_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_vol_con': local variables cannot be declared 'groupshared'}} */ + groupshared precise volatile float l_gro_pre_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_vol': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + groupshared precise volatile const float l_gro_pre_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_vol_con': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared precise const float l_gro_pre_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_con': local variables cannot be declared 'groupshared'}} */ groupshared static float l_gro_sta; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta': local variables cannot be declared 'groupshared'}} */ - groupshared static volatile float l_gro_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta_vol': local variables cannot be declared 'groupshared'}} */ - groupshared static volatile const float l_gro_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta_vol_con': local variables cannot be declared 'groupshared'}} */ + groupshared static volatile float l_gro_sta_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta_vol': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + groupshared static volatile const float l_gro_sta_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta_vol_con': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared static const float l_gro_sta_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta_con': local variables cannot be declared 'groupshared'}} */ groupshared uniform float l_gro_uni; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni': local variables cannot be declared 'uniform'}} */ - groupshared uniform volatile float l_gro_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni_vol': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni_vol': local variables cannot be declared 'uniform'}} */ - groupshared uniform volatile const float l_gro_uni_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni_vol_con': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni_vol_con': local variables cannot be declared 'uniform'}} */ + groupshared uniform volatile float l_gro_uni_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni_vol': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni_vol': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + groupshared uniform volatile const float l_gro_uni_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni_vol_con': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni_vol_con': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared uniform const float l_gro_uni_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni_con': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni_con': local variables cannot be declared 'uniform'}} */ - groupshared volatile float l_gro_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_vol': local variables cannot be declared 'groupshared'}} */ - groupshared volatile const float l_gro_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_vol_con': local variables cannot be declared 'groupshared'}} */ + groupshared volatile float l_gro_vol; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_vol': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + groupshared volatile const float l_gro_vol_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_vol_con': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared const float l_gro_con; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_con': local variables cannot be declared 'groupshared'}} */ extern float l_ext; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext': local variables cannot be declared 'extern'}} */ extern precise float l_ext_pre; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre': local variables cannot be declared 'extern'}} */ extern precise uniform float l_ext_pre_uni; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni': local variables cannot be declared 'uniform'}} */ - extern precise uniform volatile float l_ext_pre_uni_vol; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni_vol': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni_vol': local variables cannot be declared 'uniform'}} */ - extern precise uniform volatile const float l_ext_pre_uni_vol_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni_vol_con': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni_vol_con': local variables cannot be declared 'uniform'}} */ + extern precise uniform volatile float l_ext_pre_uni_vol; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni_vol': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni_vol': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + extern precise uniform volatile const float l_ext_pre_uni_vol_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni_vol_con': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni_vol_con': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ extern precise uniform const float l_ext_pre_uni_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni_con': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni_con': local variables cannot be declared 'uniform'}} */ - extern precise volatile float l_ext_pre_vol; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_vol': local variables cannot be declared 'extern'}} */ - extern precise volatile const float l_ext_pre_vol_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_vol_con': local variables cannot be declared 'extern'}} */ + extern precise volatile float l_ext_pre_vol; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_vol': local variables cannot be declared 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + extern precise volatile const float l_ext_pre_vol_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_vol_con': local variables cannot be declared 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ extern precise const float l_ext_pre_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_con': local variables cannot be declared 'extern'}} */ extern uniform float l_ext_uni; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni': local variables cannot be declared 'uniform'}} */ - extern uniform volatile float l_ext_uni_vol; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_vol': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni_vol': local variables cannot be declared 'uniform'}} */ - extern uniform volatile const float l_ext_uni_vol_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_vol_con': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni_vol_con': local variables cannot be declared 'uniform'}} */ + extern uniform volatile float l_ext_uni_vol; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_vol': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni_vol': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + extern uniform volatile const float l_ext_uni_vol_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_vol_con': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni_vol_con': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ extern uniform const float l_ext_uni_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_con': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni_con': local variables cannot be declared 'uniform'}} */ - extern volatile float l_ext_vol; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_vol': local variables cannot be declared 'extern'}} */ - extern volatile const float l_ext_vol_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_vol_con': local variables cannot be declared 'extern'}} */ + extern volatile float l_ext_vol; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_vol': local variables cannot be declared 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + extern volatile const float l_ext_vol_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_vol_con': local variables cannot be declared 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ extern const float l_ext_con; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_con': local variables cannot be declared 'extern'}} */ precise float l_pre; precise static float l_pre_sta; - precise static volatile float l_pre_sta_vol; - precise static volatile const float l_pre_sta_vol_con; + precise static volatile float l_pre_sta_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ + precise static volatile const float l_pre_sta_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ precise static const float l_pre_sta_con; precise uniform float l_pre_uni; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni': local variables cannot be declared 'uniform'}} */ - precise uniform volatile float l_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_vol': local variables cannot be declared 'uniform'}} */ - precise uniform volatile const float l_pre_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_vol_con': local variables cannot be declared 'uniform'}} */ + precise uniform volatile float l_pre_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_vol': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + precise uniform volatile const float l_pre_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_vol_con': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ precise uniform const float l_pre_uni_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_con': local variables cannot be declared 'uniform'}} */ - precise volatile float l_pre_vol; - precise volatile const float l_pre_vol_con; /* fxc-error {{X3012: 'l_pre_vol_con': missing initial value}} */ + precise volatile float l_pre_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ + precise volatile const float l_pre_vol_con; /* fxc-error {{X3012: 'l_pre_vol_con': missing initial value}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ precise const float l_pre_con; /* fxc-error {{X3012: 'l_pre_con': missing initial value}} */ static float l_sta; - static volatile float l_sta_vol; - static volatile const float l_sta_vol_con; + static volatile float l_sta_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ + static volatile const float l_sta_vol_con; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ static const float l_sta_con; uniform float l_uni; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni': local variables cannot be declared 'uniform'}} */ - uniform volatile float l_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_vol': local variables cannot be declared 'uniform'}} */ - uniform volatile const float l_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_vol_con': local variables cannot be declared 'uniform'}} */ + uniform volatile float l_uni_vol; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_vol': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ + uniform volatile const float l_uni_vol_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_vol_con': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ uniform const float l_uni_con; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_con': local variables cannot be declared 'uniform'}} */ - volatile float l_vol; - volatile const float l_vol_con; /* fxc-error {{X3012: 'l_vol_con': missing initial value}} */ + volatile float l_vol; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ + volatile const float l_vol_con; /* fxc-error {{X3012: 'l_vol_con': missing initial value}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ const float l_con; /* fxc-error {{X3012: 'l_con': missing initial value}} */ // GENERATED_CODE:END // Now with const vars initialized: // modify(lines, gen_code('%(mods)s float l_%(id)s_init = 0.0;', filter(lambda combo: 'const' in combo, storage_combos))) // GENERATED_CODE:BEGIN - groupshared precise static volatile const float l_gro_pre_sta_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta_vol_con_init': local variables cannot be declared 'groupshared'}} */ + groupshared precise static volatile const float l_gro_pre_sta_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta_vol_con_init': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared precise static const float l_gro_pre_sta_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_sta_con_init': local variables cannot be declared 'groupshared'}} */ - groupshared precise uniform volatile const float l_gro_pre_uni_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni_vol_con_init': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni_vol_con_init': local variables cannot be declared 'uniform'}} */ + groupshared precise uniform volatile const float l_gro_pre_uni_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni_vol_con_init': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni_vol_con_init': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared precise uniform const float l_gro_pre_uni_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_uni_con_init': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_pre_uni_con_init': local variables cannot be declared 'uniform'}} */ - groupshared precise volatile const float l_gro_pre_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_vol_con_init': local variables cannot be declared 'groupshared'}} */ + groupshared precise volatile const float l_gro_pre_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_vol_con_init': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared precise const float l_gro_pre_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_pre_con_init': local variables cannot be declared 'groupshared'}} */ - groupshared static volatile const float l_gro_sta_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta_vol_con_init': local variables cannot be declared 'groupshared'}} */ + groupshared static volatile const float l_gro_sta_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta_vol_con_init': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared static const float l_gro_sta_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_sta_con_init': local variables cannot be declared 'groupshared'}} */ - groupshared uniform volatile const float l_gro_uni_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni_vol_con_init': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni_vol_con_init': local variables cannot be declared 'uniform'}} */ + groupshared uniform volatile const float l_gro_uni_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni_vol_con_init': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni_vol_con_init': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared uniform const float l_gro_uni_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_uni_con_init': local variables cannot be declared 'groupshared'}} fxc-error {{X3047: 'l_gro_uni_con_init': local variables cannot be declared 'uniform'}} */ - groupshared volatile const float l_gro_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_vol_con_init': local variables cannot be declared 'groupshared'}} */ + groupshared volatile const float l_gro_vol_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_vol_con_init': local variables cannot be declared 'groupshared'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ groupshared const float l_gro_con_init = 0.0; /* expected-error {{'groupshared' is not a valid modifier for a local variable}} fxc-error {{X3010: 'l_gro_con_init': local variables cannot be declared 'groupshared'}} */ - extern precise uniform volatile const float l_ext_pre_uni_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni_vol_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni_vol_con_init': local variables cannot be declared 'uniform'}} */ + extern precise uniform volatile const float l_ext_pre_uni_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni_vol_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni_vol_con_init': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ extern precise uniform const float l_ext_pre_uni_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_uni_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_pre_uni_con_init': local variables cannot be declared 'uniform'}} */ - extern precise volatile const float l_ext_pre_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_vol_con_init': local variables cannot be declared 'extern'}} */ + extern precise volatile const float l_ext_pre_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_vol_con_init': local variables cannot be declared 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ extern precise const float l_ext_pre_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_pre_con_init': local variables cannot be declared 'extern'}} */ - extern uniform volatile const float l_ext_uni_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_vol_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni_vol_con_init': local variables cannot be declared 'uniform'}} */ + extern uniform volatile const float l_ext_uni_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_vol_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni_vol_con_init': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ extern uniform const float l_ext_uni_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_uni_con_init': local variables cannot be declared 'extern'}} fxc-error {{X3047: 'l_ext_uni_con_init': local variables cannot be declared 'uniform'}} */ - extern volatile const float l_ext_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_vol_con_init': local variables cannot be declared 'extern'}} */ + extern volatile const float l_ext_vol_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_vol_con_init': local variables cannot be declared 'extern'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ extern const float l_ext_con_init = 0.0; /* expected-error {{'extern' is not a valid modifier for a local variable}} fxc-error {{X3006: 'l_ext_con_init': local variables cannot be declared 'extern'}} */ - precise static volatile const float l_pre_sta_vol_con_init = 0.0; + precise static volatile const float l_pre_sta_vol_con_init = 0.0; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ precise static const float l_pre_sta_con_init = 0.0; - precise uniform volatile const float l_pre_uni_vol_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_vol_con_init': local variables cannot be declared 'uniform'}} */ + precise uniform volatile const float l_pre_uni_vol_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_vol_con_init': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ precise uniform const float l_pre_uni_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_pre_uni_con_init': local variables cannot be declared 'uniform'}} */ - precise volatile const float l_pre_vol_con_init = 0.0; + precise volatile const float l_pre_vol_con_init = 0.0; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ precise const float l_pre_con_init = 0.0; - static volatile const float l_sta_vol_con_init = 0.0; + static volatile const float l_sta_vol_con_init = 0.0; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ static const float l_sta_con_init = 0.0; - uniform volatile const float l_uni_vol_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_vol_con_init': local variables cannot be declared 'uniform'}} */ + uniform volatile const float l_uni_vol_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_vol_con_init': local variables cannot be declared 'uniform'}} expected-error {{'volatile' is a reserved keyword in HLSL}} */ uniform const float l_uni_con_init = 0.0; /* expected-error {{'uniform' is not a valid modifier for a local variable}} fxc-error {{X3047: 'l_uni_con_init': local variables cannot be declared 'uniform'}} */ - volatile const float l_vol_con_init = 0.0; + volatile const float l_vol_con_init = 0.0; /* expected-error {{'volatile' is a reserved keyword in HLSL}} */ const float l_con_init = 0.0; // GENERATED_CODE:END @@ -922,65 +922,65 @@ static uniform float fn_sta_uni() { return 1.0f; } /* expected-erro groupshared float fn_gro() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} fxc-pass {{}} */ groupshared precise float fn_gro_pre() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} fxc-pass {{}} */ groupshared precise static float fn_gro_pre_sta() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} fxc-pass {{}} */ -groupshared precise static volatile float fn_gro_pre_sta_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ -groupshared precise static volatile const float fn_gro_pre_sta_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3025: l-value specifies const object}} */ +groupshared precise static volatile float fn_gro_pre_sta_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +groupshared precise static volatile const float fn_gro_pre_sta_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3025: l-value specifies const object}} */ groupshared precise static const float fn_gro_pre_sta_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} fxc-error {{X3025: l-value specifies const object}} */ groupshared precise uniform float fn_gro_pre_uni() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_gro_pre_uni': functions cannot be declared 'uniform'}} */ -groupshared precise uniform volatile float fn_gro_pre_uni_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_gro_pre_uni_vol': functions cannot be declared 'uniform'}} */ -groupshared precise uniform volatile const float fn_gro_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_gro_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ +groupshared precise uniform volatile float fn_gro_pre_uni_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_gro_pre_uni_vol': functions cannot be declared 'uniform'}} */ +groupshared precise uniform volatile const float fn_gro_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_gro_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ groupshared precise uniform const float fn_gro_pre_uni_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_gro_pre_uni_con': functions cannot be declared 'uniform'}} */ -groupshared precise volatile float fn_gro_pre_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ -groupshared precise volatile const float fn_gro_pre_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3025: l-value specifies const object}} */ +groupshared precise volatile float fn_gro_pre_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +groupshared precise volatile const float fn_gro_pre_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3025: l-value specifies const object}} */ groupshared precise const float fn_gro_pre_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} fxc-error {{X3025: l-value specifies const object}} */ groupshared static float fn_gro_sta() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} fxc-pass {{}} */ -groupshared static volatile float fn_gro_sta_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ -groupshared static volatile const float fn_gro_sta_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ +groupshared static volatile float fn_gro_sta_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +groupshared static volatile const float fn_gro_sta_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ groupshared static const float fn_gro_sta_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} fxc-pass {{}} */ groupshared uniform float fn_gro_uni() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_gro_uni': functions cannot be declared 'uniform'}} */ -groupshared uniform volatile float fn_gro_uni_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_gro_uni_vol': functions cannot be declared 'uniform'}} */ -groupshared uniform volatile const float fn_gro_uni_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_gro_uni_vol_con': functions cannot be declared 'uniform'}} */ +groupshared uniform volatile float fn_gro_uni_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_gro_uni_vol': functions cannot be declared 'uniform'}} */ +groupshared uniform volatile const float fn_gro_uni_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_gro_uni_vol_con': functions cannot be declared 'uniform'}} */ groupshared uniform const float fn_gro_uni_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_gro_uni_con': functions cannot be declared 'uniform'}} */ -groupshared volatile float fn_gro_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ -groupshared volatile const float fn_gro_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ +groupshared volatile float fn_gro_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +groupshared volatile const float fn_gro_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ groupshared const float fn_gro_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a function}} fxc-pass {{}} */ extern float fn_ext() { return 1.0f; } /* expected-error {{'extern' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext': functions cannot be declared 'extern'}} */ extern precise float fn_ext_pre() { return 1.0f; } /* expected-error {{'extern' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_pre': functions cannot be declared 'extern'}} */ extern precise uniform float fn_ext_pre_uni() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_pre_uni': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni': functions cannot be declared 'uniform'}} */ -extern precise uniform volatile float fn_ext_pre_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_pre_uni_vol': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_vol': functions cannot be declared 'uniform'}} */ -extern precise uniform volatile const float fn_ext_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_pre_uni_vol_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ +extern precise uniform volatile float fn_ext_pre_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3006: 'fn_ext_pre_uni_vol': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_vol': functions cannot be declared 'uniform'}} */ +extern precise uniform volatile const float fn_ext_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3006: 'fn_ext_pre_uni_vol_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ extern precise uniform const float fn_ext_pre_uni_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_pre_uni_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_con': functions cannot be declared 'uniform'}} */ -extern precise volatile float fn_ext_pre_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_pre_vol': functions cannot be declared 'extern'}} */ -extern precise volatile const float fn_ext_pre_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_pre_vol_con': functions cannot be declared 'extern'}} */ +extern precise volatile float fn_ext_pre_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3006: 'fn_ext_pre_vol': functions cannot be declared 'extern'}} expected-error {{'extern' is not a valid modifier for a function}} */ +extern precise volatile const float fn_ext_pre_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3006: 'fn_ext_pre_vol_con': functions cannot be declared 'extern'}} expected-error {{'extern' is not a valid modifier for a function}} */ extern precise const float fn_ext_pre_con() { return 1.0f; } /* expected-error {{'extern' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_pre_con': functions cannot be declared 'extern'}} */ extern uniform float fn_ext_uni() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_uni': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni': functions cannot be declared 'uniform'}} */ -extern uniform volatile float fn_ext_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_uni_vol': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_vol': functions cannot be declared 'uniform'}} */ -extern uniform volatile const float fn_ext_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_uni_vol_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_vol_con': functions cannot be declared 'uniform'}} */ +extern uniform volatile float fn_ext_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3006: 'fn_ext_uni_vol': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_vol': functions cannot be declared 'uniform'}} */ +extern uniform volatile const float fn_ext_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3006: 'fn_ext_uni_vol_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_vol_con': functions cannot be declared 'uniform'}} */ extern uniform const float fn_ext_uni_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_uni_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_con': functions cannot be declared 'uniform'}} */ -extern volatile float fn_ext_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_vol': functions cannot be declared 'extern'}} */ -extern volatile const float fn_ext_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_vol_con': functions cannot be declared 'extern'}} */ +extern volatile float fn_ext_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3006: 'fn_ext_vol': functions cannot be declared 'extern'}} expected-error {{'extern' is not a valid modifier for a function}} */ +extern volatile const float fn_ext_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3006: 'fn_ext_vol_con': functions cannot be declared 'extern'}} expected-error {{'extern' is not a valid modifier for a function}} */ extern const float fn_ext_con() { return 1.0f; } /* expected-error {{'extern' is not a valid modifier for a function}} fxc-error {{X3006: 'fn_ext_con': functions cannot be declared 'extern'}} */ precise float fn_pre() { return 1.0f; } precise static float fn_pre_sta() { return 1.0f; } -precise static volatile float fn_pre_sta_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ -precise static volatile const float fn_pre_sta_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3025: l-value specifies const object}} */ +precise static volatile float fn_pre_sta_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +precise static volatile const float fn_pre_sta_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3025: l-value specifies const object}} */ precise static const float fn_pre_sta_con() { return 1.0f; } /* fxc-error {{X3025: l-value specifies const object}} */ precise uniform float fn_pre_uni() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_pre_uni': functions cannot be declared 'uniform'}} */ -precise uniform volatile float fn_pre_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_pre_uni_vol': functions cannot be declared 'uniform'}} */ -precise uniform volatile const float fn_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ +precise uniform volatile float fn_pre_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_pre_uni_vol': functions cannot be declared 'uniform'}} */ +precise uniform volatile const float fn_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ precise uniform const float fn_pre_uni_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_pre_uni_con': functions cannot be declared 'uniform'}} */ -precise volatile float fn_pre_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ -precise volatile const float fn_pre_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3025: l-value specifies const object}} */ +precise volatile float fn_pre_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +precise volatile const float fn_pre_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3025: l-value specifies const object}} */ precise const float fn_pre_con() { return 1.0f; } /* fxc-error {{X3025: l-value specifies const object}} */ static float fn_sta() { return 1.0f; } -static volatile float fn_sta_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ -static volatile const float fn_sta_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ +static volatile float fn_sta_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +static volatile const float fn_sta_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ static const float fn_sta_con() { return 1.0f; } uniform float fn_uni() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_uni': functions cannot be declared 'uniform'}} */ -uniform volatile float fn_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_uni_vol': functions cannot be declared 'uniform'}} */ -uniform volatile const float fn_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_uni_vol_con': functions cannot be declared 'uniform'}} */ +uniform volatile float fn_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_uni_vol': functions cannot be declared 'uniform'}} */ +uniform volatile const float fn_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_uni_vol_con': functions cannot be declared 'uniform'}} */ uniform const float fn_uni_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a function}} fxc-error {{X3047: 'fn_uni_con': functions cannot be declared 'uniform'}} */ -volatile float fn_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ -volatile const float fn_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a function}} fxc-pass {{}} */ +volatile float fn_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ +volatile const float fn_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ const float fn_con() { return 1.0f; } // GENERATED_CODE:END @@ -1041,65 +1041,65 @@ class C groupshared float fn_gro() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} fxc-pass {{}} */ groupshared precise float fn_gro_pre() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} fxc-pass {{}} */ groupshared precise static float fn_gro_pre_sta() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} fxc-pass {{}} */ - groupshared precise static volatile float fn_gro_pre_sta_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ - groupshared precise static volatile const float fn_gro_pre_sta_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3025: l-value specifies const object}} */ + groupshared precise static volatile float fn_gro_pre_sta_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ + groupshared precise static volatile const float fn_gro_pre_sta_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3025: l-value specifies const object}} */ groupshared precise static const float fn_gro_pre_sta_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} fxc-error {{X3025: l-value specifies const object}} */ groupshared precise uniform float fn_gro_pre_uni() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_gro_pre_uni': functions cannot be declared 'uniform'}} */ - groupshared precise uniform volatile float fn_gro_pre_uni_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_gro_pre_uni_vol': functions cannot be declared 'uniform'}} */ - groupshared precise uniform volatile const float fn_gro_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_gro_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ + groupshared precise uniform volatile float fn_gro_pre_uni_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_gro_pre_uni_vol': functions cannot be declared 'uniform'}} */ + groupshared precise uniform volatile const float fn_gro_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_gro_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ groupshared precise uniform const float fn_gro_pre_uni_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_gro_pre_uni_con': functions cannot be declared 'uniform'}} */ - groupshared precise volatile float fn_gro_pre_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ - groupshared precise volatile const float fn_gro_pre_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3025: l-value specifies const object}} */ + groupshared precise volatile float fn_gro_pre_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ + groupshared precise volatile const float fn_gro_pre_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3025: l-value specifies const object}} */ groupshared precise const float fn_gro_pre_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} fxc-error {{X3025: l-value specifies const object}} */ groupshared static float fn_gro_sta() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} fxc-pass {{}} */ - groupshared static volatile float fn_gro_sta_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ - groupshared static volatile const float fn_gro_sta_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ + groupshared static volatile float fn_gro_sta_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ + groupshared static volatile const float fn_gro_sta_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ groupshared static const float fn_gro_sta_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} fxc-pass {{}} */ groupshared uniform float fn_gro_uni() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_gro_uni': functions cannot be declared 'uniform'}} */ - groupshared uniform volatile float fn_gro_uni_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_gro_uni_vol': functions cannot be declared 'uniform'}} */ - groupshared uniform volatile const float fn_gro_uni_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_gro_uni_vol_con': functions cannot be declared 'uniform'}} */ + groupshared uniform volatile float fn_gro_uni_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_gro_uni_vol': functions cannot be declared 'uniform'}} */ + groupshared uniform volatile const float fn_gro_uni_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_gro_uni_vol_con': functions cannot be declared 'uniform'}} */ groupshared uniform const float fn_gro_uni_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'uniform' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_gro_uni_con': functions cannot be declared 'uniform'}} */ - groupshared volatile float fn_gro_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ - groupshared volatile const float fn_gro_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ + groupshared volatile float fn_gro_vol() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ + groupshared volatile const float fn_gro_vol_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ groupshared const float fn_gro_con() { return 1.0f; } /* expected-error {{'groupshared' is not a valid modifier for a method}} fxc-pass {{}} */ extern float fn_ext() { return 1.0f; } /* expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext': functions cannot be declared 'extern'}} */ extern precise float fn_ext_pre() { return 1.0f; } /* expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre': functions cannot be declared 'extern'}} */ extern precise uniform float fn_ext_pre_uni() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_uni': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni': functions cannot be declared 'uniform'}} */ - extern precise uniform volatile float fn_ext_pre_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_uni_vol': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_vol': functions cannot be declared 'uniform'}} */ - extern precise uniform volatile const float fn_ext_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_uni_vol_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ + extern precise uniform volatile float fn_ext_pre_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_uni_vol': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_vol': functions cannot be declared 'uniform'}} */ + extern precise uniform volatile const float fn_ext_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_uni_vol_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ extern precise uniform const float fn_ext_pre_uni_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_uni_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_pre_uni_con': functions cannot be declared 'uniform'}} */ - extern precise volatile float fn_ext_pre_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_vol': functions cannot be declared 'extern'}} */ - extern precise volatile const float fn_ext_pre_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_vol_con': functions cannot be declared 'extern'}} */ + extern precise volatile float fn_ext_pre_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_vol': functions cannot be declared 'extern'}} */ + extern precise volatile const float fn_ext_pre_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_vol_con': functions cannot be declared 'extern'}} */ extern precise const float fn_ext_pre_con() { return 1.0f; } /* expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_pre_con': functions cannot be declared 'extern'}} */ extern uniform float fn_ext_uni() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_uni': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni': functions cannot be declared 'uniform'}} */ - extern uniform volatile float fn_ext_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_uni_vol': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_vol': functions cannot be declared 'uniform'}} */ - extern uniform volatile const float fn_ext_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_uni_vol_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_vol_con': functions cannot be declared 'uniform'}} */ + extern uniform volatile float fn_ext_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_uni_vol': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_vol': functions cannot be declared 'uniform'}} */ + extern uniform volatile const float fn_ext_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_uni_vol_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_vol_con': functions cannot be declared 'uniform'}} */ extern uniform const float fn_ext_uni_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_uni_con': functions cannot be declared 'extern'}} fxc-error {{X3047: 'fn_ext_uni_con': functions cannot be declared 'uniform'}} */ - extern volatile float fn_ext_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_vol': functions cannot be declared 'extern'}} */ - extern volatile const float fn_ext_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_vol_con': functions cannot be declared 'extern'}} */ + extern volatile float fn_ext_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_vol': functions cannot be declared 'extern'}} */ + extern volatile const float fn_ext_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_vol_con': functions cannot be declared 'extern'}} */ extern const float fn_ext_con() { return 1.0f; } /* expected-error {{storage class specified for a member declaration}} fxc-error {{X3006: 'fn_ext_con': functions cannot be declared 'extern'}} */ precise float fn_pre() { return 1.0f; } precise static float fn_pre_sta() { return 1.0f; } - precise static volatile float fn_pre_sta_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ - precise static volatile const float fn_pre_sta_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3025: l-value specifies const object}} */ + precise static volatile float fn_pre_sta_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ + precise static volatile const float fn_pre_sta_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3025: l-value specifies const object}} */ precise static const float fn_pre_sta_con() { return 1.0f; } /* fxc-error {{X3025: l-value specifies const object}} */ precise uniform float fn_pre_uni() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_pre_uni': functions cannot be declared 'uniform'}} */ - precise uniform volatile float fn_pre_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_pre_uni_vol': functions cannot be declared 'uniform'}} */ - precise uniform volatile const float fn_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ + precise uniform volatile float fn_pre_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_pre_uni_vol': functions cannot be declared 'uniform'}} */ + precise uniform volatile const float fn_pre_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_pre_uni_vol_con': functions cannot be declared 'uniform'}} */ precise uniform const float fn_pre_uni_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_pre_uni_con': functions cannot be declared 'uniform'}} */ - precise volatile float fn_pre_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ - precise volatile const float fn_pre_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3025: l-value specifies const object}} */ + precise volatile float fn_pre_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ + precise volatile const float fn_pre_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3025: l-value specifies const object}} */ precise const float fn_pre_con() { return 1.0f; } /* fxc-error {{X3025: l-value specifies const object}} */ static float fn_sta() { return 1.0f; } - static volatile float fn_sta_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ - static volatile const float fn_sta_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ + static volatile float fn_sta_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ + static volatile const float fn_sta_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ static const float fn_sta_con() { return 1.0f; } uniform float fn_uni() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_uni': functions cannot be declared 'uniform'}} */ - uniform volatile float fn_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_uni_vol': functions cannot be declared 'uniform'}} */ - uniform volatile const float fn_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_uni_vol_con': functions cannot be declared 'uniform'}} */ + uniform volatile float fn_uni_vol() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_uni_vol': functions cannot be declared 'uniform'}} */ + uniform volatile const float fn_uni_vol_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-error {{X3047: 'fn_uni_vol_con': functions cannot be declared 'uniform'}} */ uniform const float fn_uni_con() { return 1.0f; } /* expected-error {{'uniform' is not a valid modifier for a method}} fxc-error {{X3047: 'fn_uni_con': functions cannot be declared 'uniform'}} */ - volatile float fn_vol() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ - volatile const float fn_vol_con() { return 1.0f; } /* expected-error {{'volatile' is not a valid modifier for a method}} fxc-pass {{}} */ + volatile float fn_vol() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ + volatile const float fn_vol_con() { return 1.0f; } /* expected-error {{'volatile' is a reserved keyword in HLSL}} fxc-pass {{}} */ const float fn_con() { return 1.0f; } // GENERATED_CODE:END