I have a bit of C code, which goes exactly like this:
short int fun16(void){
short int a = 2;
short int b = 2;
return a+b;
}
When I try to compile it with GCC, I get the warning:
warning: conversion to 'short int' from 'int' may alter its value [-Wconversion]
return a+b;
^
Though there is no visible conversion. Both operands are short and even the returning value is short as well. So, what's the catch?