]> www.ginac.de Git - cln.git/log
cln.git
10 days agoUpdate to recently found large Mersenne prime. master
Richard Kreckel [Mon, 21 Oct 2024 21:42:44 +0000 (23:42 +0200)]
Update to recently found large Mersenne prime.

9 months agoFinalize CLN 1.3.7 release. cln_1-3-7
Richard Kreckel [Mon, 22 Jan 2024 09:19:04 +0000 (10:19 +0100)]
Finalize CLN 1.3.7 release.

14 months agoRecognize the *-*-windows* config triplets introduced on 2023-06-26.
Bruno Haible [Wed, 30 Aug 2023 13:18:22 +0000 (15:18 +0200)]
Recognize the *-*-windows* config triplets introduced on 2023-06-26.

* configure.ac: Treat windows* as equivalent to mingw*.

16 months agoUpdate the installation instructions for Windows.
Bruno Haible [Thu, 29 Jun 2023 13:19:55 +0000 (15:19 +0200)]
Update the installation instructions for Windows.

* INSTALL.windows: Add a note about MSYS2.

16 months agoAssume UTF-8 for plain text.
Bruno Haible [Fri, 23 Jun 2023 09:40:30 +0000 (11:40 +0200)]
Assume UTF-8 for plain text.

* INSTALL: Use Unicode quote characters.
* INSTALL.generic: Likewise.

16 months agoEnsure that makeinfo ≥ 6.8 checks the @menu structure.
Bruno Haible [Thu, 22 Jun 2023 20:31:25 +0000 (22:31 +0200)]
Ensure that makeinfo ≥ 6.8 checks the @menu structure.

See <https://lists.gnu.org/archive/html/bug-texinfo/2023-06/msg00015.html>.

* doc/Makefile.am (AM_MAKEINFOFLAGS): New variable.

17 months agoAdd support for LoongArch
Xiaotian Wu [Tue, 30 May 2023 07:59:30 +0000 (15:59 +0800)]
Add support for LoongArch

Copyright-paperwork-exempt: Yes

22 months agoFetch newer files.
Richard Kreckel [Mon, 19 Dec 2022 20:22:23 +0000 (21:22 +0100)]
Fetch newer files.

2 years agoRemove ARM asm implementation of divu_6432_3232_().
Richard Kreckel [Wed, 27 Apr 2022 09:21:34 +0000 (11:21 +0200)]
Remove ARM asm implementation of divu_6432_3232_().

2 years agoReally use umull insn on ARM V7 and newer.
Richard Kreckel [Tue, 26 Apr 2022 08:40:09 +0000 (10:40 +0200)]
Really use umull insn on ARM V7 and newer.

I haven'f found a GCC version which #defines __arm7__, __arm8__, etc.
but all modern compilers #define __ARM_ARCH since more than a decade.

2 years agoRemove support for Watcom C++ compiler.
Richard Kreckel [Mon, 25 Apr 2022 22:23:00 +0000 (00:23 +0200)]
Remove support for Watcom C++ compiler.

It's long outdated and may not work at all.

2 years agoRemove all #if-def'ed out code regarding mulusmall_loop_up/down.
Richard Kreckel [Mon, 25 Apr 2022 22:14:39 +0000 (00:14 +0200)]
Remove all #if-def'ed out code regarding mulusmall_loop_up/down.

With a view on d58e9198, let's accept that 'digit' can be arbitrary.

2 years agoDisable ARM asm implementation of divu_6432_3232_().
Richard Kreckel [Sat, 23 Apr 2022 23:40:57 +0000 (01:40 +0200)]
Disable ARM asm implementation of divu_6432_3232_().

This function is broken: it sometimes returns wrong results.

Example: for 2^32*16830+755479655 / 1102945608 it returns q=97437 and
r=926900031 (but q=65538 and r=205814231 are correct).

At this point, ARM seems to work.

2 years agoFix ARM implementation of mulusmall_loop_up(digit, ptr, len, newdigit)...
Richard Kreckel [Sat, 23 Apr 2022 23:14:14 +0000 (01:14 +0200)]
Fix ARM implementation of mulusmall_loop_up(digit, ptr, len, newdigit)...

...by removing the shortcut for small 'digit' and calling
mulu32_64_vregs instead (which handles digits >= 2^16 fine).

The requirement that 'digit' be small (<= 36) is documented in cl_DS.h
but nowhere enforced. Indeed, it is clearly violated in the base-N
input function digits_to_I_baseN().

I am not sure what to do. This ARM asm seems to be the only code which
relies on small 'digit'. A future patch should either fix the input
method to guarntee that 'digit' is small or accept that it can be
large and remove the shortcut in mulusmall_loop_up for good (and also
fix the comments in cl_DS.h).

2 years agoModernize ARM assembler.
Richard Kreckel [Sat, 23 Apr 2022 09:22:24 +0000 (11:22 +0200)]
Modernize ARM assembler.

* Don't use priviledged insns.
* Use BX insns to enable interworking with thumb mode.
* Don't use a global variable as return value.

With this patch, it works partially.

2 years agoUpdate and clean up autoconf template files.
Richard Kreckel [Fri, 5 Nov 2021 11:31:59 +0000 (12:31 +0100)]
Update and clean up autoconf template files.

This is needed for compatibility with newer autoconf:
* Removed several unused m4 macros.
* Removed support for traditional C decl in CL_PROTO_TRY.
* Remove check for perror(), which is standard C++11.
* Remove ax_cxx_compile_stdcxx.m4 (it is pulled in by autogen.sh).
* Ran autoupdate on remaining files.

Tested successfully with autoconf 1.69 and 1.71.

2 years agoFix linking errors on some compilers.
Richard Kreckel [Thu, 4 Nov 2021 10:25:23 +0000 (11:25 +0100)]
Fix linking errors on some compilers.

Let's be explicit about variables with C language linkage [dcl.link]:
- 'type x;' declares and defines C++ variable 'x'.
- 'extern "C" type x;' declares 'x' (with C linkage).
- 'extern "C" { type x; }' declares and defines 'x'.
The C++ standard allows mixed declarations as long as they denote the
same entity, but some compilers (e.g. CLang) don't seem to comply.
It doesn't hurt to be explicit and use extern "C" throughout for the
affected variables.

Reported by Philip Huffman <philhuffman56@icloud.com>.

3 years agoAvoid linker error on MinGW...
Richard Kreckel [Sun, 21 Feb 2021 23:19:29 +0000 (00:19 +0100)]
Avoid linker error on MinGW...

...due to multiple definitions of decode_float().

Reported by Lorne McIntosh <lmcintos@sfu.ca>.

3 years agoFix some comments about undocumented functions in public headers.
Richard Kreckel [Mon, 1 Feb 2021 20:38:27 +0000 (21:38 +0100)]
Fix some comments about undocumented functions in public headers.

These functions have long been documented.

3 years agoRemove some unused configuration macros.
Richard Kreckel [Mon, 1 Feb 2021 18:48:10 +0000 (19:48 +0100)]
Remove some unused configuration macros.

* Don't test stack direction.
* Don't test endianness of chars.
* Assume HAVE_LONGLONG.

3 years agoMove GETVAL macro from acinclude.m4 to m4/getval.m4.
Richard Kreckel [Mon, 1 Feb 2021 18:42:35 +0000 (19:42 +0100)]
Move GETVAL macro from acinclude.m4 to m4/getval.m4.

3 years agoINSTALL.CMake: proper installation command
Alexey Sheplyakov [Thu, 7 Jan 2021 15:51:30 +0000 (19:51 +0400)]
INSTALL.CMake: proper installation command

`make install` is not going to work with Ninja

3 years agobuild/CMake: defined `long_long_(big|little)_endian` to intparam.h
Alexey Sheplyakov [Wed, 6 Jan 2021 20:00:32 +0000 (00:00 +0400)]
build/CMake: defined `long_long_(big|little)_endian` to intparam.h

... for consistency with autotools build.

3 years agobuild/autotools: fixed CL_VERSION substitution in cln.pc.in
Alexey Sheplyakov [Wed, 6 Jan 2021 19:52:06 +0000 (23:52 +0400)]
build/autotools: fixed CL_VERSION substitution in cln.pc.in

3 years agobuild/autotools: repaired make dist
Alexey Sheplyakov [Thu, 7 Jan 2021 13:21:29 +0000 (17:21 +0400)]
build/autotools: repaired make dist

version.h.in does not exist any more, don't distribute it

3 years agocmake build: moved cl_config.h.cmake to `autoconf`
Alexey Sheplyakov [Sun, 3 Jan 2021 06:52:03 +0000 (10:52 +0400)]
cmake build: moved cl_config.h.cmake to `autoconf`

So both cl_config.h.in (generated by autoconf) and cl_config.h.cmake
reside in the same directory

3 years agocmake: cl_config.h: avoid redefining GMP_DEMANDS_UINTD_* macros
Alexey Sheplyakov [Sat, 2 Jan 2021 17:45:28 +0000 (21:45 +0400)]
cmake: cl_config.h: avoid redefining GMP_DEMANDS_UINTD_* macros

3 years agocmake: defined `short_little_endian`, `int_little_endian` macros
Alexey Sheplyakov [Sat, 2 Jan 2021 16:34:34 +0000 (20:34 +0400)]
cmake: defined `short_little_endian`, `int_little_endian` macros

... so CL_CPU_BIG_ENDIAN_P is set in src/base/cl_sysdep.h both for
autotools and CMake builds.

Note 1.

Checking for endianness of both `short` and `int` is necessary only
for 16-bit systems (where `short` can be 8-bit). I doubt anyone is
going to run CLN on such systems in the 21st century. Nevertheless
CMake does the right thing even for such targets (i.e. it tries to
find a 16-bit integer type and figure out its endianness).

Note 2.

These days (circa 2021) the vast majority of CPU architectures are
little endian, so the problem is mostly irrelevant.

3 years agocmake: bail out if the source tree has been configured...
Alexey Sheplyakov [Sun, 3 Jan 2021 07:33:42 +0000 (11:33 +0400)]
cmake: bail out if the source tree has been configured...

.. and print a helpful message.

Before:

./configure
mkdir ../cln_build
cd ../cln_build && cmake -GNinja ../cln && cmake --build .

[cryptic error due to a redefined macro or something]

After:

./configure
mkdir ../cln_build
cd ../cln_build && cmake -GNinja ../cln && cmake --build .

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:24 (message):
  Source directory has been already configured by configure script. Please
  run `make distclean` in /home/asheplyakov/work/sw/cln and try again.

-- Configuring incomplete, errors occurred!

3 years agocmake: tell the compiler how to handle cl_asm_.cc
Alexey Sheplyakov [Sat, 2 Jan 2021 09:21:01 +0000 (13:21 +0400)]
cmake: tell the compiler how to handle cl_asm_.cc

Pass `-x assembler-with-cpp` to GCC/Clang. Don't use asm loops with
other compilers.

3 years agoRevert "[build] Rename cl_asm files to make CMake happy"
Alexey Sheplyakov [Fri, 1 Jan 2021 21:43:40 +0000 (01:43 +0400)]
Revert "[build] Rename cl_asm files to make CMake happy"

This reverts commit e67df7a533c7f768f48a591ec3b6f1e4cf4cdbe4.
Apparently it causes `make distclean` (autotools) to remove asm sources.

3 years agoCLN can be built with CMake
Alexey Sheplyakov [Sun, 28 Aug 2011 20:05:31 +0000 (23:05 +0300)]
CLN can be built with CMake

See INSTALL.CMake for the details

3 years ago[build] Rename cl_asm files to make CMake happy
Alexey Sheplyakov [Sat, 10 Mar 2012 16:09:07 +0000 (18:09 +0200)]
[build] Rename cl_asm files to make CMake happy

CMake insists on compiling *.cc files with a C++ compiler.

3 years ago[build] Move CLN version info into the include/cln/version.h file...
Alexey Sheplyakov [Mon, 27 Feb 2012 21:47:18 +0000 (23:47 +0200)]
[build] Move CLN version info into the include/cln/version.h file...

The point is to have a single definition of version for autotools and
CMake builds.

3 years ago[build] Use autoconf to find out cl_word_alignment.
Alexey Sheplyakov [Mon, 3 Oct 2011 07:22:28 +0000 (10:22 +0300)]
[build] Use autoconf to find out cl_word_alignment.

This way there's no need to define cl_word_alignment for every CPU. Also we
can stop exposing __$cpu__ macros in the public headers (for one our macros
conflict with compiler defined ones).

3 years ago[compile fix] Remove incorrect forward-declaration of perror().
Alexey Sheplyakov [Sun, 26 Feb 2012 19:55:08 +0000 (21:55 +0200)]
[compile fix] Remove incorrect forward-declaration of perror().

First of all, the return type is void, not int (according to C89).
Secondly, perror is required by C89, so there's no need to check for it.

Fixes (cross-) compilation with MinGW.

3 years ago[build] Don't try to find out the exact prototype of gettimeofday().
Alexey Sheplyakov [Tue, 30 Aug 2011 20:28:37 +0000 (23:28 +0300)]
[build] Don't try to find out the exact prototype of gettimeofday().

First of all, according to POSIX gettimeofday() has the following protype:

int gettimeofday(struct timeval *restrict tp, void restrict* tzp);

so GETTIMEOFDAY_DOTS is not really necessary.

Secondly, we always pass NULL as the second argument, so its type does not
really matter.

3 years agoAvoid "'register' storage class specifier is deprecated" warnings.
Richard Kreckel [Thu, 19 Nov 2020 16:40:23 +0000 (17:40 +0100)]
Avoid "'register' storage class specifier is deprecated" warnings.

The 'register' storage class specifier has been deprecated in C++11 and
is incompatible with C++17. GCC and Clang have long been ignoring it.

4 years agoRemove internal inline versions of numerator/denominator(cl_RA).
Richard Kreckel [Mon, 19 Oct 2020 18:36:33 +0000 (20:36 +0200)]
Remove internal inline versions of numerator/denominator(cl_RA).

These functions were not used internally, but they broke LTO because
they were declared extern publicly.

See <https://www.ginac.de/pipermail/cln-list/2020-September/000772.html>.

4 years agoReplace unused macro with cl_unused.
Richard Kreckel [Mon, 19 Oct 2020 08:36:57 +0000 (10:36 +0200)]
Replace unused macro with cl_unused.

It has become customary to use 'unused' within bitfields. Better avoid
this conflict. This fixes cross-compilation issues on several ARM-based
host platforms.

4 years agoAssume types 'long long int' and 'long double' exist.
Richard Kreckel [Sat, 17 Oct 2020 22:23:28 +0000 (00:23 +0200)]
Assume types 'long long int' and 'long double' exist.

The C++11 standard requires in 3.9.1-2 that type 'long long int' exists
and in -8 that type 'long double' exists. So, remove macros HAVE_LONGLONG
and HAVE_LONGDOUBLE. Also, shamelessly update m4/param.m4, m4/intparam.m4,
and m4/floatparam.m4 with code from CLisp.

All this fixes several cross-compilation issues discovered by
Helmut Grohne <helmut@subdivi.de>.

4 years agoFix configury (intptr_t test) for cross-compilation.
Richard Kreckel [Sun, 11 Oct 2020 10:20:44 +0000 (12:20 +0200)]
Fix configury (intptr_t test) for cross-compilation.

Reported by Helmut Grohne <helmut@subdivi.de> (cf. Debian bug#971939).

4 years agoMove factorial check from test section to exam section...
Richard Kreckel [Wed, 1 Jan 2020 11:38:02 +0000 (12:38 +0100)]
Move factorial check from test section to exam section...

...since it has no randomness and no iterations, cf. tests/FILES.

4 years agoFixed factorial calculation on 64-bit windows.
Alexey Sheplyakov [Wed, 1 Jan 2020 11:22:31 +0000 (12:22 +0100)]
Fixed factorial calculation on 64-bit windows.

4 years agoFinalize CLN 1.3.6 release. cln_1-3-6
Richard Kreckel [Thu, 5 Dec 2019 20:56:09 +0000 (21:56 +0100)]
Finalize CLN 1.3.6 release.

4 years agoCommit 2f799401454292 (`Replace typedef int[<negative>] trick with static_assert.`)
Alexey Sheplyakov [Wed, 4 Dec 2019 22:57:14 +0000 (23:57 +0100)]
Commit 2f799401454292 (`Replace typedef int[<negative>] trick with static_assert.`)
breaks cross compilation due to invalid `include/cln/intparam.h` header
produced by the configure script.

CL_INTPARAM_BITSIZE relies on integer multiplication overflow to find out
the bit size of various integer types. However singed integer overflow
is an undefined behavior. Apparently in some contexts GCC uses mod 2^N
arithmetics to evaluate the signed integer expressions. As a result
`typedef int[2*((T)((T)2 * ... * (T)2) == 0) - 1]` trick works with both
signed and unsigned integers (and gives the correct result).

Howerver GCC considers an expression involving an integer overflow as
a non-constant, and refuses to use it in `static_assert`:

$ cat signed_overflow.cc

void f() {
static_assert((int)((int)(1 << 30) * (int)2 * (int)2) == 0, "");
}

$ g++ -c signed_overflow.cc

signed_overflow.cc: In function ‘void f()’:
signed_overflow.cc:2:37: warning: integer overflow in expression [-Woverflow]
  static_assert((int)((int)(1 << 30) * (int)2 * (int)2) == 0, "");
                      ~~~~~~~~~~~~~~~^~~~~~~~
signed_overflow.cc:2:2: error: non-constant condition for static assertion
  static_assert((int)((int)(1 << 30) * (int)2 * (int)2) == 0, "");
  ^~~~~~~~~~~~~

As a result `static_assert((T)((T)2 * ... * (T)2) == 0, "")` never holds
since either 1) the condition can't possibly hold without an overflow,
or 2) GCC rejects the expression when the overflow occurs.

Keep using the old good `typedef int[negative]` in CL_INTPARAM_BITSIZE
to avoid the problem.

4 years ago[DOC] Shorten copyright years, also on PDF.
Richard Kreckel [Mon, 18 Nov 2019 09:11:57 +0000 (10:11 +0100)]
[DOC] Shorten copyright years, also on PDF.

4 years agoFix long-standing bug in the "signed" variants of fprinthexadecimal.
Bruno Haible [Mon, 18 Nov 2019 00:32:13 +0000 (01:32 +0100)]
Fix long-standing bug in the "signed" variants of fprinthexadecimal.

4 years agotest_I_io now succeeds on native Windows.
Bruno Haible [Sun, 27 Oct 2019 22:03:41 +0000 (23:03 +0100)]
test_I_io now succeeds on native Windows.

4 years agoFinalize CLN 1.3.5 release. cln_1-3-5
Richard Kreckel [Sun, 17 Nov 2019 21:28:11 +0000 (22:28 +0100)]
Finalize CLN 1.3.5 release.

4 years agoRestore ABI from version 1.3.4.
Richard Kreckel [Sun, 17 Nov 2019 21:19:14 +0000 (22:19 +0100)]
Restore ABI from version 1.3.4.

Make all signatures of fprintdecimal and fprinthexadecimal non-inline
functions, as they were before.

4 years agoShip INSTALL.windows.
Richard Kreckel [Tue, 5 Nov 2019 22:30:28 +0000 (23:30 +0100)]
Ship INSTALL.windows.

5 years agoAvoid "this statement may fall through" warnings.
Richard Kreckel [Fri, 1 Nov 2019 22:45:11 +0000 (23:45 +0100)]
Avoid "this statement may fall through" warnings.

5 years agoDelete allocation and deallocation operators that are forbidden.
Richard Kreckel [Fri, 1 Nov 2019 22:21:51 +0000 (23:21 +0100)]
Delete allocation and deallocation operators that are forbidden.

This also avoids compiler warnings about non-throwing exception
specifications.

5 years agoAvoid "suggest explicit braces to avoid ambiguous 'else'" warnings.
Richard Kreckel [Fri, 1 Nov 2019 21:55:39 +0000 (22:55 +0100)]
Avoid "suggest explicit braces to avoid ambiguous 'else'" warnings.

5 years agoMake scale_float() not throw a floating_point_underflow_exception...
Richard Kreckel [Fri, 1 Nov 2019 19:37:24 +0000 (20:37 +0100)]
Make scale_float() not throw a floating_point_underflow_exception...

...if cl_inhibit_floating_point_underflow was set to true.

Reported by Jan Rheinländer <jrheinlaender@gmx.de>.

5 years agoInstallation instruction for Microsoft Windows.
Bruno Haible [Mon, 28 Oct 2019 00:43:30 +0000 (01:43 +0100)]
Installation instruction for Microsoft Windows.

* INSTALL.windows: New file, copied from GNU gettext.

5 years agoRetrieve the real time through gettimeofday(), not times().
Bruno Haible [Sun, 27 Oct 2019 21:58:26 +0000 (22:58 +0100)]
Retrieve the real time through gettimeofday(), not times().

5 years agoFix compilation error with MSVC in 64-bit mode.
Bruno Haible [Mon, 28 Oct 2019 00:25:21 +0000 (01:25 +0100)]
Fix compilation error with MSVC in 64-bit mode.

* include/cln/types.h: Test _M_AMD64 in addition to __x86_64__.

5 years agoFix compilation error on MSVC.
Bruno Haible [Sun, 27 Oct 2019 21:51:43 +0000 (22:51 +0100)]
Fix compilation error on MSVC.

Based on code that I wrote for gnulib.

5 years agoFix #if directives that test for native Windows.
Bruno Haible [Sun, 27 Oct 2019 21:20:44 +0000 (22:20 +0100)]
Fix #if directives that test for native Windows.

5 years agoRestore ability to use a C++ compiler that does not claim to support C++11.
Bruno Haible [Sun, 27 Oct 2019 21:01:09 +0000 (22:01 +0100)]
Restore ability to use a C++ compiler that does not claim to support C++11.

5 years agoFetch imported m4 files during autogen.sh invocation.
Bruno Haible [Sun, 27 Oct 2019 19:37:46 +0000 (20:37 +0100)]
Fetch imported m4 files during autogen.sh invocation.

5 years ago64-bit mingw port: Fix undefined references to cl_I_constructor_from_[U]L.
Bruno Haible [Sun, 27 Oct 2019 18:47:07 +0000 (19:47 +0100)]
64-bit mingw port: Fix undefined references to cl_I_constructor_from_[U]L.

5 years ago64-bit mingw port: size_t may be larger than 'unsigned long'.
Bruno Haible [Sun, 27 Oct 2019 18:47:06 +0000 (19:47 +0100)]
64-bit mingw port: size_t may be larger than 'unsigned long'.

5 years ago64-bit mingw port: Extend fprintdecimal and fprinthexadecimal up to 'long long'.
Bruno Haible [Sun, 27 Oct 2019 18:47:04 +0000 (19:47 +0100)]
64-bit mingw port: Extend fprintdecimal and fprinthexadecimal up to 'long long'.

5 years ago64-bit mingw port: Change return type of 'offsetof' to intptr_t.
Robert Szalai [Sun, 27 Oct 2019 18:47:03 +0000 (19:47 +0100)]
64-bit mingw port: Change return type of 'offsetof' to intptr_t.

5 years ago64-bit mingw port: Use intptr_t, not long, to guarantee alignment.
Robert Szalai [Sun, 27 Oct 2019 18:47:01 +0000 (19:47 +0100)]
64-bit mingw port: Use intptr_t, not long, to guarantee alignment.

5 years ago64-bit mingw port: In hash table routines, use 'intptr_t' instead of 'long'.
Robert Szalai [Sun, 27 Oct 2019 18:47:00 +0000 (19:47 +0100)]
64-bit mingw port: In hash table routines, use 'intptr_t' instead of 'long'.

5 years ago64-bit mingw port: Avoid ambiguous overload error due to cl_[su]int change.
Bruno Haible [Sun, 27 Oct 2019 18:46:59 +0000 (19:46 +0100)]
64-bit mingw port: Avoid ambiguous overload error due to cl_[su]int change.

5 years ago64-bit mingw port: Define intV in terms of intP.
Bruno Haible [Sun, 27 Oct 2019 18:46:57 +0000 (19:46 +0100)]
64-bit mingw port: Define intV in terms of intP.

5 years ago64-bit mingw port: Define cl_tag_mask, cl_value_mask w.r.t. cl_uint.
Bruno Haible [Sun, 27 Oct 2019 18:46:56 +0000 (19:46 +0100)]
64-bit mingw port: Define cl_tag_mask, cl_value_mask w.r.t. cl_uint.

Based on a patch by Robert Szalai <robicjedi@gmail.com>.

5 years ago64-bit mingw port: Define sintP, uintP in terms of 'intptr_t', not 'long'.
Bruno Haible [Sun, 27 Oct 2019 18:46:55 +0000 (19:46 +0100)]
64-bit mingw port: Define sintP, uintP in terms of 'intptr_t', not 'long'.

Based on a patch by Robert Szalai <robicjedi@gmail.com>.

5 years ago64-bit mingw port: Fix compilation error of intparam.c.
Bruno Haible [Sun, 27 Oct 2019 18:46:53 +0000 (19:46 +0100)]
64-bit mingw port: Fix compilation error of intparam.c.

5 years ago64-bit mingw port: Verify that pointers fit in 'intptr_t', not 'long'.
Bruno Haible [Sun, 27 Oct 2019 18:46:51 +0000 (19:46 +0100)]
64-bit mingw port: Verify that pointers fit in 'intptr_t', not 'long'.

5 years agoAdd ASSERT_n macros for n up to 8.
Bruno Haible [Sun, 27 Oct 2019 15:40:39 +0000 (16:40 +0100)]
Add ASSERT_n macros for n up to 8.

5 years agoautogen.sh: Always fetch the files; don't let old copies stick around forever.
Bruno Haible [Sun, 27 Oct 2019 14:39:49 +0000 (15:39 +0100)]
autogen.sh: Always fetch the files; don't let old copies stick around forever.

5 years agoAvoid "integer overflow in expression" warning.
Bruno Haible [Sun, 27 Oct 2019 15:06:45 +0000 (16:06 +0100)]
Avoid "integer overflow in expression" warning.

5 years agoReplace typedef int[<negative>] trick with static_assert.
Richard Kreckel [Sun, 27 Oct 2019 13:57:36 +0000 (14:57 +0100)]
Replace typedef int[<negative>] trick with static_assert.

5 years agoUpdate version dependencies of automake, autoconf.
Richard Kreckel [Sun, 27 Oct 2019 13:21:50 +0000 (14:21 +0100)]
Update version dependencies of automake, autoconf.

5 years agoAvoid "multi-line comment" warning.
Bruno Haible [Sun, 27 Oct 2019 13:08:00 +0000 (14:08 +0100)]
Avoid "multi-line comment" warning.

5 years agoAvoid "suggest parentheses around ‘-’ inside ‘>>’" warning.
Bruno Haible [Sun, 27 Oct 2019 13:07:49 +0000 (14:07 +0100)]
Avoid "suggest parentheses around ‘-’ inside ‘>>’" warning.

5 years agoAvoid some "suggest explicit braces to avoid ambiguous ‘else’" warnings.
Bruno Haible [Sun, 27 Oct 2019 13:07:44 +0000 (14:07 +0100)]
Avoid some "suggest explicit braces to avoid ambiguous ‘else’" warnings.

5 years agoAvoid "statement has no effect" warnings.
Bruno Haible [Sun, 27 Oct 2019 13:07:18 +0000 (14:07 +0100)]
Avoid "statement has no effect" warnings.

5 years agoAvoid "typedef ... locally defined but not used" warnings.
Bruno Haible [Sun, 27 Oct 2019 13:07:01 +0000 (14:07 +0100)]
Avoid "typedef ... locally defined but not used" warnings.

5 years agoExtend .gitignore to also ignore built files.
Bruno Haible [Sun, 27 Oct 2019 13:06:06 +0000 (14:06 +0100)]
Extend .gitignore to also ignore built files.

5 years agoMake underlying type sintE of cln::float_format_t explicit.
Richard Kreckel [Sun, 27 Oct 2019 10:16:34 +0000 (11:16 +0100)]
Make underlying type sintE of cln::float_format_t explicit.

Suggested by Jan Rheinländer <jrheinlaender@gmx.de>.

5 years agoRequire C++11 compiler.
Richard Kreckel [Sun, 27 Oct 2019 10:00:23 +0000 (11:00 +0100)]
Require C++11 compiler.

5 years agoUpdate to currently largest known Mersenne prime.
Richard Kreckel [Sun, 27 Oct 2019 08:39:12 +0000 (09:39 +0100)]
Update to currently largest known Mersenne prime.

5 years agoRemove obsolete CVSROOT directory.
Bruno Haible [Sat, 26 Oct 2019 15:02:49 +0000 (17:02 +0200)]
Remove obsolete CVSROOT directory.

5 years agoRemove left-over .deps directories.
Bruno Haible [Sat, 26 Oct 2019 14:54:12 +0000 (16:54 +0200)]
Remove left-over .deps directories.

5 years agoDistribute INSTALL.generic.
Bruno Haible [Sat, 26 Oct 2019 14:53:38 +0000 (16:53 +0200)]
Distribute INSTALL.generic.

5 years agoRevamp and simplify autoconfiguration.
Bruno Haible [Sat, 26 Oct 2019 14:52:28 +0000 (16:52 +0200)]
Revamp and simplify autoconfiguration.

- New file autogen.sh.
- Put build scripts in build-aux/ not autoconf/.
- Install lib-*.m4 and config.rpath through gnulib module 'havelib'.
- Install 'test-driver' through automake.

5 years agoAdded e2k arch support.
Michael Shigorin [Mon, 2 Sep 2019 08:08:55 +0000 (11:08 +0300)]
Added e2k arch support.

About the CPU: https://en.wikipedia.org/wiki/Elbrus_2000
About the Linux port: https://www.altlinux.org/Ports/e2k

5 years agoFix warnings from gcc's -Wshift-overflow.
Bruno Haible [Mon, 7 Jan 2019 06:52:12 +0000 (07:52 +0100)]
Fix warnings from gcc's -Wshift-overflow.

Reported by David van der Spoel <spoel@xray.bmc.uu.se>.

* src/base/cl_macros.h (bit, bitm, minus_bit, minus_bitm): Shift an unsigned
value, not a signed value.

6 years agoAdd support for riscv64 platform.
Manuel A. Fernandez Montecelo [Thu, 3 May 2018 21:28:36 +0000 (23:28 +0200)]
Add support for riscv64 platform.

6 years agoUpdate to recently found large Mersenne prime.
Richard Kreckel [Sun, 18 Mar 2018 11:12:26 +0000 (12:12 +0100)]
Update to recently found large Mersenne prime.

6 years agoSupport MIPS release 6.
YunQiang Su [Sun, 18 Mar 2018 11:05:51 +0000 (12:05 +0100)]
Support MIPS release 6.

MIPS release 6 is not full compatible with the previous releases, it removes
some instructions and changes encoding of some instruction.
the `multu' is included.

MIPS r6 drops `lo' and `hi' registers, and then removes `multu'/`mfhi'/`mflo'.
Instead it uses `mulu' to compute the low part and `muhu' to compute
the high part.

7 years agoUpdate known-to-work-with compilers.
Richard Kreckel [Thu, 4 May 2017 22:17:07 +0000 (00:17 +0200)]
Update known-to-work-with compilers.

And while at it, remove some workarounds for ancient compilers.

8 years agoUpdate to recently found large Mersenne prime.
Richard Kreckel [Thu, 11 Feb 2016 22:23:57 +0000 (23:23 +0100)]
Update to recently found large Mersenne prime.