diff --git a/mir/README.md b/mir/README.md index f84796c..13fe289 100644 --- a/mir/README.md +++ b/mir/README.md @@ -3,3 +3,5 @@ project. Following changes have been made: * A CMake build script added to create a library * Unused files / tests have been removed to avoid clutter + +Last update: 7th Jan 2021 diff --git a/mir/c2mir/aarch64/caarch64-ABI-code.c b/mir/c2mir/aarch64/caarch64-ABI-code.c index 4c1f4b9..a854b97 100644 --- a/mir/c2mir/aarch64/caarch64-ABI-code.c +++ b/mir/c2mir/aarch64/caarch64-ABI-code.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . aarch64 call ABI target specific code. */ diff --git a/mir/c2mir/aarch64/caarch64-code.c b/mir/c2mir/aarch64/caarch64-code.c index 1a4af14..8ebea7f 100644 --- a/mir/c2mir/aarch64/caarch64-code.c +++ b/mir/c2mir/aarch64/caarch64-code.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ #include "../mirc.h" diff --git a/mir/c2mir/aarch64/caarch64.h b/mir/c2mir/aarch64/caarch64.h index 2f6b0c8..e9b62ce 100644 --- a/mir/c2mir/aarch64/caarch64.h +++ b/mir/c2mir/aarch64/caarch64.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ #include diff --git a/mir/c2mir/aarch64/mirc_aarch64_float.h b/mir/c2mir/aarch64/mirc_aarch64_float.h index 3048413..ee124f2 100644 --- a/mir/c2mir/aarch64/mirc_aarch64_float.h +++ b/mir/c2mir/aarch64/mirc_aarch64_float.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 5.2.4.2.2 */ diff --git a/mir/c2mir/aarch64/mirc_aarch64_limits.h b/mir/c2mir/aarch64/mirc_aarch64_limits.h index 7953cb1..258a19e 100644 --- a/mir/c2mir/aarch64/mirc_aarch64_limits.h +++ b/mir/c2mir/aarch64/mirc_aarch64_limits.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See 5.2.4.2 */ diff --git a/mir/c2mir/aarch64/mirc_aarch64_linux.h b/mir/c2mir/aarch64/mirc_aarch64_linux.h index e8b961a..3b470cd 100644 --- a/mir/c2mir/aarch64/mirc_aarch64_linux.h +++ b/mir/c2mir/aarch64/mirc_aarch64_linux.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ static char aarch64_mirc[] diff --git a/mir/c2mir/aarch64/mirc_aarch64_stdarg.h b/mir/c2mir/aarch64/mirc_aarch64_stdarg.h index 0b462fe..bcc63d6 100644 --- a/mir/c2mir/aarch64/mirc_aarch64_stdarg.h +++ b/mir/c2mir/aarch64/mirc_aarch64_stdarg.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ static char stdarg_str[] diff --git a/mir/c2mir/aarch64/mirc_aarch64_stddef.h b/mir/c2mir/aarch64/mirc_aarch64_stddef.h index 2aad94a..ac4207d 100644 --- a/mir/c2mir/aarch64/mirc_aarch64_stddef.h +++ b/mir/c2mir/aarch64/mirc_aarch64_stddef.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 7.19 */ diff --git a/mir/c2mir/aarch64/mirc_aarch64_stdint.h b/mir/c2mir/aarch64/mirc_aarch64_stdint.h index 40dbe5c..d9ac532 100644 --- a/mir/c2mir/aarch64/mirc_aarch64_stdint.h +++ b/mir/c2mir/aarch64/mirc_aarch64_stdint.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 7.20 */ diff --git a/mir/c2mir/c2mir.c b/mir/c2mir/c2mir.c index 9e12bc2..a250a00 100644 --- a/mir/c2mir/c2mir.c +++ b/mir/c2mir/c2mir.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ /* C to MIR compiler. It is a four pass compiler: diff --git a/mir/c2mir/c2mir.h b/mir/c2mir/c2mir.h index 58de6dc..45997d8 100644 --- a/mir/c2mir/c2mir.h +++ b/mir/c2mir/c2mir.h @@ -1,3 +1,7 @@ +/* This file is a part of MIR project. + Copyright (C) 2020-2021 Vladimir Makarov . +*/ + #ifndef C2MIR_H #define C2MIR_H diff --git a/mir/c2mir/mirc.h b/mir/c2mir/mirc.h index 4d0343c..d301540 100644 --- a/mir/c2mir/mirc.h +++ b/mir/c2mir/mirc.h @@ -1,3 +1,7 @@ +/* This file is a part of MIR project. + Copyright (C) 2020-2021 Vladimir Makarov . +*/ + static const char mirc[] = "#define __mirc__ 1\n" "#define __MIRC__ 1\n" diff --git a/mir/c2mir/mirc_iso646.h b/mir/c2mir/mirc_iso646.h index ed63b29..6e4a2ca 100644 --- a/mir/c2mir/mirc_iso646.h +++ b/mir/c2mir/mirc_iso646.h @@ -1,3 +1,7 @@ +/* This file is a part of MIR project. + Copyright (C) 2020-2021 Vladimir Makarov . +*/ + /* See C11 7.9 */ static char iso646_str[] = "#ifndef __ISO646_H\n" diff --git a/mir/c2mir/mirc_stdalign.h b/mir/c2mir/mirc_stdalign.h index f09d604..d33c5f6 100644 --- a/mir/c2mir/mirc_stdalign.h +++ b/mir/c2mir/mirc_stdalign.h @@ -1,3 +1,7 @@ +/* This file is a part of MIR project. + Copyright (C) 2020-2021 Vladimir Makarov . +*/ + /* See C11 7.15 */ static char stdalign_str[] = "#ifndef __STDALIGN_H\n" diff --git a/mir/c2mir/mirc_stdbool.h b/mir/c2mir/mirc_stdbool.h index 954647a..076bb77 100644 --- a/mir/c2mir/mirc_stdbool.h +++ b/mir/c2mir/mirc_stdbool.h @@ -1,3 +1,7 @@ +/* This file is a part of MIR project. + Copyright (C) 2020-2021 Vladimir Makarov . +*/ + /* See C11 7.18 */ static char stdbool_str[] = "#ifndef __STDBOOL_H\n" diff --git a/mir/c2mir/mirc_stdnoreturn.h b/mir/c2mir/mirc_stdnoreturn.h index 1d4ce30..7ec280b 100644 --- a/mir/c2mir/mirc_stdnoreturn.h +++ b/mir/c2mir/mirc_stdnoreturn.h @@ -1,3 +1,7 @@ +/* This file is a part of MIR project. + Copyright (C) 2020-2021 Vladimir Makarov . +*/ + /* See C11 7.23 */ static char stdnoreturn_str[] = "#ifndef __STDNORETURN_H\n" diff --git a/mir/c2mir/ppc64/cppc64-ABI-code.c b/mir/c2mir/ppc64/cppc64-ABI-code.c index 8d9e0f0..687f67e 100644 --- a/mir/c2mir/ppc64/cppc64-ABI-code.c +++ b/mir/c2mir/ppc64/cppc64-ABI-code.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . ppc64 call ABI target specific code. */ diff --git a/mir/c2mir/ppc64/cppc64-code.c b/mir/c2mir/ppc64/cppc64-code.c index b459e15..28602e3 100644 --- a/mir/c2mir/ppc64/cppc64-code.c +++ b/mir/c2mir/ppc64/cppc64-code.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ #include "../mirc.h" diff --git a/mir/c2mir/ppc64/cppc64.h b/mir/c2mir/ppc64/cppc64.h index 2f6b0c8..e9b62ce 100644 --- a/mir/c2mir/ppc64/cppc64.h +++ b/mir/c2mir/ppc64/cppc64.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ #include diff --git a/mir/c2mir/ppc64/mirc_ppc64_float.h b/mir/c2mir/ppc64/mirc_ppc64_float.h index 3048413..ee124f2 100644 --- a/mir/c2mir/ppc64/mirc_ppc64_float.h +++ b/mir/c2mir/ppc64/mirc_ppc64_float.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 5.2.4.2.2 */ diff --git a/mir/c2mir/ppc64/mirc_ppc64_limits.h b/mir/c2mir/ppc64/mirc_ppc64_limits.h index 6233bf8..00ce4e1 100644 --- a/mir/c2mir/ppc64/mirc_ppc64_limits.h +++ b/mir/c2mir/ppc64/mirc_ppc64_limits.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See 5.2.4.2 */ diff --git a/mir/c2mir/ppc64/mirc_ppc64_linux.h b/mir/c2mir/ppc64/mirc_ppc64_linux.h index 10b16c2..5d014d4 100644 --- a/mir/c2mir/ppc64/mirc_ppc64_linux.h +++ b/mir/c2mir/ppc64/mirc_ppc64_linux.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ static char ppc64_mirc[] @@ -15,7 +15,7 @@ static char ppc64_mirc[] "#define _CALL_ELF 2\n" #endif "\n" - "#define __LONG_DOUBLE_128__ 1\n" // ??? + "#define __LONG_DOUBLE_128__ 1\n" // ??? "#define __SIZEOF_DOUBLE__ 8\n" "#define __SIZEOF_FLOAT__ 4\n" "#define __SIZEOF_INT__ 4\n" diff --git a/mir/c2mir/ppc64/mirc_ppc64_stdarg.h b/mir/c2mir/ppc64/mirc_ppc64_stdarg.h index 986f8a7..741e482 100644 --- a/mir/c2mir/ppc64/mirc_ppc64_stdarg.h +++ b/mir/c2mir/ppc64/mirc_ppc64_stdarg.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ static char stdarg_str[] diff --git a/mir/c2mir/ppc64/mirc_ppc64_stddef.h b/mir/c2mir/ppc64/mirc_ppc64_stddef.h index 2aad94a..ac4207d 100644 --- a/mir/c2mir/ppc64/mirc_ppc64_stddef.h +++ b/mir/c2mir/ppc64/mirc_ppc64_stddef.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 7.19 */ diff --git a/mir/c2mir/ppc64/mirc_ppc64_stdint.h b/mir/c2mir/ppc64/mirc_ppc64_stdint.h index 40dbe5c..d9ac532 100644 --- a/mir/c2mir/ppc64/mirc_ppc64_stdint.h +++ b/mir/c2mir/ppc64/mirc_ppc64_stdint.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 7.20 */ diff --git a/mir/c2mir/s390x/cs390x-ABI-code.c b/mir/c2mir/s390x/cs390x-ABI-code.c index 4bf9c68..5842f53 100644 --- a/mir/c2mir/s390x/cs390x-ABI-code.c +++ b/mir/c2mir/s390x/cs390x-ABI-code.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . s390x call ABI target specific code. */ diff --git a/mir/c2mir/s390x/cs390x-code.c b/mir/c2mir/s390x/cs390x-code.c index 1910822..f3291f3 100644 --- a/mir/c2mir/s390x/cs390x-code.c +++ b/mir/c2mir/s390x/cs390x-code.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ #include "../mirc.h" diff --git a/mir/c2mir/s390x/cs390x.h b/mir/c2mir/s390x/cs390x.h index 2f6b0c8..e9b62ce 100644 --- a/mir/c2mir/s390x/cs390x.h +++ b/mir/c2mir/s390x/cs390x.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ #include diff --git a/mir/c2mir/s390x/mirc_s390x_float.h b/mir/c2mir/s390x/mirc_s390x_float.h index 3048413..ee124f2 100644 --- a/mir/c2mir/s390x/mirc_s390x_float.h +++ b/mir/c2mir/s390x/mirc_s390x_float.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 5.2.4.2.2 */ diff --git a/mir/c2mir/s390x/mirc_s390x_limits.h b/mir/c2mir/s390x/mirc_s390x_limits.h index 6233bf8..00ce4e1 100644 --- a/mir/c2mir/s390x/mirc_s390x_limits.h +++ b/mir/c2mir/s390x/mirc_s390x_limits.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See 5.2.4.2 */ diff --git a/mir/c2mir/s390x/mirc_s390x_linux.h b/mir/c2mir/s390x/mirc_s390x_linux.h index c749ad3..27ced02 100644 --- a/mir/c2mir/s390x/mirc_s390x_linux.h +++ b/mir/c2mir/s390x/mirc_s390x_linux.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ static char s390x_mirc[] @@ -11,7 +11,7 @@ static char s390x_mirc[] "#define __ELF__ 1\n" "\n" #if __SIZEOF_LONG_DOUBLE__ == 16 - "#define __LONG_DOUBLE_128__ 1\n" // ??? + "#define __LONG_DOUBLE_128__ 1\n" // ??? "#define __SIZEOF_LONG_DOUBLE__ 16\n" #else "#define __SIZEOF_LONG_DOUBLE__ 8\n" diff --git a/mir/c2mir/s390x/mirc_s390x_stdarg.h b/mir/c2mir/s390x/mirc_s390x_stdarg.h index 4edd8da..e65f19e 100644 --- a/mir/c2mir/s390x/mirc_s390x_stdarg.h +++ b/mir/c2mir/s390x/mirc_s390x_stdarg.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ static char stdarg_str[] diff --git a/mir/c2mir/s390x/mirc_s390x_stddef.h b/mir/c2mir/s390x/mirc_s390x_stddef.h index 2aad94a..ac4207d 100644 --- a/mir/c2mir/s390x/mirc_s390x_stddef.h +++ b/mir/c2mir/s390x/mirc_s390x_stddef.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 7.19 */ diff --git a/mir/c2mir/s390x/mirc_s390x_stdint.h b/mir/c2mir/s390x/mirc_s390x_stdint.h index 40dbe5c..d9ac532 100644 --- a/mir/c2mir/s390x/mirc_s390x_stdint.h +++ b/mir/c2mir/s390x/mirc_s390x_stdint.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* See C11 7.20 */ diff --git a/mir/c2mir/x86_64/cx86_64-ABI-code.c b/mir/c2mir/x86_64/cx86_64-ABI-code.c index 42c880f..b7321d4 100644 --- a/mir/c2mir/x86_64/cx86_64-ABI-code.c +++ b/mir/c2mir/x86_64/cx86_64-ABI-code.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . x86_64 ABI target specific code. */ diff --git a/mir/c2mir/x86_64/cx86_64-code.c b/mir/c2mir/x86_64/cx86_64-code.c index 8893df2..e0f1997 100644 --- a/mir/c2mir/x86_64/cx86_64-code.c +++ b/mir/c2mir/x86_64/cx86_64-code.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #include "../mirc.h" diff --git a/mir/c2mir/x86_64/cx86_64.h b/mir/c2mir/x86_64/cx86_64.h index 256af11..925a3fa 100644 --- a/mir/c2mir/x86_64/cx86_64.h +++ b/mir/c2mir/x86_64/cx86_64.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #include diff --git a/mir/c2mir/x86_64/mirc_x86_64_float.h b/mir/c2mir/x86_64/mirc_x86_64_float.h index 362e21a..39b21ba 100644 --- a/mir/c2mir/x86_64/mirc_x86_64_float.h +++ b/mir/c2mir/x86_64/mirc_x86_64_float.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2019-2020 Vladimir Makarov . + Copyright (C) 2019-2021 Vladimir Makarov . */ /* See C11 5.2.4.2.2 */ diff --git a/mir/c2mir/x86_64/mirc_x86_64_limits.h b/mir/c2mir/x86_64/mirc_x86_64_limits.h index cf5f109..d8e9697 100644 --- a/mir/c2mir/x86_64/mirc_x86_64_limits.h +++ b/mir/c2mir/x86_64/mirc_x86_64_limits.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2019-2020 Vladimir Makarov . + Copyright (C) 2019-2021 Vladimir Makarov . */ /* See 5.2.4.2 */ diff --git a/mir/c2mir/x86_64/mirc_x86_64_linux.h b/mir/c2mir/x86_64/mirc_x86_64_linux.h index 27ca87d..8f7e87d 100644 --- a/mir/c2mir/x86_64/mirc_x86_64_linux.h +++ b/mir/c2mir/x86_64/mirc_x86_64_linux.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2019-2020 Vladimir Makarov . + Copyright (C) 2019-2021 Vladimir Makarov . */ static char x86_64_mirc[] diff --git a/mir/c2mir/x86_64/mirc_x86_64_stdarg.h b/mir/c2mir/x86_64/mirc_x86_64_stdarg.h index 344ee1a..71173f3 100644 --- a/mir/c2mir/x86_64/mirc_x86_64_stdarg.h +++ b/mir/c2mir/x86_64/mirc_x86_64_stdarg.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2019-2020 Vladimir Makarov . + Copyright (C) 2019-2021 Vladimir Makarov . */ /* See C11 7.16 and https://www.uclibc.org/docs/psABI-x86_64.pdf */ diff --git a/mir/c2mir/x86_64/mirc_x86_64_stddef.h b/mir/c2mir/x86_64/mirc_x86_64_stddef.h index 607fe48..b50aa57 100644 --- a/mir/c2mir/x86_64/mirc_x86_64_stddef.h +++ b/mir/c2mir/x86_64/mirc_x86_64_stddef.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2019-2020 Vladimir Makarov . + Copyright (C) 2019-2021 Vladimir Makarov . */ /* See C11 7.19 */ diff --git a/mir/c2mir/x86_64/mirc_x86_64_stdint.h b/mir/c2mir/x86_64/mirc_x86_64_stdint.h index 3fc70a5..33b1997 100644 --- a/mir/c2mir/x86_64/mirc_x86_64_stdint.h +++ b/mir/c2mir/x86_64/mirc_x86_64_stdint.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2019-2020 Vladimir Makarov . + Copyright (C) 2019-2021 Vladimir Makarov . */ /* See C11 7.20 */ diff --git a/mir/c2mir/x86_64/mirc_x86_64_win.h b/mir/c2mir/x86_64/mirc_x86_64_win.h index c473737..144c14b 100644 --- a/mir/c2mir/x86_64/mirc_x86_64_win.h +++ b/mir/c2mir/x86_64/mirc_x86_64_win.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2019-2020 Vladimir Makarov . + Copyright (C) 2019-2021 Vladimir Makarov . */ static char x86_64_mirc[] diff --git a/mir/mir-aarch64.c b/mir/mir-aarch64.c index a4d1b5b..e67e68f 100644 --- a/mir/mir-aarch64.c +++ b/mir/mir-aarch64.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #define VA_LIST_IS_ARRAY_P 0 diff --git a/mir/mir-bitmap.h b/mir/mir-bitmap.h index 22738c2..8849e2c 100644 --- a/mir/mir-bitmap.h +++ b/mir/mir-bitmap.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #ifndef MIR_BITMAP_H diff --git a/mir/mir-dlist.h b/mir/mir-dlist.h index 21d4b4d..0e8373a 100644 --- a/mir/mir-dlist.h +++ b/mir/mir-dlist.h @@ -1,5 +1,5 @@ /* This file is part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ /* Typed doubly linked lists. */ diff --git a/mir/mir-gen-aarch64.c b/mir/mir-gen-aarch64.c index 637dc7d..e1863d1 100644 --- a/mir/mir-gen-aarch64.c +++ b/mir/mir-gen-aarch64.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ static void fancy_abort (int code) { @@ -800,9 +800,9 @@ static void target_machinize (gen_ctx_t gen_ctx) { } if ((nargs = get_builtin (gen_ctx, code, &proto_item, &func_import_item)) > 0) { if (code == MIR_VA_ARG || code == MIR_VA_BLOCK_ARG) { - /* Use a builtin func call: - mov func_reg, func ref; [mov reg3, type;] call proto, func_reg, res_reg, va_reg, - reg3 */ + /* Use a builtin func call: + mov func_reg, func ref; [mov reg3, type;] call proto, func_reg, res_reg, va_reg, + reg3 */ MIR_op_t ops[6], func_reg_op, reg_op3; MIR_op_t res_reg_op = insn->ops[0], va_reg_op = insn->ops[1], op3 = insn->ops[2]; @@ -813,18 +813,18 @@ static void target_machinize (gen_ctx_t gen_ctx) { next_insn = new_insn = MIR_new_insn (ctx, MIR_MOV, func_reg_op, MIR_new_ref_op (ctx, func_import_item)); gen_add_insn_before (gen_ctx, insn, new_insn); - if (code == MIR_VA_ARG) { - new_insn = MIR_new_insn (ctx, MIR_MOV, reg_op3, - MIR_new_int_op (ctx, (int64_t) op3.u.mem.type)); - op3 = reg_op3; - gen_add_insn_before (gen_ctx, insn, new_insn); - } + if (code == MIR_VA_ARG) { + new_insn + = MIR_new_insn (ctx, MIR_MOV, reg_op3, MIR_new_int_op (ctx, (int64_t) op3.u.mem.type)); + op3 = reg_op3; + gen_add_insn_before (gen_ctx, insn, new_insn); + } ops[0] = MIR_new_ref_op (ctx, proto_item); ops[1] = func_reg_op; ops[2] = res_reg_op; ops[3] = va_reg_op; ops[4] = op3; - if (code == MIR_VA_BLOCK_ARG) ops[5] = insn->ops[3]; + if (code == MIR_VA_BLOCK_ARG) ops[5] = insn->ops[3]; new_insn = MIR_new_insn_arr (ctx, MIR_CALL, code == MIR_VA_ARG ? 5 : 6, ops); gen_add_insn_before (gen_ctx, insn, new_insn); gen_delete_insn (gen_ctx, insn); diff --git a/mir/mir-gen-ppc64.c b/mir/mir-gen-ppc64.c index 49b321b..10a8aca 100644 --- a/mir/mir-gen-ppc64.c +++ b/mir/mir-gen-ppc64.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ /* We don't use TOC. So r2 is not necessary for the generated code. */ @@ -720,9 +720,9 @@ static void target_machinize (gen_ctx_t gen_ctx) { } if ((nargs = get_builtin (gen_ctx, code, &proto_item, &func_import_item)) > 0) { if (code == MIR_VA_ARG || code == MIR_VA_BLOCK_ARG) { - /* Use a builtin func call: - mov func_reg, func ref; [mov reg3, type;] call proto, func_reg, res_reg, va_reg, - reg3 */ + /* Use a builtin func call: + mov func_reg, func ref; [mov reg3, type;] call proto, func_reg, res_reg, va_reg, + reg3 */ MIR_op_t ops[6], func_reg_op, reg_op3; MIR_op_t res_reg_op = insn->ops[0], va_reg_op = insn->ops[1], op3 = insn->ops[2]; @@ -733,18 +733,18 @@ static void target_machinize (gen_ctx_t gen_ctx) { next_insn = new_insn = MIR_new_insn (ctx, MIR_MOV, func_reg_op, MIR_new_ref_op (ctx, func_import_item)); gen_add_insn_before (gen_ctx, insn, new_insn); - if (code == MIR_VA_ARG) { - new_insn = MIR_new_insn (ctx, MIR_MOV, reg_op3, - MIR_new_int_op (ctx, (int64_t) op3.u.mem.type)); - op3 = reg_op3; - gen_add_insn_before (gen_ctx, insn, new_insn); - } + if (code == MIR_VA_ARG) { + new_insn + = MIR_new_insn (ctx, MIR_MOV, reg_op3, MIR_new_int_op (ctx, (int64_t) op3.u.mem.type)); + op3 = reg_op3; + gen_add_insn_before (gen_ctx, insn, new_insn); + } ops[0] = MIR_new_ref_op (ctx, proto_item); ops[1] = func_reg_op; ops[2] = res_reg_op; ops[3] = va_reg_op; ops[4] = op3; - if (code == MIR_VA_BLOCK_ARG) ops[5] = insn->ops[3]; + if (code == MIR_VA_BLOCK_ARG) ops[5] = insn->ops[3]; new_insn = MIR_new_insn_arr (ctx, MIR_CALL, code == MIR_VA_ARG ? 5 : 6, ops); gen_add_insn_before (gen_ctx, insn, new_insn); gen_delete_insn (gen_ctx, insn); diff --git a/mir/mir-gen-s390x.c b/mir/mir-gen-s390x.c index 08b1f02..d1db6e5 100644 --- a/mir/mir-gen-s390x.c +++ b/mir/mir-gen-s390x.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2020 Vladimir Makarov . + Copyright (C) 2020-2021 Vladimir Makarov . */ // ??? More patterns (ult, ugt, ule, uge w/o branches, multi-insn combining). @@ -766,9 +766,9 @@ static void target_machinize (gen_ctx_t gen_ctx) { } if ((nargs = get_builtin (gen_ctx, code, &proto_item, &func_import_item)) > 0) { if (code == MIR_VA_ARG || code == MIR_VA_BLOCK_ARG) { - /* Use a builtin func call: - mov func_reg, func ref; [mov reg3, type;] call proto, func_reg, res_reg, va_reg, - reg3 */ + /* Use a builtin func call: + mov func_reg, func ref; [mov reg3, type;] call proto, func_reg, res_reg, va_reg, + reg3 */ MIR_op_t ops[6], func_reg_op, reg_op3; MIR_op_t res_reg_op = insn->ops[0], va_reg_op = insn->ops[1], op3 = insn->ops[2]; @@ -779,18 +779,18 @@ static void target_machinize (gen_ctx_t gen_ctx) { next_insn = new_insn = MIR_new_insn (ctx, MIR_MOV, func_reg_op, MIR_new_ref_op (ctx, func_import_item)); gen_add_insn_before (gen_ctx, insn, new_insn); - if (code == MIR_VA_ARG) { - new_insn = MIR_new_insn (ctx, MIR_MOV, reg_op3, - MIR_new_int_op (ctx, (int64_t) op3.u.mem.type)); - op3 = reg_op3; - gen_add_insn_before (gen_ctx, insn, new_insn); - } + if (code == MIR_VA_ARG) { + new_insn + = MIR_new_insn (ctx, MIR_MOV, reg_op3, MIR_new_int_op (ctx, (int64_t) op3.u.mem.type)); + op3 = reg_op3; + gen_add_insn_before (gen_ctx, insn, new_insn); + } ops[0] = MIR_new_ref_op (ctx, proto_item); ops[1] = func_reg_op; ops[2] = res_reg_op; ops[3] = va_reg_op; ops[4] = op3; - if (code == MIR_VA_BLOCK_ARG) ops[5] = insn->ops[3]; + if (code == MIR_VA_BLOCK_ARG) ops[5] = insn->ops[3]; new_insn = MIR_new_insn_arr (ctx, MIR_CALL, code == MIR_VA_ARG ? 5 : 6, ops); gen_add_insn_before (gen_ctx, insn, new_insn); gen_delete_insn (gen_ctx, insn); diff --git a/mir/mir-gen-stub.c b/mir/mir-gen-stub.c index 2a6538d..def30d2 100644 --- a/mir/mir-gen-stub.c +++ b/mir/mir-gen-stub.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . Stub for MIR generator machine dependent file. It contains definitions used by MIR generator. You can use this file for @@ -27,9 +27,9 @@ enum { F7_HARD_REG }; -static const MIR_reg_t MAX_HARD_REG = F7_HARD_REG; /* max value for the previous regs */ -static const MIR_reg_t FP_HARD_REG = R6_HARD_REG; /* stack frame pointer according ABI */ -static const MIR_reg_t SP_HARD_REG = R7_HARD_REG; /* stack pointer according ABI */ +static const MIR_reg_t MAX_HARD_REG = F7_HARD_REG; /* max value for the previous regs */ +static const MIR_reg_t FP_HARD_REG = R6_HARD_REG; /* stack frame pointer according ABI */ +static const MIR_reg_t SP_HARD_REG = R7_HARD_REG; /* stack pointer according ABI */ const MIR_reg_t TEMP_INT_HARD_REG1 = R2_HARD_REG, TEMP_INT_HARD_REG2 = R3_HARD_REG; const MIR_reg_t TEMP_FLOAT_HARD_REG1 = F2_HARD_REG, TEMP_FLOAT_HARD_REG2 = F3_HARD_REG; @@ -49,11 +49,11 @@ static inline int target_hard_reg_type_ok_p (MIR_reg_t hard_reg, MIR_type_t type static inline int target_fixed_hard_reg_p (MIR_reg_t hard_reg) { assert (hard_reg <= MAX_HARD_REG); - return (hard_reg == FP_HARD_REG || hard_reg == SP_HARD_REG - || hard_reg == TEMP_INT_HARD_REG1 || hard_reg == TEMP_INT_HARD_REG2 - || hard_reg == TEMP_FLOAT_HARD_REG1 || hard_reg == TEMP_FLOAT_HARD_REG2 - || hard_reg == TEMP_DOUBLE_HARD_REG1 || hard_reg == TEMP_DOUBLE_HARD_REG2 - || hard_reg == TEMP_LDOUBLE_HARD_REG1 || hard_reg == TEMP_LDOUBLE_HARD_REG2); + return (hard_reg == FP_HARD_REG || hard_reg == SP_HARD_REG || hard_reg == TEMP_INT_HARD_REG1 + || hard_reg == TEMP_INT_HARD_REG2 || hard_reg == TEMP_FLOAT_HARD_REG1 + || hard_reg == TEMP_FLOAT_HARD_REG2 || hard_reg == TEMP_DOUBLE_HARD_REG1 + || hard_reg == TEMP_DOUBLE_HARD_REG2 || hard_reg == TEMP_LDOUBLE_HARD_REG1 + || hard_reg == TEMP_LDOUBLE_HARD_REG2); } static inline int target_call_used_hard_reg_p (MIR_reg_t hard_reg) { diff --git a/mir/mir-gen-x86_64.c b/mir/mir-gen-x86_64.c index d00dc09..d6d3a75 100644 --- a/mir/mir-gen-x86_64.c +++ b/mir/mir-gen-x86_64.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #include diff --git a/mir/mir-gen.c b/mir/mir-gen.c index 1a5ddda..749c44d 100644 --- a/mir/mir-gen.c +++ b/mir/mir-gen.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ /* Optimization pipeline: @@ -2433,6 +2433,7 @@ static ccp_val_t get_ccp_val (gen_ctx_t gen_ctx, bb_insn_t bb_insn) { static void initiate_ccp_info (gen_ctx_t gen_ctx) { bb_insn_t bb_insn; + ccp_val_t ccp_val; for (bb_t bb = DLIST_HEAD (bb_t, curr_cfg->bbs); bb != NULL; bb = DLIST_NEXT (bb_t, bb)) { if ((bb_insn = DLIST_TAIL (bb_insn_t, bb->bb_insns)) != NULL @@ -2447,7 +2448,8 @@ static void initiate_ccp_info (gen_ctx_t gen_ctx) { bitmap_clear (bb_visited); VARR_TRUNC (bb_insn_t, ccp_insns, 0); VARR_TRUNC (bb_t, ccp_bbs, 0); - VARR_TRUNC (ccp_val_t, ccp_vals, 0); + while (VARR_LENGTH (ccp_val_t, ccp_vals) != 0) + if ((ccp_val = VARR_POP (ccp_val_t, ccp_vals)) != NULL) free (ccp_val); VARR_PUSH (bb_t, ccp_bbs, DLIST_HEAD (bb_t, curr_cfg->bbs)); /* entry bb */ } diff --git a/mir/mir-gen.h b/mir/mir-gen.h index 2635fe1..50381f8 100644 --- a/mir/mir-gen.h +++ b/mir/mir-gen.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #ifndef MIR_GEN_H diff --git a/mir/mir-hash.h b/mir/mir-hash.h index 47b41a1..49c1dc9 100644 --- a/mir/mir-hash.h +++ b/mir/mir-hash.h @@ -1,6 +1,6 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ /* Simple high-quality multiplicative hash passing demerphq-smhsher, diff --git a/mir/mir-htab.h b/mir/mir-htab.h index b32f931..32cd514 100644 --- a/mir/mir-htab.h +++ b/mir/mir-htab.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #ifndef MIR_HTAB_H diff --git a/mir/mir-interp.c b/mir/mir-interp.c index 6700313..15f76f8 100644 --- a/mir/mir-interp.c +++ b/mir/mir-interp.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . File contains MIR interpreter which is an obligatory part of MIR API. */ diff --git a/mir/mir-ppc64.c b/mir/mir-ppc64.c index d06bcda..f4b942c 100644 --- a/mir/mir-ppc64.c +++ b/mir/mir-ppc64.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ /* All BLK type values is passed in int regs, and if the regs are not enough, the rest is passed on diff --git a/mir/mir-reduce.h b/mir/mir-reduce.h index 15881bd..0d38f19 100644 --- a/mir/mir-reduce.h +++ b/mir/mir-reduce.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #ifndef MIR_REDUCE_H diff --git a/mir/mir-s390x.c b/mir/mir-s390x.c index c45e849..ef82f26 100644 --- a/mir/mir-s390x.c +++ b/mir/mir-s390x.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ /* Long doubles (-mlong-double=128) are always passed by its address (for args and results) */ diff --git a/mir/mir-varr.h b/mir/mir-varr.h index f9b08ca..ea3a8a2 100644 --- a/mir/mir-varr.h +++ b/mir/mir-varr.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #ifndef MIR_VARR_H @@ -17,12 +17,12 @@ #define VARR_ASSERT(EXPR, OP, T) ((void) (EXPR)) #else -static inline void mir_var_assert_fail (const char *op, const char *var) { +static inline void mir_varr_assert_fail (const char *op, const char *var) { fprintf (stderr, "wrong %s for %s", op, var); assert (0); } -#define VARR_ASSERT(EXPR, OP, T) (void) ((EXPR) ? 0 : (mir_var_assert_fail (OP, #T), 0)) +#define VARR_ASSERT(EXPR, OP, T) (void) ((EXPR) ? 0 : (mir_varr_assert_fail (OP, #T), 0)) #endif @@ -102,12 +102,9 @@ static inline void MIR_VARR_NO_RETURN mir_varr_error (const char *message) { return varr->varr[ix]; \ } \ \ - static inline T VARR_OP_DEF (T, set) (const VARR (T) * varr, size_t ix, T obj) { \ - T old_obj; \ + static inline void VARR_OP_DEF (T, set) (const VARR (T) * varr, size_t ix, T obj) { \ VARR_ASSERT (varr && varr->varr && ix < varr->els_num, "set", T); \ - old_obj = varr->varr[ix]; \ varr->varr[ix] = obj; \ - return old_obj; \ } \ \ static inline void VARR_OP_DEF (T, trunc) (VARR (T) * varr, size_t size) { \ diff --git a/mir/mir-x86_64.c b/mir/mir-x86_64.c index 8904868..3171a88 100644 --- a/mir/mir-x86_64.c +++ b/mir/mir-x86_64.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ /* RBLK args are always passed by address. diff --git a/mir/mir.c b/mir/mir.c index 85ed68a..bf8db0b 100644 --- a/mir/mir.c +++ b/mir/mir.c @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #include "mir.h" diff --git a/mir/mir.h b/mir/mir.h index 204c0bc..b7aa376 100644 --- a/mir/mir.h +++ b/mir/mir.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov . + Copyright (C) 2018-2021 Vladimir Makarov . */ #ifndef MIR_H diff --git a/mir/real-time.h b/mir/real-time.h index e4a85b8..aefb64c 100644 --- a/mir/real-time.h +++ b/mir/real-time.h @@ -1,5 +1,5 @@ /* This file is a part of MIR project. - Copyright (C) 2018-2020 Vladimir Makarov and logzero + Copyright (C) 2018-2021 Vladimir Makarov and logzero */ #ifndef _WIN32