Re: Woohoo! My macros are now (semi) hygienic



In article
<a4936815-49ab-40fe-944e-3da1cd39014c@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
Kaz Kylheku <kkylheku@xxxxxxxxx> wrote:

If you use ``using namespace'', you open the door to future clashes.
When the contents of the namespace change, your program may then fail
to compile, even though nothing changed in your program. Simply, the
namespace acquired a new identifier which clashes with one of yours.

This is only one of many ways in which changes to a library can cause
you grief. Functions and macros can change their APIs in ways that can
cause compilation failures without changing the list of exported
symbols. Worse, functions and macros can change in ways that don't
cause compilation failures, but rather introduce runtime errors. In
extreme cases, changes to a library can introduce transient errors. So
on the spectrum of things that can go wrong when things change, name
clashes are arguably among the least of your worries.

rg
.



Relevant Pages

  • Re: 2.6.20-rc6-mm1
    ... apply over sixty patches to this tree to fix post-2.6.20-rc4-mm1 compilation ... And a number of patches were dropped due to no-compile or to ... runtime errors. ...
    (Linux-Kernel)
  • Re: About python 2.5 and its try statement.
    ... probably read the features that will be added to python 2.5. ... totally defeating a compiler's job by executing the finally part even ... sounds like you're confusing compilation and execution, ... with runtime errors. ...
    (comp.lang.python)
  • Re: 2.6.20-rc6-mm1
    ... apply over sixty patches to this tree to fix post-2.6.20-rc4-mm1 compilation ... And a number of patches were dropped due to no-compile or to ... runtime errors. ...
    (Linux-Kernel)
  • Re: 2.6.20-rc6-mm1
    ... apply over sixty patches to this tree to fix post-2.6.20-rc4-mm1 compilation ... And a number of patches were dropped due to no-compile or to ... runtime errors. ...
    (Linux-Kernel)