3 Commits

Author SHA1 Message Date
Jan Beich
27d8fa8ad3 graphics/inkscape: unbreak on 32-bit archs after r474795
src/libavoid/connector.cpp:888:29: error: call to 'abs' is ambiguous
                COLA_ASSERT(abs((long)i->pathNext->id.objID - i->id.objID) != 2);
                            ^~~
src/libavoid/assertions.h:41:39: note: expanded from macro 'COLA_ASSERT'
    #define COLA_ASSERT(expr)  assert(expr)
                                      ^~~~
/usr/include/assert.h:56:21: note: expanded from macro 'assert'
 #define assert(e)       ((e) ? (void)0 : __assert(__func__, __FILE__, \
                           ^
/usr/include/c++/v1/math.h:733:1: note: candidate function
abs(float __lcpp_x) _NOEXCEPT {return ::fabsf(__lcpp_x);}
^
/usr/include/c++/v1/math.h:737:1: note: candidate function
abs(double __lcpp_x) _NOEXCEPT {return ::fabs(__lcpp_x);}
^
/usr/include/c++/v1/math.h:741:1: note: candidate function
abs(long double __lcpp_x) _NOEXCEPT {return ::fabsl(__lcpp_x);}
^
/usr/include/stdlib.h:87:6: note: candidate function
int      abs(int) __pure2;
         ^
/usr/include/c++/v1/stdlib.h:111:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/usr/include/c++/v1/stdlib.h:113:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                           ^

PR:		229844
Reported by:	pkg-fallout
2018-10-28 11:03:01 +00:00
Koop Mast
05803fc0ab Update inkscape to 0.92.3. 2018-07-17 12:33:38 +00:00
Don Lewis
f241bab0fe Fix type for abs() calls in graphics/inkscape
During the exp-run in bug 208158, it was found that graphics/inkscape
gives errors with libc++ 3.8.0:

libavoid/connector.cpp:888:29: error: call to 'abs' is ambiguous
                COLA_ASSERT(abs(i->pathNext->id.objID - i->id.objID) != 2);
                            ^~~

This is because abs() is called with unsigned arguments.  Fix it
by casting the arguments to the appropriate signed types.  This
mimics what happens with older libraries where the only version of
abs() was the one in <stdlib.h>, which is prototyped:
	int abs(int)
The expression used in ConnRef::generatePath() is not strictly correct
because it depends on details of integer overflow that are undefined
by the C++ standard.

PR:		209675
Submitted by:	dim
2016-06-07 04:14:37 +00:00