Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Some implementations provide language extensions that make it possible to define safe function-like macros, such as the macro ABS(), that would otherwise require evaluating their arguments more than once. For example, the GCC extension Statements and Declarations in Expressions makes it possible to implement the macro ABS() in a safe way. Note, however, that since because relying on implementation-defined extensions introduces undesirable platform dependencies that may make the resulting code nonportable, such solutions should be avoided in favor of portable ones wherever possible. (See MSC14-C. Do not introduce unnecessary platform dependencies.)

...