I would fix this compile message and lead to a different problem to solve :-)
On Tuesday, May 9, 2017 at 11:46:40 AM UTC-6, gmhwxi wrote: > > > What would happen if you add > > #include "share/atspre_staload.hats" > > after removing the following lines: > > staload _ = "prelude/DATS/pointer.dats" > staload _ = "prelude/DATS/array.dats" > staload _ = "prelude/DATS/arrayptr.dats" > staload _ = "prelude/DATS/arrayref.dats" > staload _ = "prelude/DATS/string.dats" > staload _ = "prelude/DATS/integer.dats" > staload _ = "prelude/DATS/integer_fixed.dats" > > On Tue, May 9, 2017 at 1:32 PM, Mike Jones <proc...@gmail.com > <javascript:>> wrote: > >> I upgraded my ATS compiler from 2.4 to 3.4 and now have a new compiler >> error that I have failed to fix, and need a few pointers. >> >> This application is not using the run time, as the code is linked into a >> larger application using an RTOS in an FX3. The application was fully >> working before the compiler upgrade. >> >> A file named frames.dats has the following code at the top: >> >> staload _ = "prelude/DATS/pointer.dats" >> staload _ = "prelude/DATS/array.dats" >> staload _ = "prelude/DATS/arrayptr.dats" >> staload _ = "prelude/DATS/arrayref.dats" >> staload _ = "prelude/DATS/string.dats" >> staload _ = "prelude/DATS/integer.dats" >> staload _ = "prelude/DATS/integer_fixed.dats" >> staload UN = "prelude/SATS/unsafe.sats" >> staload _ = "prelude/DATS/unsafe.dats" >> >> >> and this leads to the following compiler error: >> >> In file included from DATS/frames_dats.c:15:0: >> DATS/frames_dats.c: In function >> 'ATSLIB_056_prelude__ptr0_add_gint__12__1': >> DATS/frames_dats.c:2341:22: error: 'PMVtmpltcstmat' undeclared (first use >> in this function) >> ATSINSmove(tmp28__1, PMVtmpltcstmat[0](g0int2uint<S2Eextkind(atstype_int >> ), S2Eextkind(atstype_size)>)(arg1)) ; >> >> >> Looking at the generated code around line 2341: >> >> /* >> emit_instr: loc0 = >> /usr/local/lib/ats2-postiats-0.3.4/prelude/DATS/pointer.dats: 2125(line=81, >> offs=18) -- 2137(line=81, offs=30) >> */ >> ATSINSmove(tmp28__1, PMVtmpltcstmat[0](g0int2uint<S2Eextkind(atstype_int >> ), S2Eextkind(atstype_size)>)(arg1)) ; >> >> we can see the error came from compiling pointer.dats >> >> which has this code at line 81: >> >> implement >> {a}{tk} >> ptr0_add_gint(p, i) = >> add_ptr_bsz(p, g0int2uint(i) * sizeof<a>) >> implement >> {a}{tk} >> ptr0_sub_gint(p, i) = >> sub_ptr_bsz(p, g0int2uint(i) * sizeof<a>) >> >> I tried adding this at the top of frames.dats per other discussions in >> the group >> >> #include "share/atspre_staload.hats" >> >> but it does not help. >> >> My make file does not use the ATS .mk files, so I am providing my >> makefile in case I missed something important. >> >> Does anyone have any ideas on the root cause? >> >> FX3FWROOT=/opt/share/cypress/cyfx3sdk >> >> ATS = $(wildcard SATS/*.sats) >> DATS = $(wildcard DATS/*.dats) >> DATSC = $(patsubst %.dats,%_dats.c,$(DATS)) >> DATSOBJ = $(patsubst %.dats,%_dats.o,$(DATS)) >> >> ATS = patsopt >> ATSCFLAGS = -std=c99 -D_XOPEN_SOURCE >> ATSCFLAGS += -D_ATS_CCOMP_EXCEPTION_NONE_ -D_ATS_CCOMP_RUNTIME_NONE_ >> ATSCFLAGS += -Wno-unused-variable -Wno-unused-label >> -Wno-unused-but-set-variable >> ATSCFLAGS += -I. -I${PATSHOME} -I${PATSHOME}/ccomp/runtime >> ATSCFLAGS += -DATS_MEMALLOC_LIBC >> >> USER_CFLAGS = $(ATSCFLAGS) >> >> CYCONFOPT = fx3_profile_release >> >> all:compile >> >> include $(FX3FWROOT)/fw_build/fx3_fw/fx3_build_config.mak >> >> MODULE = upuck >> >> SOURCE= $(MODULE).c \ >> dscr.c \ >> cyfxtx.c \ >> smbus.c \ >> fetch.c \ >> apperror.c \ >> DATS/print_dats.c \ >> DATS/frames_dats.c \ >> DATS/numbers_dats.c \ >> DATS/polling_dats.c \ >> DATS/crc_dats.c \ >> DATS/smbus_dats.c \ >> DATS/process_dats.c >> >> ifeq ($(CYFXBUILD),arm) >> SOURCE_ASM=cyfx_startup.S >> else >> SOURCE_ASM=cyfx_gcc_startup.S >> endif >> >> C_OBJECT=$(SOURCE:%.c=./%.o) >> A_OBJECT=$(SOURCE_ASM:%.S=./%.o) >> >> EXES = $(MODULE).$(EXEEXT) >> >> $(MODULE).$(EXEEXT): $(A_OBJECT) $(C_OBJECT) >> $(LINK) >> >> cyfxtx.c: >> cp $(FX3FWROOT)/fw_build/fx3_fw/cyfxtx.c . >> >> cyfx_startup.S: >> cp $(FX3FWROOT)/fw_build/fx3_fw/cyfx_startup.S . >> >> cyfx_gcc_startup.S: >> cp $(FX3FWROOT)/fw_build/fx3_fw/cyfx_gcc_startup.S . >> >> $(DATSC): %_dats.c: %.dats $(SATS) >> $(ATS) -o $@.tmp -d $< >> mv $@.tmp $@ >> >> $(C_OBJECT) : %.o : %.c >> $(COMPILE) >> >> $(A_OBJECT) : %.o : %.S >> $(ASSEMBLE) >> >> image: >> -@echo 'Generate boot-loadable binary image' >> -/opt/cypress/cyfx3sdk/util/elf2img/elf2img -i upuck.elf -o upuck.img >> -v >> -@echo ' ' >> >> clean: >> rm -f ./$(MODULE).$(EXEEXT) >> rm -f ./$(MODULE).map >> rm -f ./*.o DATS/*.o DATS/*.c >> rm -f cyfxtx.c cyfx_startup.S cyfx_gcc_startup.S >> >> >> compile: $(C_OBJECT) $(A_OBJECT) $(EXES) >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "ats-lang-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to ats-lang-user...@googlegroups.com <javascript:>. >> To post to this group, send email to ats-lan...@googlegroups.com >> <javascript:>. >> Visit this group at https://groups.google.com/group/ats-lang-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ats-lang-users/d49957aa-782c-47f3-b6a5-6e63df153af7%40googlegroups.com >> >> <https://groups.google.com/d/msgid/ats-lang-users/d49957aa-782c-47f3-b6a5-6e63df153af7%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > > -- You received this message because you are subscribed to the Google Groups "ats-lang-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-users+unsubscr...@googlegroups.com. To post to this group, send email to ats-lang-users@googlegroups.com. Visit this group at https://groups.google.com/group/ats-lang-users. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/e1af933b-6c4a-464b-bcf0-cdb07007dee1%40googlegroups.com.