Bug #1485
Some clang compiler warnings
| Status: | Closed | Start date: | 06/28/2015 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assigned To: | % Done: | 100% | ||
| Category: | - | |||
| Target version: | - | |||
| Duration: |
Description
I’m getting a few compiler warnings on my Macbook.
This one is actually a bug:
GMath.cpp:423:9: warning: taking the absolute value of unsigned type 'bool' has no effect [-Wabsolute-value]
if (std::abs(arg > 1.0)) {
^
GMath.cpp:423:9: note: remove the call to 'abs' since unsigned values cannot be negative
if (std::abs(arg > 1.0)) {
^~~~~~~~
GMath.cpp:428:14: warning: taking the absolute value of unsigned type 'bool' has no effect [-Wabsolute-value]
else if (std::abs(arg == 1.0)) {
^
GMath.cpp:428:14: note: remove the call to 'abs' since unsigned values cannot be negative
else if (std::abs(arg == 1.0)) {
^~~~~~~~
Fix is here ... please merge these two commits:
https://github.com/gammalib/gammalib/compare/devel...cdeil:fix-clang-compile-warnings
This one is probably platform-dependent ... I don’t know if it can be fixed or silenced:
GVOHub.cpp:320:18: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
if (m_socket < 0) {
~~~~~~~~ ^ ~
GVOHub.cpp:365:17: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
if (socket < 0) {
~~~~~~ ^ ~
This one is in SWIG-generated code, I just thought I’d mention it in case it indicates an issue with the Gammalib Python wrapper:
gammalib/sky_wrap.cpp:4032:9: warning: destination for this 'memset' call is a pointer to dynamic class 'GSkyDir'; vtable pointer
will be overwritten [-Wdynamic-class-memaccess]
memset(v_def,0,sizeof(Type));
~~~~~~ ^
gammalib/sky_wrap.cpp:4057:62: note: in instantiation of member function 'swig::traits_as<GSkyDir, swig::pointer_category>::as'
requested here
return traits_as<Type, typename traits<Type>::category>::as(obj, te);
^
gammalib/sky_wrap.cpp:4614:15: note: in instantiation of function template specialization 'swig::as<GSkyDir>' requested here
return swig::as<T>(item, true);
^
gammalib/sky_wrap.cpp:4849:42: note: in instantiation of member function 'swig::SwigPySequence_Ref<GSkyDir>::operator GSkyDir'
requested here
seq->insert(seq->end(),(value_type)(*it));
^
gammalib/sky_wrap.cpp:4871:6: note: in instantiation of function template specialization
'swig::assign<swig::SwigPySequence_Cont<GSkyDir>, std::__1::vector<GSkyDir, std::__1::allocator<GSkyDir> > >' requested here
assign(swigpyseq, pseq);
^
gammalib/sky_wrap.cpp:4926:47: note: in instantiation of member function 'swig::traits_asptr_stdseq<std::__1::vector<GSkyDir,
std::__1::allocator<GSkyDir> >, GSkyDir>::asptr' requested here
return traits_asptr_stdseq<std::vector<T> >::asptr(obj, vec);
^
gammalib/sky_wrap.cpp:3949:32: note: in instantiation of member function 'swig::traits_asptr<std::__1::vector<GSkyDir,
std::__1::allocator<GSkyDir> > >::asptr' requested here
return traits_asptr<Type>::asptr(obj, vptr);
^
gammalib/sky_wrap.cpp:17291:18: note: in instantiation of function template specialization 'swig::asptr<std::__1::vector<GSkyDir,
std::__1::allocator<GSkyDir> > >' requested here
res4 = swig::asptr(obj3, &ptr);
^
gammalib/sky_wrap.cpp:4032:9: note: explicitly cast the pointer to silence this warning
memset(v_def,0,sizeof(Type));
^
(void*)
Recurrence
No recurrence.
History
#1
Updated by Deil Christoph about 11 years ago
One more warning in ctools:
ctselect.cpp:287:41: warning: 'tmpnam' is deprecated: This function is provided for compatibility reasons only. Due to security
concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead.
[-Wdeprecated-declarations]
std::string filename = std::tmpnam(NULL);
^
/usr/include/stdio.h:276:7: note: 'tmpnam' has been explicitly marked deprecated here
char *tmpnam(char *);
^
#2
Updated by Knödlseder Jürgen almost 11 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
I cleaned the code to remove the warning where we have a handle on (does not concern the swig related warnings).