Push em_ego.c through clang-format before working on it.
authorDavid Given <dg@cowlark.com>
Sun, 21 Aug 2016 16:45:25 +0000 (18:45 +0200)
committerDavid Given <dg@cowlark.com>
Sun, 21 Aug 2016 16:45:25 +0000 (18:45 +0200)
.clang-format [new file with mode: 0644]
util/ego/em_ego/em_ego.c

diff --git a/.clang-format b/.clang-format
new file mode 100644 (file)
index 0000000..d5e0c3a
--- /dev/null
@@ -0,0 +1,11 @@
+---
+BasedOnStyle: WebKit
+AllowShortLoopsOnASingleLine: 'false'
+AlwaysBreakAfterDefinitionReturnType: false
+BreakBeforeBraces: Allman
+IndentCaseLabels: 'true'
+PointerAlignment: Left
+TabWidth: '4'
+UseTab: ForIndentation
+
+...
index 9542b41..0d4bc06 100644 (file)
 #include <signal.h>
 #include <system.h>
 
-#define        IC      1
-#define CF     2
-#define IL     3
-#define CS     4
-#define SR     5
-#define UD     6
-#define LV     7
-#define RA     8
-#define SP     9
-#define BO     10
-#define CJ     11
-#define CA     12
-
-static char *phnames[] = {
-  0,
-  "ic",
-  "cf",
-  "il",
-  "cs",
-  "sr",
-  "ud",
-  "lv",
-  "ra",
-  "sp",
-  "bo",
-  "cj",
-  "ca",
-  0
+#define IC 1
+#define CF 2
+#define IL 3
+#define CS 4
+#define SR 5
+#define UD 6
+#define LV 7
+#define RA 8
+#define SP 9
+#define BO 10
+#define CJ 11
+#define CA 12
+
+static charphnames[] = {
+       0,
+       "ic",
+       "cf",
+       "il",
+       "cs",
+       "sr",
+       "ud",
+       "lv",
+       "ra",
+       "sp",
+       "bo",
+       "cj",
+       "ca",
+       0
 };
 
-#define MAXUPHASES     64              /* max # of phases to be run */
-#define MAXARGS                1024            /* mar # of args */
-#define NTEMPS         4               /* # of temporary files; not tunable */
+#define MAXUPHASES 64 /* max # of phases to be run */
+#define MAXARGS 1024 /* mar # of args */
+#define NTEMPS 4 /* # of temporary files; not tunable */
 
-extern char    *mktemp();
-extern char    *strcpy(), *strcat();
-extern char    *strrchr();
+extern charmktemp();
+extern charstrcpy(), *strcat();
+extern charstrrchr();
 
-static char    ddump[128] = TMP_DIR;   /* data label dump file */
-static char    pdump[128] = TMP_DIR;   /* procedure name dump file */
-static char    tmpbufs[NTEMPS*2][128] = {
-  TMP_DIR
+static char ddump[128] = TMP_DIR; /* data label dump file */
+static char pdump[128] = TMP_DIR; /* procedure name dump file */
+static char tmpbufs[NTEMPS * 2][128] = {
+       TMP_DIR
 };
 
-static int O2phases[] = {              /* Passes for -O2 */
-  CJ, BO, SP, 0
+static int O2phases[] = { /* Passes for -O2 */
+       CJ, BO, SP, 0
 };
 
-static int O3phases[] = {              /* Passes for -O3 */
-  CS, SR, CJ, BO, SP, UD, LV, RA, 0
+static int O3phases[] = { /* Passes for -O3 */
+       CS, SR, CJ, BO, SP, UD, LV, RA, 0
 };
 
-static int O4phases[] = {              /* Passes for -O4 */
-  IL, CF, CS, SR, CJ, BO, SP, UD, LV, RA, 0
+static int O4phases[] = { /* Passes for -O4 */
+       IL, CF, CS, SR, CJ, BO, SP, UD, LV, RA, 0
 };
 
-static int     *Ophase = &O2phases[0]; /* default : -O2 */
+static intOphase = &O2phases[0]; /* default : -O2 */
 
-static int     nuphases;               /* # of phases specified by user */
-static int     uphases[MAXUPHASES+1];  /* phases to be run */
+static int nuphases; /* # of phases specified by user */
+static int uphases[MAXUPHASES + 1]; /* phases to be run */
 
-static int     nfiles = NTEMPS*2+1;    /* leave space for tempfilenames */
-static char    *phargs[MAXARGS+1];
+static int nfiles = NTEMPS * 2 + 1; /* leave space for tempfilenames */
+static char* phargs[MAXARGS + 1];
 
-static int     keeptemps = 0;
+static int keeptemps = 0;
 
-static char    **phase_args;
-static int     nphase_args;
+static char** phase_args;
+static int nphase_args;
 
-static char    *opt_dir;
-static char    *prog_name;
+static charopt_dir;
+static charprog_name;
 
-static int     v_flag;
+static int v_flag;
 
 static void
 cleanup()
 {
-  /*   Cleanup temporaries */
+       /*      Cleanup temporaries */
 
-  if (! keeptemps) {
-       register int i;
+       if (!keeptemps)
+       {
+               register int i;
 
-       for (i = NTEMPS*2; i > 0; i--) {
-               register char   *f = phargs[i];
-               if (f != 0 && *f != '\0' && *f != '-') (void) unlink(f);
+               for (i = NTEMPS * 2; i > 0; i--)
+               {
+                       register char* f = phargs[i];
+                       if (f != 0 && *f != '\0' && *f != '-')
+                               (void)unlink(f);
+               }
+               if (ddump[0] != '\0')
+                       (void)unlink(ddump);
+               if (pdump[0] != '\0')
+                       (void)unlink(pdump);
        }
-       if (ddump[0] != '\0') (void) unlink(ddump);
-       if (pdump[0] != '\0') (void) unlink(pdump);
-  }
 }
 
 /*VARARGS1*/
 static void
-fatal(s, s2)
-  char *s;
-  char *s2;
+    fatal(s, s2) char* s;
+char* s2;
 {
-  /*   A fatal error occurred; exit gracefully */
-
-  fprint(STDERR, "%s: ", prog_name);
-  fprint(STDERR, s, s2);
-  fprint(STDERR, "\n");
-  cleanup();
-  sys_stop(S_EXIT);
-  /*NOTREACHED*/
+       /*      A fatal error occurred; exit gracefully */
+
+       fprint(STDERR, "%s: ", prog_name);
+       fprint(STDERR, s, s2);
+       fprint(STDERR, "\n");
+       cleanup();
+       sys_stop(S_EXIT);
+       /*NOTREACHED*/
 }
 
 static void
-add_file(s)
-  char *s;
+    add_file(s) char* s;
 {
-  /*   Add an input file to the list */
+       /*      Add an input file to the list */
 
-  if (nfiles >= MAXARGS) fatal("too many files");
-  phargs[nfiles++] = s;
+       if (nfiles >= MAXARGS)
+               fatal("too many files");
+       phargs[nfiles++] = s;
 }
 
 static void
-add_uphase(p)
-  int  p;
+    add_uphase(p) int p;
 {
-  /*   Add an optimizer phase to the list of phases to run */
+       /*      Add an optimizer phase to the list of phases to run */
 
-  if (nuphases >= MAXUPHASES) fatal("too many phases");
-  uphases[nuphases++] = p;
+       if (nuphases >= MAXUPHASES)
+               fatal("too many phases");
+       uphases[nuphases++] = p;
 }
 
-static void
-catch()
+static void catch ()
 {
-  /*   Catch interrupts and exit gracefully */
+       /*      Catch interrupts and exit gracefully */
 
-  cleanup();
-  sys_stop(S_EXIT);
+       cleanup();
+       sys_stop(S_EXIT);
 }
 
 static void
 old_infiles()
 {
-  /*   Remove old input files unless we have to keep them around. */
+       /*      Remove old input files unless we have to keep them around. */
 
-  register int i;
+       register int i;
 
-  if (phargs[1] == pdump || keeptemps) return;
+       if (phargs[1] == pdump || keeptemps)
+               return;
 
-  for (i = 1; i <= NTEMPS; i++) (void) unlink(phargs[i]);
+       for (i = 1; i <= NTEMPS; i++)
+               (void)unlink(phargs[i]);
 }
 
 static void
 get_infiles()
 {
-  /*   Make output temps from previous phase input temps of next phase. */
+       /*      Make output temps from previous phase input temps of next phase. */
 
-  register int i;
-  register char        **dst = &phargs[1];
-  register char        **src = &phargs[NTEMPS+1];
+       register int i;
+       register char** dst = &phargs[1];
+       register char** src = &phargs[NTEMPS + 1];
 
-  for (i = 1; i <= NTEMPS; i++) {
-       *dst++ = *src++;
-  }
+       for (i = 1; i <= NTEMPS; i++)
+       {
+               *dst++ = *src++;
+       }
 }
 
 static void
 new_outfiles()
 {
-  static int   tmpindex = 0;
-  static int   Bindex = 0;
-  static char  dig1 = '1';
-  static char  dig2 = '0';
-  register int i;
-  register char        **dst = &phargs[NTEMPS+1];
-
-  if (! Bindex) {
-       Bindex = strrchr(tmpbufs[0], 'B') - tmpbufs[0];
-  }
-  for (i = 1; i <= NTEMPS; i++) {
-       *dst = tmpbufs[tmpindex];
-       (*dst)[Bindex-1] = dig2;
-       (*dst)[Bindex] = dig1;
-       tmpindex++;
-       dst++;
-  }
-  if (tmpindex >= 2*NTEMPS) tmpindex = 0;
-  if (++dig1 > '9') {
-       ++dig2;
-       dig1 = '0';
-  }
+       static int tmpindex = 0;
+       static int Bindex = 0;
+       static char dig1 = '1';
+       static char dig2 = '0';
+       register int i;
+       register char** dst = &phargs[NTEMPS + 1];
+
+       if (!Bindex)
+       {
+               Bindex = strrchr(tmpbufs[0], 'B') - tmpbufs[0];
+       }
+       for (i = 1; i <= NTEMPS; i++)
+       {
+               *dst = tmpbufs[tmpindex];
+               (*dst)[Bindex - 1] = dig2;
+               (*dst)[Bindex] = dig1;
+               tmpindex++;
+               dst++;
+       }
+       if (tmpindex >= 2 * NTEMPS)
+               tmpindex = 0;
+       if (++dig1 > '9')
+       {
+               ++dig2;
+               dig1 = '0';
+       }
 }
 
 static void
-run_phase(phase)
-  int  phase;
+    run_phase(phase) int phase;
 {
-  /*   Run one phase of the global optimizer; special cases are
+       /*      Run one phase of the global optimizer; special cases are
        IC and CA.
   */
-  static int flags_added;
-  register int argc;
-  register int i;
-  char buf[256];
-  int  pid, status;
-
-  phargs[0] = buf;
-  (void) strcpy(buf, opt_dir);
-  (void) strcat(buf, "/");
-  (void) strcat(buf, phnames[phase]);
-
-  switch(phase) {
-  case IC:
-       phargs[1] = pdump;
-       phargs[2] = ddump;
-       for (i = 3; i <= NTEMPS; i++) phargs[i] = "-";
-       new_outfiles();
-       argc = nfiles;
-       phargs[argc] = 0;
-       break;
-
-  case CA:
-       old_infiles();
-       get_infiles();
-       phargs[NTEMPS+1] = pdump;
-       phargs[NTEMPS+2] = ddump;
-       for (i = NTEMPS+3; i <= 2*NTEMPS; i++) phargs[i] = "-";
-       argc = 2*NTEMPS+1;
-       phargs[argc] = 0;
-       break;
-
-  default:
-       old_infiles();
-       get_infiles();
-       new_outfiles();
-       if (! flags_added) {
-               flags_added = 1;
-               argc = 2*NTEMPS+1;
-               while (--nphase_args >= 0) {
-                       phargs[argc++] = *phase_args++;
-               }
-               phargs[argc] = 0;
-       }
-       break;
-  }
-  if ((pid = fork()) < 0) {
-       fatal("Could not fork");
-  }
-  else if (pid == 0) {
-       if (v_flag) {
-               register int i = 0;
-
-               while (phargs[i]) {
-                       fprint(STDERR, "%s ", phargs[i]);
-                       i++;
-               }
-               fprint(STDERR, "\n");
+       static int flags_added;
+       register int argc;
+       register int i;
+       char buf[256];
+       int pid, status;
+
+       phargs[0] = buf;
+       (void)strcpy(buf, opt_dir);
+       (void)strcat(buf, "/");
+       (void)strcat(buf, phnames[phase]);
+
+       switch (phase)
+       {
+               case IC:
+                       phargs[1] = pdump;
+                       phargs[2] = ddump;
+                       for (i = 3; i <= NTEMPS; i++)
+                               phargs[i] = "-";
+                       new_outfiles();
+                       argc = nfiles;
+                       phargs[argc] = 0;
+                       break;
+
+               case CA:
+                       old_infiles();
+                       get_infiles();
+                       phargs[NTEMPS + 1] = pdump;
+                       phargs[NTEMPS + 2] = ddump;
+                       for (i = NTEMPS + 3; i <= 2 * NTEMPS; i++)
+                               phargs[i] = "-";
+                       argc = 2 * NTEMPS + 1;
+                       phargs[argc] = 0;
+                       break;
+
+               default:
+                       old_infiles();
+                       get_infiles();
+                       new_outfiles();
+                       if (!flags_added)
+                       {
+                               flags_added = 1;
+                               argc = 2 * NTEMPS + 1;
+                               while (--nphase_args >= 0)
+                               {
+                                       phargs[argc++] = *phase_args++;
+                               }
+                               phargs[argc] = 0;
+                       }
+                       break;
        }
-       (void) execv(phargs[0], phargs);
-       fatal("Could not exec %s", phargs[0]);
-       sys_stop(S_EXIT);
-  }
-  else {
-       while (wait(&status) != pid) /* nothing */ ;
-       if ((status & 0177) != 0) {
-               fatal("%s got a unix signal", phargs[0]);
+       if ((pid = fork()) < 0)
+       {
+               fatal("Could not fork");
        }
-       if (((status >> 8) & 0377) != 0) {
-               cleanup();
+       else if (pid == 0)
+       {
+               if (v_flag)
+               {
+                       register int i = 0;
+
+                       while (phargs[i])
+                       {
+                               fprint(STDERR, "%s ", phargs[i]);
+                               i++;
+                       }
+                       fprint(STDERR, "\n");
+               }
+               (void)execv(phargs[0], phargs);
+               fatal("Could not exec %s", phargs[0]);
                sys_stop(S_EXIT);
        }
-  }
+       else
+       {
+               while (wait(&status) != pid) /* nothing */
+                       ;
+               if ((status & 0177) != 0)
+               {
+                       fatal("%s got a unix signal", phargs[0]);
+               }
+               if (((status >> 8) & 0377) != 0)
+               {
+                       cleanup();
+                       sys_stop(S_EXIT);
+               }
+       }
 }
 
-main(argc, argv)
-  int  argc;
-  char *argv[];
+main(argc, argv) int argc;
+char* argv[];
 {
-  register int i = 0;
-
-  if (signal(SIGHUP, catch) == SIG_IGN) (void) signal(SIGHUP, SIG_IGN);
-  if (signal(SIGQUIT, catch) == SIG_IGN) (void) signal(SIGQUIT, SIG_IGN);
-  if (signal(SIGINT, catch) == SIG_IGN) (void) signal(SIGINT, SIG_IGN);
-  prog_name = argv[0];
-  phase_args = &argv[1];
-  while (--argc > 0) {
-       argv++;
-       if (argv[0][0] == '-') {
-               switch(argv[0][1]) {
-               case 'P':
-                       if (argv[0][2] == '\0') {
-                               opt_dir = argv[1];
-                               argc--;
-                               argv++;
-                               continue;
-                       }
-                       break;
-               case 't':
-                       if (argv[0][2] == '\0') {
-                               keeptemps = 1;
-                               /* no continue; IL also needs this */
-                       }
-                       break;
-               case 'v':
-                       v_flag = 1;
-                       break;
-               case 'O':
-                       if (argv[0][2] == '2' || argv[0][2] == '\0') continue;
-                       if (argv[0][2] == '3') {
-                               Ophase = &O3phases[0];
-                               continue;
-                       }
-                       Ophase = &O4phases[0];
-                       continue;
-               case 'I':
-                       if (! strcmp(&argv[0][1], "IL")) {
-                               add_uphase(IL);
-                               add_uphase(CF);
-                               continue;
-                       }
-                       break;
-               case 'B':
-                       if (! strcmp(&argv[0][1], "BO")) {
-                               add_uphase(BO);
-                               continue;
-                       }
-                       break;
-               case 'R':
-                       if (! strcmp(&argv[0][1], "RA")) {
-                               add_uphase(RA);
-                               continue;
-                       }
-                       break;
-               case 'U':
-                       if (! strcmp(&argv[0][1], "UD")) {
-                               add_uphase(UD);
-                               continue;
-                       }
-                       break;
-               case 'L':
-                       if (! strcmp(&argv[0][1], "LV")) {
-                               add_uphase(LV);
-                               continue;
-                       }
-                       break;
-               case 'C':
-                       if (! strcmp(&argv[0][1], "CS")) {
-                               add_uphase(CS);
-                               continue;
-                       }
-                       if (! strcmp(&argv[0][1], "CJ")) {
-                               add_uphase(CJ);
-                               continue;
-                       }
-                       break;
-               case 'S':
-                       if (! strcmp(&argv[0][1], "SR")) {
-                               add_uphase(SR);
-                               continue;
-                       }
-                       if (! strcmp(&argv[0][1], "SP")) {
-                               add_uphase(SP);
-                               continue;
+       register int i = 0;
+
+       if (signal(SIGHUP, catch) == SIG_IGN)
+               (void)signal(SIGHUP, SIG_IGN);
+       if (signal(SIGQUIT, catch) == SIG_IGN)
+               (void)signal(SIGQUIT, SIG_IGN);
+       if (signal(SIGINT, catch) == SIG_IGN)
+               (void)signal(SIGINT, SIG_IGN);
+       prog_name = argv[0];
+       phase_args = &argv[1];
+       while (--argc > 0)
+       {
+               argv++;
+               if (argv[0][0] == '-')
+               {
+                       switch (argv[0][1])
+                       {
+                               case 'P':
+                                       if (argv[0][2] == '\0')
+                                       {
+                                               opt_dir = argv[1];
+                                               argc--;
+                                               argv++;
+                                               continue;
+                                       }
+                                       break;
+                               case 't':
+                                       if (argv[0][2] == '\0')
+                                       {
+                                               keeptemps = 1;
+                                               /* no continue; IL also needs this */
+                                       }
+                                       break;
+                               case 'v':
+                                       v_flag = 1;
+                                       break;
+                               case 'O':
+                                       if (argv[0][2] == '2' || argv[0][2] == '\0')
+                                               continue;
+                                       if (argv[0][2] == '3')
+                                       {
+                                               Ophase = &O3phases[0];
+                                               continue;
+                                       }
+                                       Ophase = &O4phases[0];
+                                       continue;
+                               case 'I':
+                                       if (!strcmp(&argv[0][1], "IL"))
+                                       {
+                                               add_uphase(IL);
+                                               add_uphase(CF);
+                                               continue;
+                                       }
+                                       break;
+                               case 'B':
+                                       if (!strcmp(&argv[0][1], "BO"))
+                                       {
+                                               add_uphase(BO);
+                                               continue;
+                                       }
+                                       break;
+                               case 'R':
+                                       if (!strcmp(&argv[0][1], "RA"))
+                                       {
+                                               add_uphase(RA);
+                                               continue;
+                                       }
+                                       break;
+                               case 'U':
+                                       if (!strcmp(&argv[0][1], "UD"))
+                                       {
+                                               add_uphase(UD);
+                                               continue;
+                                       }
+                                       break;
+                               case 'L':
+                                       if (!strcmp(&argv[0][1], "LV"))
+                                       {
+                                               add_uphase(LV);
+                                               continue;
+                                       }
+                                       break;
+                               case 'C':
+                                       if (!strcmp(&argv[0][1], "CS"))
+                                       {
+                                               add_uphase(CS);
+                                               continue;
+                                       }
+                                       if (!strcmp(&argv[0][1], "CJ"))
+                                       {
+                                               add_uphase(CJ);
+                                               continue;
+                                       }
+                                       break;
+                               case 'S':
+                                       if (!strcmp(&argv[0][1], "SR"))
+                                       {
+                                               add_uphase(SR);
+                                               continue;
+                                       }
+                                       if (!strcmp(&argv[0][1], "SP"))
+                                       {
+                                               add_uphase(SP);
+                                               continue;
+                                       }
+                                       break;
                        }
-                       break;
+                       phase_args[i++] = argv[0];
+               }
+               else
+               {
+                       add_file(argv[0]);
                }
-               phase_args[i++] = argv[0];
        }
-       else {
-               add_file(argv[0]);
+       phase_args[i] = 0;
+       nphase_args = i;
+       if (nuphases)
+               Ophase = uphases;
+
+       if (nfiles == 2 * NTEMPS + 1)
+       {
+               /* 2*NTEMPS+1 was the starting value; nothing to do */
+               sys_stop(S_END);
+       }
+
+       if (!opt_dir)
+       {
+               fatal("no correct -P flag given");
        }
-  }
-  phase_args[i] = 0;
-  nphase_args = i;
-  if (nuphases) Ophase = uphases;
 
-  if (nfiles == 2*NTEMPS+1) {
-       /* 2*NTEMPS+1 was the starting value; nothing to do */
+       if (keeptemps)
+       {
+               (void)strcpy(ddump, ".");
+               (void)strcpy(pdump, ".");
+               (void)strcpy(tmpbufs[0], ".");
+       }
+       (void)strcat(ddump, "/ego.dd.XXXXXX");
+       (void)mktemp(ddump);
+       (void)strcat(pdump, "/ego.pd.XXXXXX");
+       (void)mktemp(pdump);
+
+       (void)strcat(tmpbufs[0], "/ego.A.BB.XXXXXX");
+       (void)mktemp(tmpbufs[0]);
+       for (i = 2 * NTEMPS - 1; i >= 1; i--)
+       {
+               (void)strcpy(tmpbufs[i], tmpbufs[0]);
+       }
+       i = strrchr(tmpbufs[0], 'A') - tmpbufs[0];
+       tmpbufs[0][i] = 'p';
+       tmpbufs[NTEMPS + 0][i] = 'p';
+       tmpbufs[1][i] = 'd';
+       tmpbufs[NTEMPS + 1][i] = 'd';
+       tmpbufs[2][i] = 'l';
+       tmpbufs[NTEMPS + 2][i] = 'l';
+       tmpbufs[3][i] = 'b';
+       tmpbufs[NTEMPS + 3][i] = 'b';
+       run_phase(IC);
+       run_phase(CF);
+       while (*Ophase)
+       {
+               run_phase(*Ophase++);
+       }
+       run_phase(CA);
+       cleanup();
        sys_stop(S_END);
-  }
-
-  if (! opt_dir) {
-       fatal("no correct -P flag given");
-  }
-
-  if (keeptemps) {
-       (void) strcpy(ddump, ".");
-       (void) strcpy(pdump, ".");
-       (void) strcpy(tmpbufs[0], ".");
-  }
-  (void) strcat(ddump, "/ego.dd.XXXXXX");
-  (void) mktemp(ddump);
-  (void) strcat(pdump, "/ego.pd.XXXXXX");
-  (void) mktemp(pdump);
-
-  (void) strcat(tmpbufs[0], "/ego.A.BB.XXXXXX");
-  (void) mktemp(tmpbufs[0]);
-  for (i = 2*NTEMPS-1; i >= 1; i--) {
-       (void) strcpy(tmpbufs[i], tmpbufs[0]);
-  }
-  i = strrchr(tmpbufs[0], 'A') - tmpbufs[0];
-  tmpbufs[0][i] = 'p'; tmpbufs[NTEMPS+0][i] = 'p';
-  tmpbufs[1][i] = 'd'; tmpbufs[NTEMPS+1][i] = 'd';
-  tmpbufs[2][i] = 'l'; tmpbufs[NTEMPS+2][i] = 'l';
-  tmpbufs[3][i] = 'b'; tmpbufs[NTEMPS+3][i] = 'b';
-  run_phase(IC);
-  run_phase(CF);
-  while (*Ophase) {
-       run_phase(*Ophase++);
-  }
-  run_phase(CA);
-  cleanup();
-  sys_stop(S_END);
-  /*NOTREACHED*/
+       /*NOTREACHED*/
 }