diff --git a/src/Val.cc b/src/Val.cc index 4cb9d78023..2a53a32674 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -515,7 +515,12 @@ Val* Val::SizeVal() const { switch ( type->InternalType() ) { case TYPE_INTERNAL_INT: - return new Val(llabs(val.int_val), TYPE_COUNT); + // Return abs value. However abs() only works on ints and llabs + // doesn't work on Mac OS X 10.5. So we do it by hand + if (val.int_val < 0) + return new Val(-val.int_val, TYPE_COUNT); + else + return new Val(val.int_val, TYPE_COUNT); case TYPE_INTERNAL_UNSIGNED: return new Val(val.uint_val, TYPE_COUNT);