bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sys/stat.h on VMS


From: John E. Malmberg
Subject: Re: sys/stat.h on VMS
Date: Mon, 03 Mar 2008 20:24:50 -0600
User-agent: Mozilla/5.0 (X11; U; OpenVMS AlphaServer_DS10_617_MHz; en-US; rv:1.7) Gecko/20040621

Bruno Haible wrote:
John E. Malmberg wrote:

In lib/sys_stat.in :

The VMS DECC compiler needs to test the undefined macros with !defined.

What do you mean by this?

There is a bug where in some cases it does not work, particularly if more than one undefined macro is present on an #if directive.

I do not have a reproducer handy.

1) What is the result of preprocessing (cc -E) code like this?

=========== foo.c ===========
#ifndef fooXYZZY
int dummy1;
#endif
#if !fooXYZZY
int dummy2;
#endif
=============================

That example is working for me. So I removed my changes to stat.in.h and rebuilt the world.

The errors that I saw before are no longer present. So obviously no changes are needed for stat.in.h


2) What is the definition of S_ISUID, S_ISGID, S_IREAD, S_IRUSR, S_IRGRP, 
S_IROTH,
S_IWRITE, S_IWUSR, S_IWGRP, S_IWOTH, S_IEXEC, S_IXUSR, S_IXGRP, S_IXOTH, 
S_IRWXU,
S_IRWXG, S_IRWXO, S_IXUGO on your system?

******************************
SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF]STAT.H;6

#define S_ISUID  0004000    /* set user id on execution */
#define S_ISGID  0002000    /* set group id on execution */
#define S_IRWXU  0000700    /* read,write,execute perm: owner */
#define S_IRUSR  0000400    /* read permission: owner */
#define S_IWUSR  0000200    /* write permission: owner */
#define S_IXUSR  0000100    /* execute/search permission: owner */
#define S_IRWXG  0000070    /* read,write,execute perm: group */
#define S_IRGRP  0000040    /* read permission: group */
#define S_IWGRP  0000020    /* write permission: group */
#define S_IXGRP  0000010    /* execute/search permission: group */
#define S_IRWXO  0000007    /* read,write,execute perm: other */
#define S_IROTH  0000004    /* read permission: other */
#define S_IWOTH  0000002    /* write permission: other */
#define S_IXOTH  0000001    /* execute/search permission: other */
#   define S_IREAD  0000400    /* read permission, owner */
#   define S_IWRITE 0000200    /* write permission, owner */
#   define S_IEXEC  0000100    /* execute/search permission, owner */

-John
address@hidden
Personal Opinion Only




reply via email to

[Prev in Thread] Current Thread [Next in Thread]