diff options
author | Olly Betts <olly@survex.com> | 2023-04-20 14:53:30 +1200 |
---|---|---|
committer | Olly Betts <olly@survex.com> | 2023-04-20 14:53:30 +1200 |
commit | c538bd24c4a0ae64b25862e1062d4d143b409f15 (patch) | |
tree | 0542223e539a3903b9ca2f90780213ad7768af09 | |
parent | 752ec61d274fd6154a8ca65b5b6fa996e459a468 (diff) | |
download | swig-c538bd24c4a0ae64b25862e1062d4d143b409f15.tar.gz |
Restore handling for '<<' in array size
I accidentally dropped this in 8fb15fcc922a302b88937a68e089223fb90640f9.
-rw-r--r-- | Source/Swig/typesys.c | 3 |
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 |