Index: Gen.cpp =================================================================== RCS file: /home/cvsroot/ice/src/slice2cs/Gen.cpp,v retrieving revision 1.43 diff -r1.43 Gen.cpp 291c291,302 < remove_if(throws.begin(), throws.end(), IceUtil::constMemFun(&Exception::isLocal)); --- > > // > // Arrange exceptions into most-derived to least-derived order. If we don't > // do this, a base exception handler can appear before a derived exception > // handler, causing compiler warnings and resulting in the base exception > // being marshaled instead of the derived exception. > // > #if defined(__SUNPRO_CC) > throws.sort(Slice::derivedToBaseCompare); > #else > throws.sort(Slice::DerivedToBaseCompare()); > #endif 3129d3139 < throws.erase(remove_if(throws.begin(), throws.end(), IceUtil::constMemFun(&Exception::isLocal)), throws.end()); 3327,3331d3336 < ExceptionList throws = op->throws(); < throws.sort(); < throws.unique(); < throws.erase(remove_if(throws.begin(), throws.end(), IceUtil::constMemFun(&Exception::isLocal)), throws.end()); < 3556a3562,3573 > // > // Arrange exceptions into most-derived to least-derived order. If we don't > // do this, a base exception handler can appear before a derived exception > // handler, causing compiler warnings and resulting in the base exception > // being marshaled instead of the derived exception. > // > #if defined(__SUNPRO_CC) > throws.sort(Slice::derivedToBaseCompare); > #else > throws.sort(Slice::DerivedToBaseCompare()); > #endif > 3728a3746,3757 > > // > // Arrange exceptions into most-derived to least-derived order. If we don't > // do this, a base exception handler can appear before a derived exception > // handler, causing compiler warnings and resulting in the base exception > // being marshaled instead of the derived exception. > // > #if defined(__SUNPRO_CC) > throws.sort(Slice::derivedToBaseCompare); > #else > throws.sort(Slice::DerivedToBaseCompare()); > #endif