delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/11/04/06:04:13

Message-ID: <001a01c1651f$dfc66fc0$4bd24dd5@piec>
From: "Piotr Fusik" <P DOT Fusik AT elka DOT pw DOT edu DOT pl>
To: <djgpp AT delorie DOT com>
Subject: gcc: switch() optimization
Date: Sun, 4 Nov 2001 11:56:22 +0100
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
X-Virus-Scanned: by AMaViS perl-11 elektron
Reply-To: djgpp AT delorie DOT com

Consider following example:

int main(int argc, char *argv[])
{
 switch (argc & 1) {
 case 0:
  return 10;
 case 1:
  return 20;
 }
}

gcc version 2.95.3 20010315/djgpp (release) with -O2 generates a redundant
check for the range of (argc & 1). Same is for switch (x & 0xff) with all
256 cases.

I'm unsure if it's DJGPP or gcc problem. If it's gcc's, maybe gcc 3.0.0
solves it? If so, when will it be available for DJGPP?



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019