summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Booth <neilb@earthling.net>2000-07-15 04:59:42 +0000
committerNeil Booth <neil@gcc.gnu.org>2000-07-15 04:59:42 +0000
commit46b6bb9549db70ccfc684cc4bd976c007b170391 (patch)
treef6708633a667befee64e88b682e327c3df62bcd5
parent1b0bd03b7ffba876c9085ee02a9756ac403cae19 (diff)
README.Portability: Correct example about calling a function through a pointer to function.
* README.Portability: Correct example about calling a function through a pointer to function. Format wide paragraphs. From-SVN: r35043
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/README.Portability22
2 files changed, 17 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8a5201d1422..7199aea58ce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-15 Neil Booth <NeilB@earthling.net>
+
+ * README.Portability: Correct example about calling a function
+ through a pointer to function. Format wide paragraphs.
+
2000-07-15 Michael Meissner <meissner@redhat.com>
* README.Portability: Update integer suffixes and function
diff --git a/gcc/README.Portability b/gcc/README.Portability
index d6c8aecaa5d..cc5fa32d56a 100644
--- a/gcc/README.Portability
+++ b/gcc/README.Portability
@@ -155,22 +155,23 @@ ansidecl.h for the definitions of the above macros and more.
#define PARAMS(paramlist) () /* K+R C. */
#define VPARAMS(args) (va_alist) va_dcl
-One aspect of using K+R style function declarations, is you cannot have
-arguments whose types are char, short, or float, since without prototypes (ie,
-K+R rules), these types are promoted to int, int, and double respectively.
+One aspect of using K+R style function declarations, is you cannot
+have arguments whose types are char, short, or float, since without
+prototypes (ie, K+R rules), these types are promoted to int, int, and
+double respectively.
Calling functions through pointers to functions
-----------------------------------------------
K+R C compilers require brackets around the dereferenced pointer
-variable. For example
+variable, whereas ISO C relaxes the syntax. For example
typedef void (* cl_directive_handler) PARAMS ((cpp_reader *, const char *));
- p->handler (pfile, p->arg);
+ *p->handler (pfile, p->arg);
needs to become
- (p->handler) (pfile, p->arg);
+ (*p->handler) (pfile, p->arg);
Macros
@@ -244,11 +245,12 @@ them.
Suffixes on Integer Constants
-----------------------------
-K+R C did not accept a 'u' suffix on integer constants. If you want to declare
-a constant to be be unsigned, you must use an explicit cast.
+K+R C did not accept a 'u' suffix on integer constants. If you want
+to declare a constant to be be unsigned, you must use an explicit
+cast.
-You should never use a 'l' suffix on integer constants ('L' is fine), since it
-can easily be confused with the number '1'.
+You should never use a 'l' suffix on integer constants ('L' is fine),
+since it can easily be confused with the number '1'.
Common Coding Pitfalls