Building with clang fails like this:

cc -c -o a.o ../../../../jsrc/a.c  -fPIC -O2 -fvisibility=hidden
-fno-strict-aliasing   -Werror -Wextra -Wno-unknown-warning-option
-Wsign-compare  -Wtautological-constant-out-of-range-compare
-Wuninitialized  -Wno-char-subscripts  -Wno-consumed
-Wno-delete-non-abstract-non-virtual-dtor  -Wno-empty-body
-Wno-implicit-float-conversion  -Wno-implicit-int-float-conversion
-Wno-int-in-bool-context  -Wno-missing-braces  -Wno-parentheses
-Wno-pass-failed  -Wno-pointer-sign  -Wno-pointer-to-int-cast
-Wno-sometimes-uninitialized  -Wno-string-plus-int
-Wno-unknown-pragmas  -Wno-unsequenced  -Wno-unused-but-set-variable
-Wno-unused-function  -Wno-unused-parameter  -Wno-unused-value
-Wno-unused-variable  -DSLEEF=1 -DEMU_AVX=1 -DC_AVX=1   -mavx
In file included from ../../../../jsrc/a.c:6:
In file included from ../../../../jsrc/j.h:164:
../../../../jsrc/../sleef/include/sleef.h:140:9: error: unknown type
name '__float128'
typedef __float128 Sleef_quad;
        ^
1 error generated.

(This is on a different system from the one that was failing earlier.
I'm going to take some time to look into this, and maybe there's a
simple solution.)

((I should also mention, since I keep thinking this, but never seem to
talk about it: that I Really Wish that compiler context feature tests
were implemented modularly. Like: a feature test directory with a
makefile (to represent dependencies between feature tests) which
generates environmental variable declarations (one env var per file,
one file per feature, and then at the end of the makefile hierarchy a
cat command to build a shell include script with env var settings for
all features. Except, of course, the c preprocessor SYS mechanism
doesn't adequately support this kind of approach.))

FYI,

-- 
Raul

On Fri, Feb 25, 2022 at 11:55 PM bill lam <bbill....@gmail.com> wrote:
>
> Can you also try compile with clang?
>
> On Sat, 26 Feb 2022 at 12:47 PM Raul Miller <rauldmil...@gmail.com> wrote:
>
> > I am trying to compile J (on a nonavx linux system -- celeron
> > processor), and I'm running into a memory alignment issue.
> >
> > Specifically, test/g022.ijs triggers a segmentation fault, and when
> > compiling, I'm getting a variety of warnings that the ABI for passing
> > parameters with 32-byte alignment has changed in GCC 4.6
> >
> > So, before I go digging into the details of what's going on here, I
> > was wondering if anyone else had run into this issue, and (if so) how
> > they dealt with it.
> >
> > (I should also confess that I might not have properly handled the
> > non-avx architecture:  I altered make2/build-all.sh so that it, by
> > default, always sets j64x=j64 for linux, for my builds. Hopefully
> > that's not an issue, but when debugging I have found that it often
> > pays to be a bit skeptical that I've done the right thing.)
> >
> > Thanks,
> >
> > --
> > Raul
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to