summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/Swig/typesys.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Swig/typesys.c b/Source/Swig/typesys.c
index 05e2a1b6e..eb6fc1074 100644
--- a/Source/Swig/typesys.c
+++ b/Source/Swig/typesys.c
@@ -1700,7 +1700,8 @@ void SwigType_remember_clientdata(const SwigType *t, const_String_or_char_ptr cl
if (t) {
char *ct = Char(t);
const char *lt = strchr(ct, '<');
- if (lt && lt[1] != '(') {
+ /* Allow for `<<` operator in constant expression for array size. */
+ if (lt && lt[1] != '(' && lt[1] != '<') {
/* We special case `<<` above, but most cases aren't handled, for example:
*
* unsigned char myarray[std::numeric_limits<unsigned char>::max()]; // #2486