You can subscribe to this list here.
2000 |
Jan
(81) |
Feb
(55) |
Mar
(459) |
Apr
(159) |
May
(126) |
Jun
(69) |
Jul
(48) |
Aug
(29) |
Sep
(106) |
Oct
(76) |
Nov
(155) |
Dec
(161) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(122) |
Feb
(150) |
Mar
(294) |
Apr
(124) |
May
(197) |
Jun
(266) |
Jul
(111) |
Aug
(259) |
Sep
(163) |
Oct
(142) |
Nov
(101) |
Dec
(86) |
2002 |
Jan
(187) |
Feb
(108) |
Mar
(274) |
Apr
(157) |
May
(346) |
Jun
(242) |
Jul
(345) |
Aug
(187) |
Sep
(263) |
Oct
(69) |
Nov
(30) |
Dec
(76) |
2003 |
Jan
(125) |
Feb
(191) |
Mar
(87) |
Apr
(69) |
May
(107) |
Jun
(66) |
Jul
(112) |
Aug
(161) |
Sep
(184) |
Oct
(137) |
Nov
(28) |
Dec
(61) |
2004 |
Jan
(148) |
Feb
(99) |
Mar
(365) |
Apr
(225) |
May
(311) |
Jun
(204) |
Jul
(95) |
Aug
(214) |
Sep
(256) |
Oct
(290) |
Nov
(239) |
Dec
(152) |
2005 |
Jan
(253) |
Feb
(183) |
Mar
(178) |
Apr
(88) |
May
(175) |
Jun
(195) |
Jul
(122) |
Aug
(81) |
Sep
(119) |
Oct
(200) |
Nov
(110) |
Dec
(179) |
2006 |
Jan
(154) |
Feb
(64) |
Mar
(55) |
Apr
(69) |
May
(66) |
Jun
(64) |
Jul
(80) |
Aug
(59) |
Sep
(62) |
Oct
(90) |
Nov
(132) |
Dec
(106) |
2007 |
Jan
(58) |
Feb
(51) |
Mar
(59) |
Apr
(19) |
May
(33) |
Jun
(52) |
Jul
(15) |
Aug
(50) |
Sep
(41) |
Oct
(259) |
Nov
(323) |
Dec
(136) |
2008 |
Jan
(205) |
Feb
(128) |
Mar
(203) |
Apr
(126) |
May
(307) |
Jun
(166) |
Jul
(259) |
Aug
(181) |
Sep
(217) |
Oct
(265) |
Nov
(256) |
Dec
(132) |
2009 |
Jan
(104) |
Feb
(81) |
Mar
(27) |
Apr
(21) |
May
(85) |
Jun
(237) |
Jul
(243) |
Aug
(199) |
Sep
(178) |
Oct
(151) |
Nov
(64) |
Dec
(39) |
2010 |
Jan
(33) |
Feb
(146) |
Mar
(125) |
Apr
(109) |
May
(52) |
Jun
(135) |
Jul
(103) |
Aug
(68) |
Sep
(99) |
Oct
(88) |
Nov
(45) |
Dec
(56) |
2011 |
Jan
(19) |
Feb
(32) |
Mar
(50) |
Apr
(105) |
May
(46) |
Jun
(22) |
Jul
(101) |
Aug
(80) |
Sep
(52) |
Oct
(16) |
Nov
(10) |
Dec
(29) |
2012 |
Jan
(8) |
Feb
(22) |
Mar
(17) |
Apr
(68) |
May
(19) |
Jun
(19) |
Jul
(12) |
Aug
(6) |
Sep
(13) |
Oct
(5) |
Nov
(5) |
Dec
(5) |
2013 |
Jan
(6) |
Feb
(4) |
Mar
(3) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
(16) |
Apr
(1) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
(8) |
Mar
(23) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
(5) |
2016 |
Jan
|
Feb
|
Mar
(16) |
Apr
(6) |
May
(53) |
Jun
(19) |
Jul
(3) |
Aug
(39) |
Sep
(24) |
Oct
(2) |
Nov
(19) |
Dec
|
2017 |
Jan
(13) |
Feb
(44) |
Mar
(208) |
Apr
(12) |
May
(94) |
Jun
(54) |
Jul
(18) |
Aug
(52) |
Sep
(12) |
Oct
(22) |
Nov
(27) |
Dec
(93) |
2018 |
Jan
(85) |
Feb
(28) |
Mar
(16) |
Apr
(47) |
May
(16) |
Jun
(15) |
Jul
(10) |
Aug
(3) |
Sep
(5) |
Oct
|
Nov
(6) |
Dec
|
2019 |
Jan
(4) |
Feb
(6) |
Mar
(12) |
Apr
(1) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2020 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(6) |
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2022 |
Jan
(2) |
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(10) |
Oct
(5) |
Nov
|
Dec
|
2023 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
(9) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(28) |
Dec
(3) |
2025 |
Jan
(8) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Sam S. <sd...@gn...> - 2017-02-27 23:22:38
|
Hi Bruno, > * Bruno Haible <oe...@py...t> [2017-02-27 22:36:07 +0100]: > >> diff -r 208ade5c97ca src/makemake.in >> --- a/src/makemake.in Sun Feb 26 20:07:47 2017 -0500 >> +++ b/src/makemake.in Mon Feb 27 13:05:45 2017 -0500 >> @@ -1335,13 +1335,12 @@ fi >> # specific compiler options. I prefer to do it through compiler options. >> if [ $XCC_GCC = true ] ; then >> XCFLAGS=$XCFLAGS' -fno-strict-aliasing' >> -else >> - if [ "$HSYSOS" = aix ] ; then # for xlc >> +elif [ "$HSYSOS" = aix ] ; then # for xlc >> XCFLAGS=$XCFLAGS' -qalias=noansi' >> - fi >> - if [ -n "$XCC_SUNPRO" ] ; then # for SUNWspro cc >> +elif [ -n "$XCC_SUNPRO" ] ; then # for SUNWspro cc >> XCFLAGS=$XCFLAGS' -xalias_level=weak' >> - fi >> +elif [ "${with_debug}" != no ]; then >> + echo "$0: WARNING: how to disable strict aliasing with ${XCC} on ${HSYSOS}?" >&2 >> fi >> >> if [ "${with_dynamic_modules}" != no ]; then # not on msvc > > The users of the configure script are most often our users, not ourselves, > therefore such a warning it not very helpful. On a second thought, this appears like a clear case for an autoconf test: check whether the default compiler does strict aliasing optimizations and, if it does, try to disable them, and if we cannot disable them, fail configure. -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net https://jihadwatch.org http://www.dhimmitude.org http://www.memritv.org http://islamexposedonline.com There are two ways to win an argument with a woman. Neither works. |
From: Bruno H. <br...@cl...> - 2017-02-27 21:36:17
|
Hi Sam, > > You wrote in > > <https://sourceforge.net/p/clisp/mailman/message/35687181/>: > > Do you have code to get this reference automatically? No, I look it up through the web interface of Sourceforge. > Without posting any (or at least not much) assembly, could you please > explain what gcc does with -fstrict-aliasing? 1) It makes assumptions. Specifically it assumes that two pointers A* and B* cannot point to the same memory address if A and B are the same type and neither A* and B* is 'char *'. 2) It makes optimizations based on these assumptions. For example, it can eliminate memory accesses A* p; B* q; x = *p; *q = y; x = *p; => A* p; B* q; x = *p; *q = y; or reorder code: A* p; B* q; x = *p; *q = y; => A* p; B* q; *q = y; x = *p; but it can do much more optimizations. > diff -r 208ade5c97ca src/makemake.in > --- a/src/makemake.in Sun Feb 26 20:07:47 2017 -0500 > +++ b/src/makemake.in Mon Feb 27 13:05:45 2017 -0500 > @@ -1335,13 +1335,12 @@ fi > # specific compiler options. I prefer to do it through compiler options. > if [ $XCC_GCC = true ] ; then > XCFLAGS=$XCFLAGS' -fno-strict-aliasing' > -else > - if [ "$HSYSOS" = aix ] ; then # for xlc > +elif [ "$HSYSOS" = aix ] ; then # for xlc > XCFLAGS=$XCFLAGS' -qalias=noansi' > - fi > - if [ -n "$XCC_SUNPRO" ] ; then # for SUNWspro cc > +elif [ -n "$XCC_SUNPRO" ] ; then # for SUNWspro cc > XCFLAGS=$XCFLAGS' -xalias_level=weak' > - fi > +elif [ "${with_debug}" != no ]; then > + echo "$0: WARNING: how to disable strict aliasing with ${XCC} on ${HSYSOS}?" >&2 > fi > > if [ "${with_dynamic_modules}" != no ]; then # not on msvc The users of the configure script are most often our users, not ourselves, therefore such a warning it not very helpful. It'd be more helpful to find out the option for other compilers. The code already handles gcc, clang, xlc, and Sun Studio cc. What other compilers may be reasonably used to compile clisp? Can you look up the corresponding option? Bruno |
From: Bruno H. <br...@cl...> - 2017-02-27 21:26:09
|
Don, Sam, > $ /home/don/hg/clisp/build-dir/clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc --version > STACK size: 98222 [0x7ffa8ed7ee00 0x7ffa8ecbf090] > GNU CLISP 2.49+ (2010-07-17) (built 3697183652) (memory 3697183717) > Software: GNU C 6.3.1 20161221 (Red Hat 6.3.1-1) > gcc -m64 -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wreturn-type -Wmissing-declarations -Wimplicit -Wno-sign-compare -Wno-format-nonliteral -falign-functions=4 -fno-strict-aliasing -ggdb -O0 -DDEBUG_OS_ERROR -DDEBUG_SPVW -DDEBUG_BYTECODE -DSAFETY=3 -DENABLE_UNICODE -DNO_TERMCAP_NCURSES -DDYNAMIC_FFI -DDYNAMIC_MODULES libgnu.a -ldl /usr/local/lib/libavcall.a /usr/local/lib/libcallback.a /usr/local/lib64/libsigsegv.a -lc > SAFETY=3 TYPECODES WIDE_HARD SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY Thanks. I'm reproducing it through a build with CPPFLAGS="-DSAFETY=3 -DDEBUG_SPVW" but probably any options will do as well. The point is that we expect $ ./clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc --version 2>/dev/null | head -n 1 to be 1 line: "GNU CLISP 2.49+ (2010-07-17) (built 3697183652) (memory 3697183717)" but in fact it is the empty line. Here you see why: $ ./clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc --version 2>/dev/null | \ hexdump -e '"%06.6_ax " 16/1 "%02X "' -e '" " 16/1 "%_p" "\n"' "$@" 000000 0A 2A 2A 2A 20 2D 20 54 52 55 45 4E 41 4D 45 3A .*** - TRUENAME: 000010 20 54 68 65 20 76 61 6C 75 65 20 6F 66 20 2A 54 The value of *T 000020 45 52 4D 49 4E 41 4C 2D 49 4F 2A 20 77 61 73 20 ERMINAL-IO* was 000030 6E 6F 74 20 61 6E 20 61 70 70 72 6F 70 72 69 61 not an appropria 000040 74 65 20 73 74 72 65 61 6D 3A 20 23 3C 43 4C 4F te stream: #<CLO 000050 53 45 44 20 49 4F 20 54 45 52 4D 49 4E 41 4C 2D SED IO TERMINAL- 000060 53 54 52 45 41 4D 3E 2E 20 49 74 20 68 61 73 20 STREAM>. It has 000070 62 65 65 6E 20 63 68 61 6E 67 65 64 20 74 6F 0A been changed to. 000080 20 20 20 20 20 20 23 3C 49 4F 20 54 45 52 4D 49 #<IO TERMI 000090 4E 41 4C 2D 53 54 52 45 41 4D 3E 2E 0A 45 78 69 NAL-STREAM>..Exi 0000a0 74 69 6E 67 20 6F 6E 20 73 69 67 6E 61 6C 20 36 ting on signal 6 0000b0 0A . Sam, your turn, I guess. Bruno |
From: <don...@is...> - 2017-02-27 19:31:14
|
Bruno Haible writes: > Hi Don, > > > checking for CLISP version... configure: error: '/home/don/hg/clisp/build-dir/clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc' is not a CLISP > > This autoconf test merely runs the command with option '--version' and analyzes > the output. So, what is the output of > /home/don/hg/clisp/build-dir/clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc --version > ? $ /home/don/hg/clisp/build-dir/clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc --version STACK size: 98222 [0x7ffa8ed7ee00 0x7ffa8ecbf090] GNU CLISP 2.49+ (2010-07-17) (built 3697183652) (memory 3697183717) Software: GNU C 6.3.1 20161221 (Red Hat 6.3.1-1) gcc -m64 -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wreturn-type -Wmissing-declarations -Wimplicit -Wno-sign-compare -Wno-format-nonliteral -falign-functions=4 -fno-strict-aliasing -ggdb -O0 -DDEBUG_OS_ERROR -DDEBUG_SPVW -DDEBUG_BYTECODE -DSAFETY=3 -DENABLE_UNICODE -DNO_TERMCAP_NCURSES -DDYNAMIC_FFI -DDYNAMIC_MODULES libgnu.a -ldl /usr/local/lib/libavcall.a /usr/local/lib/libcallback.a /usr/local/lib64/libsigsegv.a -lc SAFETY=3 TYPECODES WIDE_HARD SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY libsigsegv 2.10 libffcall 1.13 Features: (LOOP COMPILER CLOS MOP CLISP ANSI-CL COMMON-LISP LISP=CL INTERPRETER LOGICAL-PATHNAMES SOCKETS GENERIC-STREAMS FFI GETTEXT UNICODE BASE-CHAR=CHARACTER WORD-SIZE=64 PC386 UNIX) C Modules: (clisp) Installation directory: /home/don/hg/clisp/build-dir/ User language: ENGLISH Machine: X86_64 (X86_64) number15.don-eve [10.0.2.150] |
From: Sam S. <sd...@gn...> - 2017-02-27 18:12:27
|
Hi Bruno, > * Bruno Haible <oe...@py...t> [2017-02-26 18:44:58 +0100]: > > You wrote in > <https://sourceforge.net/p/clisp/mailman/message/35687181/>: Do you have code to get this reference automatically? >> It dawned on me that this might be an aliasing issue. The pointer >> derived from ((unsigned long)STACK[-1-(long)(2+4+2*kept_slots)]-1UL) >> is visible in this scope twice, once cast to an Instance (pointer to >> an anonymous struct) and once cast to a Record (record_ *). I tried >> building with -fno-strict-aliasing and sure enough, the build >> succeeded. > > Wow! You hit the nail on the head. Without posting any (or at least not much) assembly, could you please explain what gcc does with -fstrict-aliasing? Specifically, I always thought that float f; unsigned int i = *(unsigned int *)&f; is compiled to an inline memcpy or something. what does gcc do instead when it detects aliasing? (you can assume that I read http://stackoverflow.com/q/98650/850781 and http://stackoverflow.com/q/98340/850781 carefully, but no more than that). > --- a/src/makemake.in Sun Feb 26 18:27:03 2017 +0100 > +++ b/src/makemake.in Sun Feb 26 18:30:41 2017 +0100 > @@ -1325,6 +1327,23 @@ > > fi > > +# We access the same memory through pointers of different types, for example > +# as TheVarobject(obj)->..., TheRecord(obj)->..., TheInstance(obj)->... . > +# This violates the strict type-based aliasing rules of C. In other words, we > +# still use C as a portable assembler, but now the compilers want to outsmart > +# us. There are two ways to tell them not to do this: to use union types, or > +# specific compiler options. I prefer to do it through compiler options. > +if [ $XCC_GCC = true ] ; then > + XCFLAGS=$XCFLAGS' -fno-strict-aliasing' > +else > + if [ "$HSYSOS" = aix ] ; then # for xlc > + XCFLAGS=$XCFLAGS' -qalias=noansi' > + fi > + if [ -n "$XCC_SUNPRO" ] ; then # for SUNWspro cc > + XCFLAGS=$XCFLAGS' -xalias_level=weak' > + fi > +fi > + > if [ "${with_dynamic_modules}" != no ]; then # not on msvc > # Support for dynamic loading. > eval "`./libtool --tag=CC --config | grep '^pic_flag='`" shouldn't it be something like --8<---------------cut here---------------start------------->8--- diff -r 208ade5c97ca src/makemake.in --- a/src/makemake.in Sun Feb 26 20:07:47 2017 -0500 +++ b/src/makemake.in Mon Feb 27 13:05:45 2017 -0500 @@ -1335,13 +1335,12 @@ fi # specific compiler options. I prefer to do it through compiler options. if [ $XCC_GCC = true ] ; then XCFLAGS=$XCFLAGS' -fno-strict-aliasing' -else - if [ "$HSYSOS" = aix ] ; then # for xlc +elif [ "$HSYSOS" = aix ] ; then # for xlc XCFLAGS=$XCFLAGS' -qalias=noansi' - fi - if [ -n "$XCC_SUNPRO" ] ; then # for SUNWspro cc +elif [ -n "$XCC_SUNPRO" ] ; then # for SUNWspro cc XCFLAGS=$XCFLAGS' -xalias_level=weak' - fi +elif [ "${with_debug}" != no ]; then + echo "$0: WARNING: how to disable strict aliasing with ${XCC} on ${HSYSOS}?" >&2 fi if [ "${with_dynamic_modules}" != no ]; then # not on msvc --8<---------------cut here---------------end--------------->8--- -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://memri.org http://think-israel.org http://camera.org http://www.dhimmitude.org He who laughs last did not get the joke. |
From: Bruno H. <br...@cl...> - 2017-02-27 15:39:37
|
Hi Don, > checking for CLISP version... configure: error: '/home/don/hg/clisp/build-dir/clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc' is not a CLISP This autoconf test merely runs the command with option '--version' and analyzes the output. So, what is the output of /home/don/hg/clisp/build-dir/clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc --version ? Bruno |
From: <don...@is...> - 2017-02-27 14:24:38
|
end of transcript showing first error: cd i18n ; make clisp-module CC="gcc -m64" CPPFLAGS="-I/home/don/hg/clisp/src -I/home/don/hg/clisp/build-dir/gllib -I/home/don/hg/clisp/src/gllib -I/home/don/hg/clisp/build-dir/gllib -I/home/don/hg/clisp/src/gllib" CFLAGS="-g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wreturn-type -Wmissing-declarations -Wimplicit -Wno-sign-compare -Wno-format-nonliteral -falign-functions=4 -fno-strict-aliasing -ggdb -O0 -DDEBUG_OS_ERROR -DDEBUG_SPVW -DDEBUG_BYTECODE -DSAFETY=3 -DENABLE_UNICODE -DNO_TERMCAP_NCURSES -DDYNAMIC_FFI -DDYNAMIC_MODULES -fPIC -DPIC" CLFLAGS=" -Wl,--export-dynamic" LIBS="libgnu.a -ldl /usr/local/lib/libavcall.a /usr/local/lib/libcallback.a /usr/local/lib64/libsigsegv.a -lc " RANLIB="ranlib" CLISP="$CLISP -q" SHREXT=.so configure: creating cache config.cache configure: ** I18N (Common) checking how to remove colons from paths... echo $x checking for CLISP version... configure: error: '/home/don/hg/clisp/build-dir/clisp -K boot -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc' is not a CLISP make[1]: Entering directory '/home/don/hg/clisp/build-dir/i18n' make[1]: *** No rule to make target 'clisp-module'. Stop. make[1]: Leaving directory '/home/don/hg/clisp/build-dir/i18n' Makefile:2262: recipe for target 'i18n' failed make: *** [i18n] Error 2 |
From: Bruno H. <br...@cl...> - 2017-02-26 17:45:08
|
Hi Jerry, You wrote in <https://sourceforge.net/p/clisp/mailman/message/35687181/>: > *** - Internal error: statement in file "../src/record.d", line 1543 has been > reached!! > Real time: 29.498787 sec. > ... > After fruitlessly staring at the source code for awhile, trying to > divine how this could possibly happen, I decided to stare at the > preprocessed code instead. I made it more readable by removing some > extra parentheses, reformatting, replacing some equivalent types, and > calculating some compile-time constants: > > obj = mv_space[0]; > ((Instance)((unsigned long)obj-1UL))->tfl |= 2048UL; > { > break_sems.einzeln[1] = 1; > { > Instance ptr = (Instance)((unsigned > long)STACK[-1-(long)(2+4+2*kept_slots)]-1UL); > ptr->tfl |= 256UL; > ptr->inst_class_version = obj; > break_sems.einzeln[1] = 0; > } > } > if (!(((((Record)((unsigned > long)STACK[-1-(long)(2+4+2*kept_slots)]-1UL))->tfl >> 8) & 0xFF) & > 1UL)) > error_notreached("../src/record.d",1543); > > It dawned on me that this might be an aliasing issue. The pointer > derived from ((unsigned long)STACK[-1-(long)(2+4+2*kept_slots)]-1UL) > is visible in this scope twice, once cast to an Instance (pointer to > an anonymous struct) and once cast to a Record (record_ *). I tried > building with -fno-strict-aliasing and sure enough, the build > succeeded. Wow! You hit the nail on the head. > What do you think about changing line 1543 to: > > ASSERT(record_flags(TheInstance(STACK_(2+4+2*kept_slots))) & > instflags_forwarded_B); > > , or maybe making an Instance_flags(obj) macro that expands to > record_flags(TheInstance(obj))? That makes the two pointers have the > same type, thereby solving the aliasing issue. The clisp code has many situations like this. It's not only between TheRecord and TheInstance, but surely also between TheRecord and ThePackage, TheRecord and TheHashtable, TheVarobject and TheSstring, and so on. Therefore the result of the solution you are hinting at would be a huge union type with 50 alternatives. At a lot of clisp code to rewrite. I'm choosing the follow way you went: add a compiler option. Basically, I want a compiler that translates that statements I wrote, not a compiler that makes optimizations on the premise that the code I wrote is buggy when it violates the letter of C99. Bruno --- a/src/makemake.in Sun Feb 26 18:27:03 2017 +0100 +++ b/src/makemake.in Sun Feb 26 18:30:41 2017 +0100 @@ -1325,6 +1327,23 @@ fi +# We access the same memory through pointers of different types, for example +# as TheVarobject(obj)->..., TheRecord(obj)->..., TheInstance(obj)->... . +# This violates the strict type-based aliasing rules of C. In other words, we +# still use C as a portable assembler, but now the compilers want to outsmart +# us. There are two ways to tell them not to do this: to use union types, or +# specific compiler options. I prefer to do it through compiler options. +if [ $XCC_GCC = true ] ; then + XCFLAGS=$XCFLAGS' -fno-strict-aliasing' +else + if [ "$HSYSOS" = aix ] ; then # for xlc + XCFLAGS=$XCFLAGS' -qalias=noansi' + fi + if [ -n "$XCC_SUNPRO" ] ; then # for SUNWspro cc + XCFLAGS=$XCFLAGS' -xalias_level=weak' + fi +fi + if [ "${with_dynamic_modules}" != no ]; then # not on msvc # Support for dynamic loading. eval "`./libtool --tag=CC --config | grep '^pic_flag='`" |
From: <cli...@li...> - 2017-02-26 00:07:08
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp: Remove the assembly-language optimizations for m68k. (cli...@li...) 2. clisp: Remove obsolete file. (cli...@li...) 3. clisp: Tweak past ChangeLog entries. (cli...@li...) 4. clisp: Fix syntax errors in makemake.in (regression from 2010-07... (cli...@li...) 5. clisp: Fix build failure on Linux/arm. (cli...@li...) 6. clisp: (C) year (cli...@li...) 7. clisp: Update libsigsegv download location. (cli...@li...) 8. clisp: maint: Structure Makefile.devel. (cli...@li...) 9. clisp: fastcgi: Fix compilation error after the gnulib update. (cli...@li...) 10. clisp: maint: Update download of ansi-tests. (cli...@li...) 11. clisp: Fix clang warning "'-falign-functions=4' is not supported... (cli...@li...) 12. clisp: Modernize: Remove leftover of obsolete Atari ST charset c... (cli...@li...) 13. clisp: Fix build failure on non-glibc platforms. (cli...@li...) 14. clisp: check and fix all links in NEWS (cli...@li...) 15. clisp: configure: Give some advice when libffcall is not found. (cli...@li...) 16. clisp: configure: Improve failure message when --with-ffcall can... (cli...@li...) 17. clisp: configure: Give some advice when readline or libncurses i... (cli...@li...) ---------------------------------------------------------------------- Message: 1 Date: Mon, 20 Feb 2017 17:17:04 +0000 From: cli...@li... Subject: clisp: Remove the assembly-language optimizations for m68k. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/d8d8a5f503e0 changeset: 15730:d8d8a5f503e0bb45cdf8caced1eb1c8d9fe59427 user: Bruno Haible <br...@cl...> date: 2017-02-20 02:59:15 +0100 description: Remove the assembly-language optimizations for m68k. diffstat: doc/impbyte.xml | 3 - src/ChangeLog | 13 + src/ari68020.d | 852 -------------------------------------------------------- src/arilev0.d | 177 +--------- src/arilev1.d | 7 +- src/intlog.d | 18 +- src/makemake.in | 18 +- 7 files changed, 46 insertions(+), 1042 deletions(-) ------------------------------ Message: 2 Date: Mon, 20 Feb 2017 17:17:05 +0000 From: cli...@li... Subject: clisp: Remove obsolete file. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/04e3b6987915 changeset: 15731:04e3b698791521fe2165ba32e3a72f4246c7a245 user: Bruno Haible <br...@cl...> date: 2017-02-20 10:57:21 +0100 description: Remove obsolete file. diffstat: src/ChangeLog | 5 + unix/sigsegv.c | 434 --------------------------------------------------------- 2 files changed, 5 insertions(+), 434 deletions(-) ------------------------------ Message: 3 Date: Mon, 20 Feb 2017 17:17:06 +0000 From: cli...@li... Subject: clisp: Tweak past ChangeLog entries. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/04ce33ddc49a changeset: 15732:04ce33ddc49ac7da878b9df1e9aeddca6e6b8511 user: Bruno Haible <br...@cl...> date: 2017-02-20 10:59:19 +0100 description: Tweak past ChangeLog entries. diffstat: src/ChangeLog | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) ------------------------------ Message: 4 Date: Mon, 20 Feb 2017 23:29:00 +0000 From: cli...@li... Subject: clisp: Fix syntax errors in makemake.in (regression from 2010-07... To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/848f0f10ea41 changeset: 15733:848f0f10ea41eb01eb73ddb934b952171c8f6eb0 user: Bruno Haible <br...@cl...> date: 2017-02-21 00:08:52 +0100 description: Fix syntax errors in makemake.in (regression from 2010-07-13). diffstat: src/ChangeLog | 5 +++++ src/makemake.in | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) ------------------------------ Message: 5 Date: Mon, 20 Feb 2017 23:29:01 +0000 From: cli...@li... Subject: clisp: Fix build failure on Linux/arm. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/ca309c4cbce0 changeset: 15734:ca309c4cbce085b83c3a45a3ee00cb5b72f21c3c user: Bruno Haible <br...@cl...> date: 2017-02-21 00:23:01 +0100 description: Fix build failure on Linux/arm. diffstat: src/ChangeLog | 5 +++++ src/makemake.in | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) ------------------------------ Message: 6 Date: Tue, 21 Feb 2017 22:53:13 +0000 From: cli...@li... Subject: clisp: (C) year To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/f7f7eff2ffd8 changeset: 15735:f7f7eff2ffd8d16fa878cc0d48eabe40d199b623 user: Sam Steingold <sd...@po...> date: 2017-02-21 17:51:33 -0500 description: (C) year diffstat: emacs/clhs.el | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) ------------------------------ Message: 7 Date: Tue, 21 Feb 2017 23:45:00 +0000 From: cli...@li... Subject: clisp: Update libsigsegv download location. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/2e12d5a605ed changeset: 15736:2e12d5a605edff42d5ef470bf2d02a72803cc008 user: Bruno Haible <br...@cl...> date: 2017-02-22 00:44:07 +0100 description: Update libsigsegv download location. diffstat: configure | 2 +- src/ChangeLog | 5 +++++ 2 files changed, 6 insertions(+), 1 deletions(-) ------------------------------ Message: 8 Date: Wed, 22 Feb 2017 19:36:18 +0000 From: cli...@li... Subject: clisp: maint: Structure Makefile.devel. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/071147fbbd86 changeset: 15737:071147fbbd86ce3b834c833bac79f1e023c40596 user: Bruno Haible <br...@cl...> date: 2017-02-22 20:33:35 +0100 description: maint: Structure Makefile.devel. diffstat: Makefile.devel | 558 ++++++++++++++++++++++++++++++++++++-------------------- src/ChangeLog | 5 + 2 files changed, 365 insertions(+), 198 deletions(-) ------------------------------ Message: 9 Date: Thu, 23 Feb 2017 00:44:19 +0000 From: cli...@li... Subject: clisp: fastcgi: Fix compilation error after the gnulib update. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/aca6cfb89632 changeset: 15738:aca6cfb89632883991318924b8b658abb30aad13 user: Bruno Haible <br...@cl...> date: 2017-02-23 01:40:09 +0100 description: fastcgi: Fix compilation error after the gnulib update. Reported by Jerry James. diffstat: modules/fastcgi/fastcgi_wrappers.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) ------------------------------ Message: 10 Date: Fri, 24 Feb 2017 17:06:13 +0000 From: cli...@li... Subject: clisp: maint: Update download of ansi-tests. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/3266b800ad04 changeset: 15739:3266b800ad041bf3fbb7fc22ab4dafcb0d1b11a1 user: Bruno Haible <br...@cl...> date: 2017-02-24 14:52:10 +0100 description: maint: Update download of ansi-tests. diffstat: Makefile.devel | 6 +++--- src/ChangeLog | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) ------------------------------ Message: 11 Date: Fri, 24 Feb 2017 17:06:15 +0000 From: cli...@li... Subject: clisp: Fix clang warning "'-falign-functions=4' is not supported... To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/625d7c39c0b8 changeset: 15740:625d7c39c0b84899cbab42b247dfb5ed3817007f user: Bruno Haible <br...@cl...> date: 2017-02-24 15:28:21 +0100 description: Fix clang warning "'-falign-functions=4' is not supported" on Mac OS X. diffstat: src/ChangeLog | 7 +++++++ src/makemake.in | 6 +++++- 2 files changed, 12 insertions(+), 1 deletions(-) ------------------------------ Message: 12 Date: Fri, 24 Feb 2017 17:06:16 +0000 From: cli...@li... Subject: clisp: Modernize: Remove leftover of obsolete Atari ST charset c... To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/d61eb7cffaf4 changeset: 15741:d61eb7cffaf467fa89a4c626a543d75ff8a8814a user: Bruno Haible <br...@cl...> date: 2017-02-24 16:20:04 +0100 description: Modernize: Remove leftover of obsolete Atari ST charset conversion. diffstat: src/ChangeLog | 5 +++++ src/makemake.in | 11 ++--------- 2 files changed, 7 insertions(+), 9 deletions(-) ------------------------------ Message: 13 Date: Fri, 24 Feb 2017 17:06:17 +0000 From: cli...@li... Subject: clisp: Fix build failure on non-glibc platforms. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/67d5393bc557 changeset: 15742:67d5393bc5572348da19ce1ee6bf03783b7a5ca9 user: Bruno Haible <br...@cl...> date: 2017-02-24 17:57:12 +0100 description: Fix build failure on non-glibc platforms. diffstat: src/ChangeLog | 7 +++++++ src/makemake.in | 4 ++-- utils/ccmp2c.c | 2 ++ utils/ccpaux.c | 2 ++ utils/comment5.c | 2 ++ utils/deema.c | 2 ++ utils/gctrigger.c | 2 ++ utils/hardcode.c | 2 ++ utils/txt2c.c | 2 ++ utils/varbrace.c | 1 + 10 files changed, 24 insertions(+), 2 deletions(-) ------------------------------ Message: 14 Date: Fri, 24 Feb 2017 20:32:03 +0000 From: cli...@li... Subject: clisp: check and fix all links in NEWS To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/cf1453aed337 changeset: 15743:cf1453aed337e39d9124c4d6833ad465f45f7363 user: Sam Steingold <sd...@po...> date: 2017-02-24 15:31:56 -0500 description: check and fix all links in NEWS diffstat: emacs/misc.el | 17 ++ src/NEWS | 439 +++++++++++++++++++++++++++++---------------------------- 2 files changed, 237 insertions(+), 219 deletions(-) ------------------------------ Message: 15 Date: Sun, 26 Feb 2017 00:07:02 +0000 From: cli...@li... Subject: clisp: configure: Give some advice when libffcall is not found. To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/1f53d2e5b9fa changeset: 15744:1f53d2e5b9fa921e1b318fae292848a0d0935169 user: Bruno Haible <br...@cl...> date: 2017-02-25 14:15:47 +0100 description: configure: Give some advice when libffcall is not found. diffstat: configure | 4 ++-- src/ChangeLog | 7 +++++++ src/aclocal.m4 | 4 ++-- src/configure | 6 +++--- src/m4/ffcall.m4 | 4 ++-- 5 files changed, 16 insertions(+), 9 deletions(-) ------------------------------ Message: 16 Date: Sun, 26 Feb 2017 00:07:04 +0000 From: cli...@li... Subject: clisp: configure: Improve failure message when --with-ffcall can... To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/47e2779d4abe changeset: 15745:47e2779d4abe73c7d462abc5c32b126bf4524162 user: Bruno Haible <br...@cl...> date: 2017-02-25 14:42:47 +0100 description: configure: Improve failure message when --with-ffcall cannot be honored. diffstat: src/ChangeLog | 7 +++++++ src/aclocal.m4 | 16 ++++++++++++---- src/configure | 14 +++++++++----- src/m4/ffcall.m4 | 16 ++++++++++++---- 4 files changed, 40 insertions(+), 13 deletions(-) ------------------------------ Message: 17 Date: Sun, 26 Feb 2017 00:07:05 +0000 From: cli...@li... Subject: clisp: configure: Give some advice when readline or libncurses i... To: cli...@li... Message-ID: <hg....@sf...> Content-Type: text/plain; charset="us-ascii" details: http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/clisp/rev/761712ec550a changeset: 15746:761712ec550acb3c726662346968d150dd104906 user: Bruno Haible <br...@cl...> date: 2017-02-25 15:04:34 +0100 description: configure: Give some advice when readline or libncurses is not found. diffstat: modules/readline/configure | 19 ++++++++++++------- src/ChangeLog | 9 +++++++++ src/aclocal.m4 | 13 +++++++++---- src/configure | 21 +++++++++++++-------- src/m4/readline.m4 | 13 +++++++++---- 5 files changed, 52 insertions(+), 23 deletions(-) ------------------------------ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ------------------------------ _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest, Vol 74, Issue 3 **************************************** |
From: Jerry J. <log...@gm...> - 2017-02-24 21:44:44
|
It's great that development on clisp has picked back up. Thanks, Sam and Bruno, for all your work. Fedora recently rebuilt all packages with GCC 7. The i386 and x86_64 builds succeeded, but the 32-bit ARM build failed, like so: (PROGN (DEFMETHOD UPDATE-INSTANCE-FOR-REDEFINED-CLASS :BEFORE ((POS X-Y-POSITION) ADDED DELETED PLIST &KEY) (LET ((X (GETF PLIST 'X)) (Y (GETF PLIST 'Y))) (SETF (POSITION-RHO POS) (SQRT (+ (* X X) (* Y Y))) (POSITION-THETA POS) (ATAN Y X)))) (DEFCLASS X-Y-POSITION (ABSTRACT-POSITION) ((RHO :INITFORM 0 :ACCESSOR POSITION-RHO) (THETA :INITFORM 0 :ACCESSOR POSITION-THETA))) (DEFMETHOD POSITION-X ((POS X-Y-POSITION)) (WITH-SLOTS (RHO THETA) POS (* RHO (COS THETA)))) (DEFMETHOD (SETF POSITION-X) (NEW-X (POS X-Y-POSITION)) (WITH-SLOTS (RHO THETA) POS (LET ((Y (POSITION-Y POS))) (SETQ RHO (SQRT (+ (* NEW-X NEW-X) (* Y Y))) THETA (ATAN Y NEW-X)) NEW-X))) (DEFMETHOD POSITION-Y ((POS X-Y-POSITION)) (WITH-SLOTS (RHO THETA) POS (* RHO (SIN THETA)))) (DEFMETHOD (SETF POSITION-Y) (NEW-Y (POS X-Y-POSITION)) (WITH-SLOTS (RHO THETA) POS (LET ((X (POSITION-X POS))) (SETQ RHO (SQRT (+ (* X X) (* NEW-Y NEW-Y))) THETA (ATAN NEW-Y X)) NEW-Y))) (LIST (TYPE-OF I) (POSITION-X I) (POSITION-Y I) (POSITION-RHO I) (POSITION-THETA I))) WARNING: DEFCLASS: Class X-Y-POSITION (or one of its ancestors) is being redefined, instances are obsolete WARNING: Removing method #1=#<STANDARD-WRITER-METHOD (#2=#<BUILT-IN-CLASS T> #3=#<STANDARD-CLASS X-Y-POSITION :VERSION 1>)> from an already called generic function #<STANDARD-GENERIC-FUNCTION (SETF POSITION-Y)> WARNING: Removing method #1=#<STANDARD-WRITER-METHOD (#2=#<BUILT-IN-CLASS T> #3=#<STANDARD-CLASS X-Y-POSITION :VERSION 1>)> from an already called generic function #<STANDARD-GENERIC-FUNCTION (SETF POSITION-X)> WARNING: DEFCLASS: Class X-Y-POSITION (or one of its ancestors) is being redefined, instances are obsolete *** - Internal error: statement in file "../src/record.d", line 1543 has been reached!! Real time: 29.498787 sec. Run time: 28.986 sec. Space: 35364284 Bytes GC: 70, GC time: 0.853 sec. Please see <http://clisp.org/impnotes/faq.html#faq-bugs> for bug reporting instructions. Bye. After fruitlessly staring at the source code for awhile, trying to divine how this could possibly happen, I decided to stare at the preprocessed code instead. I made it more readable by removing some extra parentheses, reformatting, replacing some equivalent types, and calculating some compile-time constants: obj = mv_space[0]; ((Instance)((unsigned long)obj-1UL))->tfl |= 2048UL; { break_sems.einzeln[1] = 1; { Instance ptr = (Instance)((unsigned long)STACK[-1-(long)(2+4+2*kept_slots)]-1UL); ptr->tfl |= 256UL; ptr->inst_class_version = obj; break_sems.einzeln[1] = 0; } } if (!(((((Record)((unsigned long)STACK[-1-(long)(2+4+2*kept_slots)]-1UL))->tfl >> 8) & 0xFF) & 1UL)) error_notreached("../src/record.d",1543); It dawned on me that this might be an aliasing issue. The pointer derived from ((unsigned long)STACK[-1-(long)(2+4+2*kept_slots)]-1UL) is visible in this scope twice, once cast to an Instance (pointer to an anonymous struct) and once cast to a Record (record_ *). I tried building with -fno-strict-aliasing and sure enough, the build succeeded. What do you think about changing line 1543 to: ASSERT(record_flags(TheInstance(STACK_(2+4+2*kept_slots))) & instflags_forwarded_B); , or maybe making an Instance_flags(obj) macro that expands to record_flags(TheInstance(obj))? That makes the two pointers have the same type, thereby solving the aliasing issue. I have done a test build with this change and it does indeed fix the problem. Regards, -- Jerry James http://www.jamezone.org/ |
From: Sam S. <sd...@gn...> - 2017-02-24 17:47:14
|
> * Bruno Haible <oe...@py...t> [2017-02-24 18:19:56 +0100]: > > Sam wrote: >> NO! hg log message is the WHOLE ChangeLog entry. >> ... >> Or, as a first baby step, put the full message in BOTH. > > If you can tell me an Emacs customization that makes this effortless, > through a single copy-and-paste from ChangeLog, then I'm willing to do > it. That is, when hg opens an "emacs -nw" editor, I want to This is how you use VIM, not Emacs. With Emacs, after I finish with the patch, I do `C-x v d` to get the *vc-dir* buffer which lists the modified files in the hg-controlled directory. There I select with `m` the files to be committed. Then I hit `C-x v v` and I am placed into the *vc-log* buffer with the ChangeLog entry already there and properly formatted as you describe (with the summary line, separator line, no TABs &c &c) > copy&paste the tab-indented entry, and Emacs should remove the leading > tab and insert a blank line after the first line. Well, you can remove the leading tabs with M-% TAB RET RET. > If I need to spend time reindenting each line of the entry, I'm not > agreeing. You need to start using Emacs like it was intended to be used, not fight against the stream. You will like it. -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://iris.org.il http://memri.org http://mideasttruth.com http://camera.org Rhinoceros has poor vision, but, due to his size, it's not his problem. |
From: Bruno H. <br...@cl...> - 2017-02-24 17:20:05
|
Sam wrote: > NO! hg log message is the WHOLE ChangeLog entry. > ... > Or, as a first baby step, put the full message in BOTH. If you can tell me an Emacs customization that makes this effortless, through a single copy-and-paste from ChangeLog, then I'm willing to do it. That is, when hg opens an "emacs -nw" editor, I want to copy&paste the tab-indented entry, and Emacs should remove the leading tab and insert a blank line after the first line. If I need to spend time reindenting each line of the entry, I'm not agreeing. Bruno |
From: Bruno H. <br...@cl...> - 2017-02-24 17:11:39
|
Sam Steingold wrote: > gnulib itself fails to compile with the same error: On Mac OS X 10.11, I observe different compilation errors, which I've now fixed, by including <config.h> and adding "-I." to the compilation command. This fixes the build for me (haven't tested modules, though). > In file included from ../../src/gllib/c-ctype.c:3: > ../../src/gllib/c-ctype.h:29:3: error: "Please include config.h first." > #error "Please include config.h first." > ^ Sounds like you need to do "make distclean" and reconfigure. Bruno |
From: Bruno H. <br...@cl...> - 2017-02-24 17:06:44
|
Sam Steingold wrote: > > Fix clang warning "flag '-falign-functions=4' is not supported". > > > > By Bruno Haible on 02/20/2017 00:13 > > [**View Changes**](https://sourceforge.net/p/clisp/clisp/ci/1888e75560168646dfaaac8913f1a227ebb790b6/) > > not fixed. > > $ gcc --version > Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1 > Apple LLVM version 8.0.0 (clang-800.0.42.1) > Target: x86_64-apple-darwin16.4.0 > Thread model: posix > InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin Thanks for the report. clang on Mac OS X apparently identifies itself quite differently than clang for Linux. Fixed now. Bruno |
From: Sam S. <sd...@gn...> - 2017-02-23 21:40:59
|
> * Bruno Haible <oe...@py...t> [2017-02-23 22:10:06 +0100]: > > - The hg log message is just a copy of the one-line summary of the ChangeLog > entry; nothing that costs you brain cycles. That's the whole point! NO! hg log message is the WHOLE ChangeLog entry. I am not proposing that we remove the ChangeLogs from the repo. Just put into hg what you have been putting into ChangeLogs. Or, as a first baby step, put the full message in BOTH. > By the way, I find it marvellous how you have kept the NEWS file up-to-date. Thank You! -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://no2bds.org https://ffii.org http://honestreporting.com http://thereligionofpeace.com The Politically Correct term for Censorship is Political Correctness. |
From: Bruno H. <br...@cl...> - 2017-02-23 21:10:16
|
Sam wrote: > Now we have 4(!!!) histories: ChangeLog, NEWS, history.xml, `hg log`. > The twist is that history.xml is merely the compressed docbook version > of NEWS, updated at release time During usual development: - You need to think only about ChangeLog and NEWS. - The hg log message is just a copy of the one-line summary of the ChangeLog entry; nothing that costs you brain cycles. - The history.xml you don't need to think about, since - as you say - it's updated only at release time. By the way, I find it marvellous how you have kept the NEWS file up-to-date. Bruno |
From: Sam S. <sd...@gn...> - 2017-02-23 18:59:51
|
> * Jerry James <ybtnawreel@tznvy.pbz> [2017-02-20 12:29:24 -0700]: > > The clisp package is currently failing to build in Fedora Rawhide, due > to this build failure in the fastcgi module: > > In file included from > /builddir/build/BUILD/clisp-2.49/modules/fastcgi/fastcgi_wrappers.c:24:0: > /builddir/build/BUILD/clisp-2.49/build/gllib/unistd.h:139:3: error: > #error "Please include config.h first." > #error "Please include config.h first." > ^~~~~ > > Is this perhaps related to the recent gnulib update? Simply adding > "#include <config.h>" to the top of fastcgi_wrappers.c fixed the > problem for me. Regards, gnulib itself fails to compile with the same error: --8<---------------cut here---------------start------------->8--- /Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive depbase=`echo c-ctype.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I../../src/gllib -I.. -I/usr/local/include -I/usr/local/opt/readline/include -W -Wswitch -Wcomment -Wpointer-arith -Wreturn-type -Wmissing-declarations -Wimplicit -Wno-sign-compare -Wno-format-nonliteral -falign-functions=4 -ggdb -O0 -DDEBUG_OS_ERROR -DDEBUG_SPVW -DDEBUG_BYTECODE -DSAFETY=3 -DUNIX_BINARY_DISTRIB -DENABLE_UNICODE -DDYNAMIC_MODULES -DNO_GETTEXT -fno-common -DPIC -MT c-ctype.o -MD -MP -MF $depbase.Tpo -c -o c-ctype.o ../../src/gllib/c-ctype.c &&\ mv -f $depbase.Tpo $depbase.Po clang: warning: optimization flag '-falign-functions=4' is not supported In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:29:3: error: "Please include config.h first." #error "Please include config.h first." ^ ../../src/gllib/c-ctype.h:31:1: error: unknown type name '_GL_INLINE_HEADER_BEGIN' _GL_INLINE_HEADER_BEGIN ^ ../../src/gllib/c-ctype.h:168:15: error: expected ';' after top level declarator C_CTYPE_INLINE bool ^ ; ../../src/gllib/c-ctype.h:182:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:182:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdbool.h:31:14: note: expanded from macro 'bool' #define bool _Bool ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:197:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:197:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdbool.h:31:14: note: expanded from macro 'bool' #define bool _Bool ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:214:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:214:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdbool.h:31:14: note: expanded from macro 'bool' #define bool _Bool ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:220:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:220:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdbool.h:31:14: note: expanded from macro 'bool' #define bool _Bool ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:232:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:232:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdbool.h:31:14: note: expanded from macro 'bool' #define bool _Bool ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:244:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:244:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:244:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:244:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdbool.h:31:14: note: expanded from macro 'bool' #define bool _Bool ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:259:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:259:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdbool.h:31:14: note: expanded from macro 'bool' #define bool _Bool ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:271:1: error: unknown type name '_GL_EXTERN_INLINE' C_CTYPE_INLINE bool ^ ../../src/gllib/c-ctype.c:2:24: note: expanded from macro 'C_CTYPE_INLINE' #define C_CTYPE_INLINE _GL_EXTERN_INLINE ^ In file included from ../../src/gllib/c-ctype.c:3: ../../src/gllib/c-ctype.h:271:16: error: expected identifier or '(' C_CTYPE_INLINE bool ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdbool.h:31:14: note: expanded from macro 'bool' #define bool _Bool ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. make[3]: *** [c-ctype.o] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all] Error 2 make: *** [gllib] Error 2 --8<---------------cut here---------------end--------------->8--- -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://camera.org http://think-israel.org http://americancensorship.org Parachute for sale, used once, never opened, small stain. |
From: Sam S. <sd...@gn...> - 2017-02-23 18:54:54
|
> * CLISP - an ANSI Common Lisp Mercurial repository <ab...@py...g> [2017-02-20 17:17:24 +0000]: > > Fix clang warning "flag '-falign-functions=4' is not supported". > > By Bruno Haible on 02/20/2017 00:13 > [**View Changes**](https://sourceforge.net/p/clisp/clisp/ci/1888e75560168646dfaaac8913f1a227ebb790b6/) not fixed. $ gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1 Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin16.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://no2bds.org http://camera.org http://jij.org http://www.dhimmitude.org Never argue with the person who is preparing your parachute. |
From: Sam S. <sd...@gn...> - 2017-02-23 18:52:30
|
> * m_maass <z_znnff@jro.qr> [2017-02-23 18:36:34 +0100]: > > am Dokumentation gespart ist falsch gespart. Macht bitte mit den > Changelogs weiter. Зачем дублировать документацию? Все что есть в Changelog, есть и в VC. > Zu .d Files: > für ein c Entwickler sind sie fremd, aber sobald er mit Lisp Macros > vertraut ist, und sich nicht scheut den makefile anzuschauen, spannt > sofort was da abgeht. "Makros" für c ;-) Зачем притворяться? Си есть Си, а не Лисп. Свое мышление, свои идиомы. -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://www.memritv.org https://jihadwatch.org http://jij.org http://think-israel.org https://ffii.org He who laughs last thinks slowest. |
From: Sam S. <sd...@gn...> - 2017-02-23 17:43:31
|
> * Raymond Toy <gbl.enlzbaq@tznvy.pbz> [2017-02-23 08:19:42 -0800]: > > I think there's a huge difference between history (source control > system) and explanation of the history (changelog and commit > messages). VC contains both history (diffs) and explanations (commit messages). > If people wrote good commit messages, then a Changelog wouldn't be > needed. Agreed. I have never heard a coherent explanation of how ChangeLog entries should differ from commit messages. If a ChangeLog is a part of the commit, Emacs copies the ChangeLog entry into the buffer editing the commit message. So, as far as I am concerned, `hg log` and `less ChangeLog` should be the same. > On many open source projects the commit messages basically tend to > suck. > But I've seen bad Changelog entries too. The only cure is self- or external(code review) discipline. One has to _care_ about what one is doing to make coherent commits and write informative and clear explanations (Changelog or commit messages). -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://iris.org.il http://www.dhimmitude.org https://jihadwatch.org Don't hit a man when he's down -- kick him; it's easier. |
From: Sam S. <sd...@gn...> - 2017-02-23 17:43:22
|
> * Raymond Toy <gbl.enlzbaq@tznvy.pbz> [2017-02-23 08:19:42 -0800]: > > I think there's a huge difference between history (source control > system) and explanation of the history (changelog and commit > messages). VC contains both history (diffs) and explanations (commit messages). > If people wrote good commit messages, then a Changelog wouldn't be > needed. Agreed. I have never heard a coherent explanation of how ChangeLog entries should differ from commit messages. If a ChangeLog is a part of the commit, Emacs copies the ChangeLog entry into the buffer editing the commit message. So, as far as I am concerned, `hg log` and `less ChangeLog` should be the same. > On many open source projects the commit messages basically tend to > suck. > But I've seen bad Changelog entries too. The only cure is self- or external(code review) discipline. One has to _care_ about what one is doing to make coherent commits and write informative and clear explanations (Changelog or commit messages). I think -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://iris.org.il http://www.dhimmitude.org https://jihadwatch.org Don't hit a man when he's down -- kick him; it's easier. |
From: m_maass <m_...@we...> - 2017-02-23 17:36:19
|
Hi, am Dokumentation gespart ist falsch gespart. Macht bitte mit den Changelogs weiter. Zu .d Files: für ein c Entwickler sind sie fremd, aber sobald er mit Lisp Macros vertraut ist, und sich nicht scheut den makefile anzuschauen, spannt sofort was da abgeht. "Makros" für c ;-) Danke, Michael From: Sam Steingold <sd...@gn...> > Subject: time to retire ChangeLog? > To: Bruno Haible <br...@cl...> > Cc: clisp <cli...@li...> > Message-ID: <m1h93mx9yi.fsf@clr-sds> > Content-Type: text/plain > > Hi, > > ChangeLog is obsolete. Even Emacs does not use it anymore. > > While I see obvious benefits, for me the main drawback is that it > dramatically increases the probability of conflicts. > If I make a local commit and do not push it right away, it is almost > certain that I will have to go through either merge or strip/recommit > because rebase will definitely fail. > > WDYT? > |
From: Sam S. <sd...@gn...> - 2017-02-23 17:14:32
|
> * Daniel Jour <qnavry.bregjvt@tznvy.pbz> [2017-02-23 08:44:10 +0000]: > > I think a changelog is a very useful thing to have, but I always felt > that the one of CLISP is by far too detailed. Once upon a time, CLISP had 3(!) historical files: ChangeLog (detailed), CHANGES.LOG (summary for developers), and NEWS (summary for users). I got rid of CHANGES.LOG in 2002. Now we have 4(!!!) histories: ChangeLog, NEWS, history.xml, `hg log`. The twist is that history.xml is merely the compressed docbook version of NEWS, updated at release time (IOW, the main difference between https://sourceforge.net/p/clisp/clisp/ci/tip/tree/src/NEWS and http://clisp.org/impnotes/clisp-history.html is the order). ChangeLog is a hold-over from the pre-VC times. Bruno finds it useful so we will keep it until he grows out of it :-) -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://no2bds.org http://thereligionofpeace.com http://mideasttruth.com Conscience is like a hamster: it is either asleep or gnawing. |
From: Raymond T. <toy...@gm...> - 2017-02-23 16:20:06
|
>>>>> "Sam" == Sam Steingold <sd...@gn...> writes: Sam> Hi Bruno, >> * Bruno Haible <oe...@py...t> [2017-02-23 01:03:18 +0100]: >> >>> ChangeLog is obsolete. Even Emacs does not use it anymore. >> Different groups of developers make different choices. Sam> Emacs is by far the oldest / most conservative project still active. Sam> (I think) >> The not so obvious benefits are: >> >> - We can really keep track of the history over long periods of time. >> Whereas when we rely on a VCS, we lose info at each move to a different >> location. Sam> Nope. We never lost history, and, barring a global cataclysm, never will. I think there's a huge difference between history (source control system) and explanation of the history (changelog and commit messages). On many open source projects the commit messages basically tend to suck. The say incomplete things like "fix bug". What bug? And the actual diff contains the fix and lots of other stuff. Changelogs tend to force you to more precisely that you changed this function to do this and that function to fix something else. But I've seen bad Changelog entries too. If people wrote good commit messages, then a Changelog wouldn't be needed. So I hate writing changelogs and will instead try to make the commit message equivalent to the changelog. My 2 cents, anyway. -- Ray |
From: Sam S. <sd...@gn...> - 2017-02-23 14:49:51
|
Hi Bruno, > * Bruno Haible <oe...@py...t> [2017-02-23 01:03:18 +0100]: > >> ChangeLog is obsolete. Even Emacs does not use it anymore. > Different groups of developers make different choices. Emacs is by far the oldest / most conservative project still active. (I think) > The not so obvious benefits are: > > - We can really keep track of the history over long periods of time. > Whereas when we rely on a VCS, we lose info at each move to a different > location. Nope. We never lost history, and, barring a global cataclysm, never will. > (Like the gmane.org article URLs became obsolete six months ago.) Yes, I have code in clisp/emacs/misc.el to resolve this. > In the recent move of libffcall from cvs to git we did not lose info, > but it cost me two days of work to achieve this result. This is a rare event. The CLISP move from CVS to HG was not free either, but it was lossless too. > - You get educated to review your changes before committing them. I don't know what you mean here. > - You can access a ChangeLog without any tools, just with a text editor. You still need a computer. :-) I have never been in a situation when this was more useful than VC logs - which are directly linked to diffs. >> for me the main drawback is that it >> dramatically increases the probability of conflicts. > > 1) There is a tool for automatically resolving these conflicts: > http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/git-merge-changelog.c > You find the installation instructions at lines 42..48, 77..88 of this file. This is a crutch to keep using a 40yo VC simultaneously with a modern one. > 2) Even without it, yes there would be conflicts, but they are easy to > resolve, since you remember what you have added. Conflicts are only > difficult to resolve if you don't remember what were your changes > versus what were the other person's changes. It's not about difficulty. It's about inconvenience. You are underestimating its importance. (see the recent discussion about *.d format for relevant insights) >> If I make a local commit and do not push it right away, it is almost >> certain that I will have to go through either merge or strip/recommit >> because rebase will definitely fail. > > It is not the intent of ChangeLog that you feel the need to push > immediately. Just keep the same patience as before. Intent ("normative") has nothing to do with reality ("positive"). > In all projects I work in (from gnulib to libffcall), I find ChangeLogs useful. > In projects without ChangeLog (e.g. XFree86), I found it hard to work. Okay, you want it, you got it. Let us not repeat the memorable discussion we had 20 years ago about 1s0+1d0 - should it be 1d0(me and the rest of the known universe) or 1s0(you). ;-) -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504 http://steingoldpsychology.com http://www.childpsy.net http://www.dhimmitude.org https://jihadwatch.org http://iris.org.il http://no2bds.org (lisp programmers do it better) |