Commit 59a5130c by Neil Booth Committed by Neil Booth

* README.Portability: Small update.

From-SVN: r35056
parent 5b2ff385
2000-07-16 Neil Booth <NeilB@earthling.net>
* README.Portability: Small update.
2000-07-15 Richard Henderson <rth@cygnus.com> 2000-07-15 Richard Henderson <rth@cygnus.com>
* config/ia64/ia64-protos.h (ia64_move_ok): Prototype. * config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
......
...@@ -50,6 +50,13 @@ should be written ...@@ -50,6 +50,13 @@ should be written
String literals 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 K+R C did not allow concatenation of string literals like
"This is a " "single string literal". "This is a " "single string literal".
...@@ -80,8 +87,8 @@ needs to be coded in some other way. ...@@ -80,8 +87,8 @@ needs to be coded in some other way.
signed keyword signed keyword
-------------- --------------
The signed keyword did not exist in K+R comilers, it was introduced in The signed keyword did not exist in K+R compilers, it was introduced
ISO C89, so you cannot use it. In both K+R and standard C, 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 unqualified char and bitfields may be signed or unsigned. There is no
way to portably declare signed chars or signed bitfields. way to portably declare signed chars or signed bitfields.
...@@ -163,8 +170,9 @@ double respectively. ...@@ -163,8 +170,9 @@ double respectively.
Calling functions through pointers to functions Calling functions through pointers to functions
----------------------------------------------- -----------------------------------------------
K+R C compilers require brackets around the dereferenced pointer K+R C compilers require parentheses around the dereferenced function
variable, whereas ISO C relaxes the syntax. For example pointer expression in the call, whereas ISO C relaxes the syntax. For
example
typedef void (* cl_directive_handler) PARAMS ((cpp_reader *, const char *)); typedef void (* cl_directive_handler) PARAMS ((cpp_reader *, const char *));
*p->handler (pfile, p->arg); *p->handler (pfile, p->arg);
...@@ -192,6 +200,13 @@ will stringify an argument; to get the same result on K+R and ISO ...@@ -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. 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 Enums
----- -----
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment