All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guy Streeter <streeter@redhat.com>
To: "David C. Chiu" <dchiu@ariodata.com>
Cc: linuxppc-embedded <linuxppc-embedded@lists.linuxppc.org>
Subject: Re: gcc version 2.95.3 20010315 (release/MontaVista) cross compiler
Date: 17 Dec 2003 17:17:33 -0600	[thread overview]
Message-ID: <1071703053.1035.2.camel@jarjar.hsv.redhat.com> (raw)
In-Reply-To: <8A098FDFC6EED94B872CA2033711F86F775A6F@orion.ariodata.com>


On Wed, 2003-12-17 at 17:02, David C. Chiu wrote:
> We're experiencing some unexpected behavior with binary generated with
> the said version of gcc; namely that variables declared to char appear
> to be defaulting to unsigned char.
>
> #include <stdio.h>
> #include <stdlib.h>
>
> int main( int argc, char** args, char** envs )
> {
>         char sc;
>         unsigned char uc;
>
>         sc = uc = -3;
>
>         printf( "signed char: %d unsigned char: %d\n", sc, uc );
>         if ( sc > (char)0 )
>                 printf( "sc is greater than zero\n" );
>         else
>                 printf( "sc is less or equal to zero\n" );
>
>         return 0;
> }
>
> The preceeding code would produce the following unexpected result --
>
> signed char: 253 unsigned char: 253
> sc is greater than zero
>
> Making the following change --
>
>         signed char sc;
>         unsigned char uc;
> 	.
> 	.
>
> Would produce the expected result --
>
> signed char: -3 unsigned char: 253
> sc is less or equal to zero
>
> Can someone shed some light on this? (As in, is this "normal" and we do
> not know only because we've been living under a rock ;-)

This behavior is indeed "normal". For some reason (compatibility with
AIX, I think) the gcc compiler for ppc has always made char unsigned by
default.
Try adding the -fsigned-char option to you gcc command line.

--Guy


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

  reply	other threads:[~2003-12-17 23:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-17 23:02 gcc version 2.95.3 20010315 (release/MontaVista) cross compiler David C. Chiu
2003-12-17 23:17 ` Guy Streeter [this message]
2003-12-17 23:27 ` Bret Indrelee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1071703053.1035.2.camel@jarjar.hsv.redhat.com \
    --to=streeter@redhat.com \
    --cc=dchiu@ariodata.com \
    --cc=linuxppc-embedded@lists.linuxppc.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.