diff options
author | Olly Betts <olly@survex.com> | 2022-11-25 09:51:58 +1300 |
---|---|---|
committer | Olly Betts <olly@survex.com> | 2022-11-25 09:51:58 +1300 |
commit | 81c6a6389873d58795a9b75a8b39f38dd32f850f (patch) | |
tree | a3815c6381d0b17ae15f55653e394fb6354237d4 /Examples | |
parent | 5a8d58c3a761280036520f07b53f47d5856f9171 (diff) | |
download | swig-81c6a6389873d58795a9b75a8b39f38dd32f850f.tar.gz |
Fix undefined behaviour in parser
Fix undefined behaviour in swig's parser when handling default parameter
expressions containing method calls.
Fixes #2447
Diffstat (limited to 'Examples')
-rw-r--r-- | Examples/test-suite/default_arg_expressions.i | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Examples/test-suite/default_arg_expressions.i b/Examples/test-suite/default_arg_expressions.i index 99d54c3b9..ce4d3f4a1 100644 --- a/Examples/test-suite/default_arg_expressions.i +++ b/Examples/test-suite/default_arg_expressions.i @@ -29,7 +29,7 @@ struct TfToken { struct Tokens { const TfToken face; const TfToken *pface; - const TfToken& g_face() const { return face; } + const TfToken& g_face(int = 0, int = 0) const { return face; } const TfToken* g_pface() const { return pface; } Tokens() : face(), pface(&face) {} }; @@ -68,4 +68,6 @@ void CreateMaterialBindSubsetu(int num = UsdGeomTokensPtr->g_pface()->g_val().g_ void CreateMaterialBindSubsetv(int num = UsdGeomTokensPtr->g_pface()->g_ptr()->g_val()) {} void CreateMaterialBindSubsetw(int num = UsdGeomTokensPtr->g_face().g_val().g_val()) {} void CreateMaterialBindSubsetx(int num = UsdGeomTokens.g_face().g_val().g_val()) {} +void CreateMaterialBindSubsety(int num = UsdGeomTokens.g_face(1).g_val().g_val()) {} +void CreateMaterialBindSubsetz(int num = UsdGeomTokens.g_face(1,2).g_val().g_val()) {} %} |