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