[Rd] R Include File Guards
Paul Roebuck
roebuck at odin.mdacc.tmc.edu
Wed May 18 23:23:19 CEST 2005
On Wed, 18 May 2005, Prof Brian Ripley wrote:
> On Wed, 18 May 2005, Paul Roebuck wrote:
>
> > R 2.1.0/src/include from 2005/04/18 download
> >
> > Naming inconsistent for guards as well but that's pedantic.
> > Simple convention:
> > file <foo.h>
> > #ifndef R_FOO_H
> > file <R_ext/bar.h>
> > #ifndef R_EXT_BAR_H
> >
> > Missing guards:
> > <IOStuff.h>
> > <Internal.h>
> > <Parse.h>
> > <R_ext/GraphicsBase.h>
> > <R_ext/GraphicsDevice.h>
> > <R_ext/GraphicsEngine.h>
> > <R_ext/R-ftp-http.h>
> > <R_ext/libextern.h>
> >
> >
> > Illegal Guards (leading underscore):
> > <Rinternals.h>
> > <R_ext/Error.h>
> > <config.h.in>
>
> What is `illegal' about that?
ANSI C standard reserves identifiers that begin with
underscore followed by capital letter for implementation.
Strictly speaking, if a program uses such an identifier,
it's behavior is undefined.
<http://docs.hp.com/en/B9106-90012/stdsyms.5.html>
<http://docs.sun.com/app/docs/doc/802-2124/6i6425cof?a=view>
<http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_1.html>
----------------------------------------------------------
SIGSIG -- signature too long (core dumped)
More information about the R-devel
mailing list