 
#include <stdlib.h>
void foo() {
 unsigned int i=0; /* absolute value function 'abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value] */
 abs(i);
 unsigned int j=0; /* taking the absolute value of unsigned type 'unsigned int' has no effect */
 abs(j);
}
gcc does not display any warning.