NO

Author Topic: Wrong warning for different signedness  (Read 2461 times)

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 2113
Wrong warning for different signedness
« on: July 24, 2018, 12:04:10 PM »
Consider the following snippet:
Code: [Select]
unsigned short a = 1;
unsigned long  b = 2;

if (a <= b)
printf("a <= b\n");
Will give the warning:
Code: [Select]
C:\PELLESC\Bugs\Warning_bug.c(10): warning #2251: Operands of '<=' have types with different signedness: 'int' and 'unsigned long int'.
"It is better to be hated for what you are than to be loved for what you are not." - Andre Gide

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
Re: Wrong warning for different signedness
« Reply #1 on: July 24, 2018, 03:59:22 PM »
As designed. I'm not going to waste time on a corner case like this.
/Pelle

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 2113
Re: Wrong warning for different signedness
« Reply #2 on: July 25, 2018, 11:41:10 AM »
As designed.
I understand that this is not a major issue in this phase.
But I can't understand why is by design  :(.
Both values are unsigned, why the signedness mismatch complain?  :(
"It is better to be hated for what you are than to be loved for what you are not." - Andre Gide