Apply patch #3392264 from Sebastien Bine to parse (unsigned) long long types in enum value assignment.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12926 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2012-03-16 07:30:14 +00:00
commit aae9c18e6e
3 changed files with 26 additions and 3 deletions

View file

@ -5,11 +5,14 @@ See the RELEASENOTES file for a summary of changes in each release.
Version 2.0.5 (in progress)
===========================
2012-03-15: wsfulton
Apply patch #3505530 to allow custom allocators in STL string classes for the UTL languages.
2012-03-16: wsfulton
Apply patch #3392264 from Sebastien Bine to parse (unsigned) long long types in enum value assignment.
2012-03-16: wsfulton
Apply patch #3505530 from Karl Wette to allow custom allocators in STL string classes for the UTL languages.
2012-03-13: wsfulton
Apply patch #3468362 to fix %include inside %define.
Apply patch #3468362 from Karl Wette to fix %include inside %define.
2012-03-13: wsfulton
[Python, Ruby, Octave] Fix #3475492 - iterating through std::vector wrappers of enumerations.

View file

@ -80,3 +80,22 @@
#define EXPR_LOR 0xFF || 1
#define EXPR_CONDITIONAL true ? 2 : 2.2
/// constant assignment in enum
#if defined(SWIGCSHARP)
%csconstvalue("1<<2") kValue;
#endif
%{
#define BIT(n) (1ULL << (n))
enum MyEnum {
kValue = BIT(2)
};
%}
#define BIT(n) (1ULL << (n))
enum MyEnum {
kValue = BIT(2)
};

View file

@ -5638,6 +5638,7 @@ etype : expr {
$$ = $1;
if (($$.type != T_INT) && ($$.type != T_UINT) &&
($$.type != T_LONG) && ($$.type != T_ULONG) &&
($$.type != T_LONGLONG) && ($$.type != T_ULONGLONG) &&
($$.type != T_SHORT) && ($$.type != T_USHORT) &&
($$.type != T_SCHAR) && ($$.type != T_UCHAR) &&
($$.type != T_CHAR) && ($$.type != T_BOOL)) {