diff options
| author | kx <kx@radix-linux.su> | 2026-10-18 14:20:23 +0300 |
|---|---|---|
| committer | kx <kx@radix-linux.su> | 2026-10-18 14:20:23 +0300 |
| commit | 559c9f723105bf25e85b4aeaf85f1dca8628307f (patch) | |
| tree | 1d0420ec3b4b1186142504c473ac573eceae34ae | |
| parent | 8949ef8b9e8a5bdbdbc56f9a97c94ecfafc239bf (diff) | |
| download | mcpu-cpp-559c9f723105bf25e85b4aeaf85f1dca8628307f.tar.xz | |
| -rw-r--r-- | NEWS | 17 | ||||
| -rw-r--r-- | README | 2 | ||||
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | doc/mcpu-cpp-en.md | 2 | ||||
| -rw-r--r-- | doc/mcpu-cpp-ru.md | 2 | ||||
| -rw-r--r-- | man/mcpu-cpp.1 | 2 | ||||
| -rw-r--r-- | man/ru/mcpu-cpp.1 | 2 | ||||
| -rwxr-xr-x | tests/t0022-predefined-macros.sh | 2 | ||||
| -rwxr-xr-x | tests/t0024-abi-predefined.sh | 6 | ||||
| -rwxr-xr-x | tests/t0025-dump-macros.sh | 6 | ||||
| -rwxr-xr-x | tests/t0028-predefined-ranges.sh | 11 | ||||
| -rwxr-xr-x | tests/t0033-dump-definitions.sh | 2 | ||||
| -rwxr-xr-x | tests/t0053-interface-cleanup.sh | 4 |
13 files changed, 39 insertions, 21 deletions
@@ -1,4 +1,21 @@ +mcpu-cpp 1.0.7 +============== + +* Predefined complex types are aligned with LibMCPU: + --------------+-------+--------+--------------- + Data Type | WIDTH | SIZEOF | Components + --------------+-------+--------+--------------- + complex32 | — | — | removed + complex64 | 64 | 8 | 2 × real32 + complex128 | 128 | 16 | 2 × real64 + complex256 | 256 | 32 | 2 × real128 + complex512 | 512 | 64 | 2 × real256 + ... | ... | ... | ... + complex65536 | 65536 | 8192 | 2 × real32768 + --------------+-------+--------+--------------- + + mcpu-cpp 1.0.6 ============== @@ -471,7 +471,7 @@ Build mcpu-cpp uses Autoconf/Automake and obtains LibMPUIO compilation and linker flags from `mpuio-config`, following the conventions of LibMPU and LibMPUIO. -No pkg-config or flex dependency is introduced. The 1.0.6 release is +No pkg-config or flex dependency is introduced. The 1.0.7 release is developed and tested against LibMPU 1.0.28 and LibMPUIO 1.0.8. The LibMPUIO UCS-2 ctype API is required. ZUBR 4.1.2 is the parser-regeneration tool; it is not required for a normal build from a release archive containing the generated diff --git a/configure.ac b/configure.ac index d6065ff..078a73c 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) m4_include([acsite.m4]) -AC_INIT([mcpu-cpp], [1.0.6], [], [mcpu-cpp]) +AC_INIT([mcpu-cpp], [1.0.7], [], [mcpu-cpp]) AC_MCPU_CPP_REQUIRE_BASH diff --git a/doc/mcpu-cpp-en.md b/doc/mcpu-cpp-en.md index 8a3ff82..5149c8c 100644 --- a/doc/mcpu-cpp-en.md +++ b/doc/mcpu-cpp-en.md @@ -1252,7 +1252,7 @@ exist for the future high-level language. The version of `mcpu-cpp` has its own unambiguous name: ```text -#define __MCPU_CPP_VERSION__ "1.0.6" +#define __MCPU_CPP_VERSION__ "1.0.7" ``` The value is obtained automatically from `PACKAGE_VERSION`. When a compiler diff --git a/doc/mcpu-cpp-ru.md b/doc/mcpu-cpp-ru.md index e6248d2..86a279f 100644 --- a/doc/mcpu-cpp-ru.md +++ b/doc/mcpu-cpp-ru.md @@ -1261,7 +1261,7 @@ rescan. пока нет. Собственная версия `mcpu-cpp` имеет отдельное однозначное имя: ```text -#define __MCPU_CPP_VERSION__ "1.0.6" +#define __MCPU_CPP_VERSION__ "1.0.7" ``` Значение автоматически берётся из `PACKAGE_VERSION`. Когда появится compiler diff --git a/man/mcpu-cpp.1 b/man/mcpu-cpp.1 index eb63b46..0fbb916 100644 --- a/man/mcpu-cpp.1 +++ b/man/mcpu-cpp.1 @@ -1,4 +1,4 @@ -.TH MCPU-CPP 1 "October 2026" "MCPU-CPP 1.0.6" "User Commands" +.TH MCPU-CPP 1 "October 2026" "MCPU-CPP 1.0.7" "User Commands" .SH NAME mcpu-cpp \- preprocessor for MCPU languages .SH SYNOPSIS diff --git a/man/ru/mcpu-cpp.1 b/man/ru/mcpu-cpp.1 index 05ddcc3..94752f5 100644 --- a/man/ru/mcpu-cpp.1 +++ b/man/ru/mcpu-cpp.1 @@ -1,4 +1,4 @@ -.TH MCPU-CPP 1 "Октябрь 2026" "MCPU-CPP 1.0.6" "Команды пользователя" +.TH MCPU-CPP 1 "Октябрь 2026" "MCPU-CPP 1.0.7" "Команды пользователя" .SH ИМЯ mcpu-cpp \- препроцессор языков MCPU .SH СИНТАКСИС diff --git a/tests/t0022-predefined-macros.sh b/tests/t0022-predefined-macros.sh index 8b01c98..8e6dceb 100755 --- a/tests/t0022-predefined-macros.sh +++ b/tests/t0022-predefined-macros.sh @@ -39,7 +39,7 @@ grep -F "root_file = \"$base/main.c\";" "$base/out" >/dev/null grep -F "root_base = \"$base/main.c\";" "$base/out" >/dev/null grep '^root_level = 0;$' "$base/out" >/dev/null grep '^root_line = 5;$' "$base/out" >/dev/null -grep '^cpp_version = "1\.0\.6";$' "$base/out" >/dev/null +grep '^cpp_version = "1\.0\.7";$' "$base/out" >/dev/null grep '^old_version_name = __VERSION__;$' "$base/out" >/dev/null grep '^date = "[A-Z][a-z][a-z] [0-9] [0-9][0-9][0-9][0-9]";$\|^date = "[A-Z][a-z][a-z] [12][0-9] [0-9][0-9][0-9][0-9]";$\|^date = "[A-Z][a-z][a-z] 3[01] [0-9][0-9][0-9][0-9]";$' "$base/out" >/dev/null grep '^time = "[0-2][0-9]:[0-5][0-9]:[0-5][0-9]";$' "$base/out" >/dev/null diff --git a/tests/t0024-abi-predefined.sh b/tests/t0024-abi-predefined.sh index 4fe4023..6baecc7 100755 --- a/tests/t0024-abi-predefined.sh +++ b/tests/t0024-abi-predefined.sh @@ -99,7 +99,7 @@ EOT "$MCPU_CPP" --no-config "$base/main.c" -o "$base/out" grep '^arch = 1;$' "$base/out" >/dev/null -grep '^cpp_version = "1\.0\.6";$' "$base/out" >/dev/null +grep '^cpp_version = "1\.0\.7";$' "$base/out" >/dev/null grep '^old_version = __VERSION__;$' "$base/out" >/dev/null grep '^byte_order = \(1234\|4321\);$' "$base/out" >/dev/null grep '^mcpu_byte_order = \(1234\|4321\);$' "$base/out" >/dev/null @@ -160,7 +160,7 @@ grep '^complex128_type = complex128;$' "$base/out" >/dev/null grep '^real128_width = 128;$' "$base/out" >/dev/null grep '^complex128_width = 128;$' "$base/out" >/dev/null grep '^sizeof_real128 = 16;$' "$base/out" >/dev/null -grep '^sizeof_complex128 = 32;$' "$base/out" >/dev/null +grep '^sizeof_complex128 = 16;$' "$base/out" >/dev/null grep '^real128_mant = [1-9][0-9]*;$' "$base/out" >/dev/null grep '^real128_decimal = [1-9][0-9]*;$' "$base/out" >/dev/null grep '^real128_old_dig_must_not_exist = __REAL128_DIG__;$' "$base/out" >/dev/null @@ -179,7 +179,7 @@ grep '^sizeof_real1024_exp = [1-9][0-9]*;$' "$base/out" >/dev/null grep '^real1024_max_strlen = [1-9][0-9]*;$' "$base/out" >/dev/null grep '^complex1024_type = complex1024;$' "$base/out" >/dev/null grep '^complex1024_width = 1024;$' "$base/out" >/dev/null -grep '^sizeof_complex1024 = 256;$' "$base/out" >/dev/null +grep '^sizeof_complex1024 = 128;$' "$base/out" >/dev/null grep '^int65536_type = int65536;$' "$base/out" >/dev/null grep '^int65536_width = 65536;$' "$base/out" >/dev/null grep '^sizeof_int65536 = 8192;$' "$base/out" >/dev/null diff --git a/tests/t0025-dump-macros.sh b/tests/t0025-dump-macros.sh index 5eded50..1a9ecf6 100755 --- a/tests/t0025-dump-macros.sh +++ b/tests/t0025-dump-macros.sh @@ -9,7 +9,7 @@ trap 'rm -rf "$base"' EXIT HUP INT TERM test -s "$base/macros" LC_ALL=C sort -c "$base/macros" grep '^#define _ARCH_MCPU 1$' "$base/macros" >/dev/null -grep '^#define __MCPU_CPP_VERSION__ "1\.0\.6"$' "$base/macros" >/dev/null +grep '^#define __MCPU_CPP_VERSION__ "1\.0\.7"$' "$base/macros" >/dev/null grep '^#define __MCPU_HOST_MACHINE_REGISTER_WIDTH__ \(64\|32\)$' "$base/macros" >/dev/null grep '^#define __MCPU_REAL_IO_LIMIT__ [0-9][0-9]*$' "$base/macros" >/dev/null grep '^#define __MCPU_MATH_FN_LIMIT__ [0-9][0-9]*$' "$base/macros" >/dev/null @@ -65,11 +65,11 @@ grep '^#define __REAL1024_DECIMAL_DIG__ [1-9][0-9]*$' "$base/macros" >/dev/null grep '^#define __REAL1024_MANT_DIG__ [1-9][0-9]*$' "$base/macros" >/dev/null grep '^#define __COMPLEX128_TYPE__ complex128$' "$base/macros" >/dev/null grep '^#define __COMPLEX128_WIDTH__ 128$' "$base/macros" >/dev/null -grep '^#define __SIZEOF_COMPLEX128__ 32$' "$base/macros" >/dev/null +grep '^#define __SIZEOF_COMPLEX128__ 16$' "$base/macros" >/dev/null real_limit=`sed -n 's/^#define __MCPU_REAL_IO_LIMIT__ \([0-9][0-9]*\)$/\1/p' "$base/macros"` test -n "$real_limit" real_size=`expr "$real_limit" / 8` -complex_size=`expr "$real_limit" / 4` +complex_size=`expr "$real_limit" / 8` grep "^#define __REAL${real_limit}_TYPE__ real${real_limit}$" "$base/macros" >/dev/null grep "^#define __REAL${real_limit}_WIDTH__ ${real_limit}$" "$base/macros" >/dev/null grep "^#define __SIZEOF_REAL${real_limit}__ ${real_size}$" "$base/macros" >/dev/null diff --git a/tests/t0028-predefined-ranges.sh b/tests/t0028-predefined-ranges.sh index 72693a2..d788fc6 100755 --- a/tests/t0028-predefined-ranges.sh +++ b/tests/t0028-predefined-ranges.sh @@ -48,7 +48,7 @@ grep "^#define __MCPU_COMPLEX_MAX_WIDTH__ ${real_limit}$" "$base/macros" >/dev/n bits=32 while test "$bits" -le "$real_limit"; do real_bytes=`expr "$bits" / 8` - complex_bytes=`expr "$bits" / 4` + complex_bytes=`expr "$bits" / 8` grep "^#define __REAL${bits}_TYPE__ real${bits}$" "$base/macros" >/dev/null grep "^#define __REAL${bits}_WIDTH__ ${bits}$" "$base/macros" >/dev/null grep "^#define __SIZEOF_REAL${bits}__ ${real_bytes}$" "$base/macros" >/dev/null @@ -69,10 +69,11 @@ while test "$bits" -le "$real_limit"; do esac grep "^#define __SIZEOF_REAL${bits}_EXP__ ${exp_bytes}$" "$base/macros" >/dev/null grep "^#define __REAL${bits}_MAX_STRLEN__ ${max_strlen}$" "$base/macros" >/dev/null - grep "^#define __COMPLEX${bits}_TYPE__ complex${bits}$" "$base/macros" >/dev/null - grep "^#define __COMPLEX${bits}_WIDTH__ ${bits}$" "$base/macros" >/dev/null - grep "^#define __SIZEOF_COMPLEX${bits}__ ${complex_bytes}$" "$base/macros" >/dev/null - + if test "$bits" -gt 32; then + grep "^#define __COMPLEX${bits}_TYPE__ complex${bits}$" "$base/macros" >/dev/null + grep "^#define __COMPLEX${bits}_WIDTH__ ${bits}$" "$base/macros" >/dev/null + grep "^#define __SIZEOF_COMPLEX${bits}__ ${complex_bytes}$" "$base/macros" >/dev/null + fi grep "^#define __REAL${bits}_DECIMAL_DIG__ [1-9][0-9]*$" "$base/macros" >/dev/null grep "^#define __REAL${bits}_MANT_DIG__ [1-9][0-9]*$" "$base/macros" >/dev/null diff --git a/tests/t0033-dump-definitions.sh b/tests/t0033-dump-definitions.sh index cdd101a..d945219 100755 --- a/tests/t0033-dump-definitions.sh +++ b/tests/t0033-dump-definitions.sh @@ -24,7 +24,7 @@ EOT # ordinary preprocessed result. grep '^# 0 "'"$base/main.c"'"$' "$base/out" >/dev/null grep '^# 0 "<built-in>"$' "$base/out" >/dev/null -grep '^#define __MCPU_CPP_VERSION__ "1.0.6"$' "$base/out" >/dev/null +grep '^#define __MCPU_CPP_VERSION__ "1.0.7"$' "$base/out" >/dev/null grep '^#define FROM_HEADER 17$' "$base/out" >/dev/null grep '^#define LOCAL_VALUE 25$' "$base/out" >/dev/null if grep '^[[:blank:]]*#[[:blank:]]*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>' "$base/out" >/dev/null; then diff --git a/tests/t0053-interface-cleanup.sh b/tests/t0053-interface-cleanup.sh index 386daf4..a38c98a 100755 --- a/tests/t0053-interface-cleanup.sh +++ b/tests/t0053-interface-cleanup.sh @@ -6,13 +6,13 @@ trap 'rm -rf "$base"' EXIT HUP INT TERM # --version identifies the independent MCPU languages preprocessor. "$MCPU_CPP" --version > "$base/version" -printf '%s\n' 'mcpu-cpp 1.0.6' 'MCPU languages preprocessor' > "$base/version.expected" +printf '%s\n' 'mcpu-cpp 1.0.7' 'MCPU languages preprocessor' > "$base/version.expected" cmp "$base/version.expected" "$base/version" # --help contains the current public interface, including --object-suffix, # and puts the stdin/stdout notes after the option list. "$MCPU_CPP" --help > "$base/help" -grep '^mcpu-cpp 1\.0\.6$' "$base/help" >/dev/null +grep '^mcpu-cpp 1\.0\.7$' "$base/help" >/dev/null grep '^MCPU languages preprocessor$' "$base/help" >/dev/null grep '^ --object-suffix SFX set object suffix used for dependency targets$' "$base/help" >/dev/null grep '^ --sys-root=PATH use PATH as MCPU root and do not read configuration files$' "$base/help" >/dev/null |
