Xref: utzoo comp.bugs.4bsd:788 comp.lang.c:9435 comp.unix.wizards:7841 Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!mailrus!husc6!cmcl2!rna!dan From: dan@rna.UUCP (Dan Ts'o) Newsgroups: comp.bugs.4bsd,comp.lang.c,comp.unix.wizards Subject: Why the 4.3BSD C compiler seem to botch this ? Message-ID: <153@rna.UUCP> Date: 18 Apr 88 00:33:03 GMT Organization: Rockefeller University - Neurobiology Lines: 29 The code below seems okay and does passed thru SUN's C compiler fine, but the 4.3BSD C compiler misgenerates a label, causing an assembler error messages and an unknown external (during loading). (Yes, I know that z is not used. Its removal has no effect on the problem.) /* Shellsort */ fsort(a, z, n) register double *a; register unsigned z, n; { double w; register unsigned i, j, k; k = 1; n++; do { k = 3*k + 1; } while (k <= n); for (k /= 3; k > 0; k /= 3) { for (i = k; i < n; i++) { w = a[i]; for (j = i - k; (j >= 0) && (a[j] > w); j -= k) a[j + k] = a[j]; a[j] = w; } } } Thanks.