bug-make
[Top][All Lists]
Advanced

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

Re: VMS: Exit and exported symbol fixes.


From: Paul Smith
Subject: Re: VMS: Exit and exported symbol fixes.
Date: Wed, 08 Oct 2014 00:20:38 -0400

John: thanks for these fixes!

On Mon, 2014-10-06 at 23:50 -0500, John E. Malmberg wrote:
> +#ifndef C_FACILITY_NO
> +#define C_FACILITY_NO 0x350000
> +#endif
> +#ifndef VMS_POSIX_EXIT_MASK
> +#define VMS_POSIX_EXIT_MASK (C_FACILITY_NO | 0xA000)
> +#endif

We try to indent preprocessor macros inside conditionals; this isn't
100% followed but it's preferred.

> +              if ((c->cstatus & VMS_POSIX_EXIT_MASK) == VMS_POSIX_EXIT_MASK)
> +                {
> +                  status = (c->cstatus >> 3 & 255) << 8;
> +                }

The GNU coding standard used by GNU make says that braces should not be
used for single-statement blocks (I know this is controversial in some
quarters, but that's how all the rest of the GNU make code is written).
There are many places like this.

> +      {
> +          char * value;
> +          value = getenv("GNV$MAKE_USE_MCR");

The coding standards require "*" to be cuddled with the variable name.
Also, I think value should be "const char *value;" here.

And, the standard requires a space between the function name and open
paren, so "value = getenv (...".  There are a number of instances of
missing space.

> +/* Build a Posix Exit with VMS severity */
> +void vms_exit(int status) {

Return types should come on the previous line, and function opening
braces should be on the next line in the first column of the next line,
plus whitespace between the name and open paren, like this:

  void
  vms_exit (int status)
  {

Same for structs.

> +++ b/vms_export_symbol.c

This file seems to use a very different coding style; is it shared with
another program such that you don't want to use the GNU standard style?

> +++ b/vms_progname.c

Ditto here.

Plus, we need to add all these new files to the Makefile.am in the
EXTRA_DIST variable otherwise they'll be left out of the distribution
tarballs etc.




reply via email to

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