summaryrefslogtreecommitdiff
path: root/Examples
diff options
context:
space:
mode:
authorOlly Betts <olly@survex.com>2022-11-25 09:51:58 +1300
committerOlly Betts <olly@survex.com>2022-11-25 09:51:58 +1300
commit81c6a6389873d58795a9b75a8b39f38dd32f850f (patch)
treea3815c6381d0b17ae15f55653e394fb6354237d4 /Examples
parent5a8d58c3a761280036520f07b53f47d5856f9171 (diff)
downloadswig-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.i4
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()) {}
%}