From: neil Date: Sun, 16 Jul 2000 02:14:14 +0000 (+0000) Subject: * README.Portability: Small update. X-Git-Tag: upstream/4.9.2~100325 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=10bfc444b6e08c8d9920b871ec4cdef916aaa59f;p=platform%2Fupstream%2Flinaro-gcc.git * README.Portability: Small update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35056 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5fc1ba1..01d6222 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2000-07-16 Neil Booth + + * README.Portability: Small update. + 2000-07-15 Richard Henderson * config/ia64/ia64-protos.h (ia64_move_ok): Prototype. diff --git a/gcc/README.Portability b/gcc/README.Portability index cc5fa32..43efc39 100644 --- a/gcc/README.Portability +++ b/gcc/README.Portability @@ -50,6 +50,13 @@ should be written String literals --------------- +Some SGI compilers choke on the parentheses in:- + +const char string[] = ("A string"); + +This is unfortunate since this is what the GNU gettext macro N_ +produces. You need to find a different way to code it. + K+R C did not allow concatenation of string literals like "This is a " "single string literal". @@ -80,8 +87,8 @@ needs to be coded in some other way. signed keyword -------------- -The signed keyword did not exist in K+R comilers, it was introduced in -ISO C89, so you cannot use it. In both K+R and standard C, +The signed keyword did not exist in K+R compilers, it was introduced +in ISO C89, so you cannot use it. In both K+R and standard C, unqualified char and bitfields may be signed or unsigned. There is no way to portably declare signed chars or signed bitfields. @@ -163,8 +170,9 @@ double respectively. Calling functions through pointers to functions ----------------------------------------------- -K+R C compilers require brackets around the dereferenced pointer -variable, whereas ISO C relaxes the syntax. For example +K+R C compilers require parentheses around the dereferenced function +pointer expression in the call, whereas ISO C relaxes the syntax. For +example typedef void (* cl_directive_handler) PARAMS ((cpp_reader *, const char *)); *p->handler (pfile, p->arg); @@ -192,6 +200,13 @@ will stringify an argument; to get the same result on K+R and ISO compilers x should not have spaces around it. +Passing structures by value +--------------------------- + +Avoid passing structures by value, either to or from functions. It +seems some K+R compilers handle this differently or not at all. + + Enums -----