diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-16 02:14:14 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-16 02:14:14 +0000 |
commit | 10bfc444b6e08c8d9920b871ec4cdef916aaa59f (patch) | |
tree | da29f386742d032078e5bbde6a9f26d8f7c8dd5e /gcc/README.Portability | |
parent | c82c078a9adf8f7346f109cb6cff1934a7dd4c28 (diff) | |
download | gcc-10bfc444b6e08c8d9920b871ec4cdef916aaa59f.tar.gz |
* README.Portability: Small update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35056 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/README.Portability')
-rw-r--r-- | gcc/README.Portability | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/gcc/README.Portability b/gcc/README.Portability index cc5fa32d56a..43efc39f3c3 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 ----- |