aboutsummaryrefslogtreecommitdiffstats
path: root/test/src/comp-tests.el (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; Silence byte-compilerStefan Kangas2023-08-201-0/+1
| | | | | | * test/src/comp-tests.el (native-comp-eln-load-path): Declare. (cherry picked from commit 508d24c8b9aee2c2a4c78ccfef3b5f551a1b2115)
* Fix emacs-lisp-native-compile-and-load eln target directory (bug#64226)Andrea Corallo2023-08-091-2/+4
| | | | | | | | | * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Don't use `byte+native-compile' to select output directory but always axpect it explicit through `native-compile-target-directory'. (batch-byte+native-compile): Set `native-compile-target-directory'. * test/src/comp-tests.el (comp-tests-bootstrap): Set `native-compile-target-directory'.
* ; Update my mail addressAndrea Corallo2023-06-081-1/+1
| | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el: Update author mail. * lisp/emacs-lisp/comp.el: Likewise. * src/comp.c: Likewise. * test/lisp/emacs-lisp/comp-cstr-tests.el: Likewise. * test/src/comp-resources/comp-test-funcs-dyn.el: Likewise. * test/src/comp-resources/comp-test-funcs.el: Likewise. * test/src/comp-resources/comp-test-pure.el: Likewise. * test/src/comp-tests.el: Likewise.
* Comp fix calls to redefined primtives with op-bytecode (bug#61917)Andrea Corallo2023-03-291-1/+17
| | | | | | | | * test/src/comp-tests.el (61917-1): New test. * src/comp.c (syms_of_comp): New variable. * lisp/loadup.el: Store primitive arities before dumping. * lisp/emacs-lisp/comp.el (comp--func-arity): New function. (comp-emit-set-call-subr): Make use of `comp--func-arity'.
* Revert "Comp fix calls to redefined primtives with op-bytecode (bug#61917)"Andrea Corallo2023-03-281-13/+0
| | | | | | | This reverts commit 263d6c38539691c954f4c3057cbe8d5468499b91. These patch series caused a number of regression and more analysis is required.
* Comp fix calls to redefined primtives with op-bytecode (bug#61917)Andrea Corallo2023-03-201-0/+13
| | | | | | * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Fix compilation of calls to redefined primtives with dedicated op-bytecode. * test/src/comp-tests.el (61917-1): New test.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* ; Fix typosStefan Kangas2022-11-201-2/+2
|
* ; Fix several symbol name typosStefan Kangas2022-10-261-1/+1
|
* ; Add commentary to comp-tests.elEli Zaretskii2022-09-131-0/+5
| | | | | | | Sigh... why do people insist on removing useful comments and leave their tricky code more obfuscated than it must be?? * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a comment explaining why the expressions are quoted. (Bug#51104)
* comp-tests.el: Enable compilation againStefan Monnier2022-09-131-85/+76
| | | | | | | | | | Rather than disable byte-compilation to circumvent bug#51104, change the ELisp code so that `most-positive/negative-fixnum` does not end up hardcoded in the `.elc` file. * test/src/comp-tests.el (comp-tests-define-type-spec-test): Don't quote the type expressions. (comp-tests-type-spec-tests): Quote them here instead.
* ; * test/src/comp-tests.el: Explain the last change.Eli Zaretskii2022-09-131-0/+5
|
* Fix comp-tests.el problem after reconfiguringPaul Eggert2022-09-121-0/+4
| | | | | * test/src/comp-tests.el: Do not byte-compile, as the .elc file would be machine-dependent (bug#51104).
* Merge from origin/emacs-28Stefan Kangas2022-07-141-5/+5
|\ | | | | | | | | | | | | | | | | 9db6817d63 Remove uneffective test 7af88de410 Mark async worker tmp file as utf-8-emacs-unix (bug#48029) # Conflicts: # test/src/comp-resources/comp-test-45603.el # test/src/comp-tests.el
| * Remove uneffective testAndrea Corallo2022-07-131-5/+0
| | | | | | | | | | * test/src/comp-tests.el (45603-1): Remove test. * test/src/comp-resources/comp-test-45603.el: Delete.
| * Mark async worker tmp file as utf-8-emacs-unix (bug#48029)Andrea Corallo2022-07-131-0/+5
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-final): Mark async worker tmp file as utf-8. * test/src/comp-tests.el (48029-1): New test. * test/src/comp-resources/comp-test-funcs.el (comp-test-48029-nonascii-žžž-f): New function.
* | Fix issue with nativecomp tests leaving files behind in /tmpLars Ingebrigtsen2022-05-241-1/+8
| | | | | | | | | | * test/src/comp-tests.el (comp-deftest): Ensure that no files are left behind (bug#55611).
* | Merge from origin/emacs-28Stefan Kangas2022-02-101-1/+8
|\ \ | |/ | | | | | | 69e82968d7 Fix integer arithmetic miss-compilation (bug#53451) 31af9bca99 Mark flymake as compatible with emacs-26.1
| * Fix integer arithmetic miss-compilation (bug#53451)Andrea Corallo2022-02-091-1/+8
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-range-for-arithm): When one of the two sources is negated revert to set dst as number. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add test to verify this is effective.
* | Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | * test/src/comp-tests.el: Rework last patchStefan Monnier2021-11-271-29/+28
| | | | | | | | | | | | | | | | | | | | | | Move `require`s out of `eval-when-compile` if the functions are called at run-time. Don't use #' to quote symbols (i.e. at those places where a lambda expression couldn't be used). Don't pre-load comp-test-45603.el and comp-test-pure.el any more. (comp-deftest pure): Use `declare-function` after loading `comp-test-pure.el` to silence the byte-compiler.
* | * test/src/comp-tests.el: Eliminate byte-compiler warnings (Bug#52105).Stephen Gildea2021-11-261-10/+27
| |
* | Prefer ert-with-temp-(directory|file) in most remaining testsStefan Kangas2021-11-081-23/+25
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/lisp/auth-source-tests.el (auth-source-test-searches): * test/lisp/autorevert-tests.el (auto-revert-test00-auto-revert-mode) (auto-revert-test01-auto-revert-several-files) (auto-revert-test02-auto-revert-deleted-file) (auto-revert-test03-auto-revert-tail-mode) (auto-revert-test04-auto-revert-mode-dired) (auto-revert-test05-global-notify) (auto-revert-test06-write-file) (auto-revert-test07-auto-revert-several-buffers): * test/lisp/calendar/icalendar-tests.el (icalendar-tests--do-test-cycle): * test/lisp/custom-tests.el (custom-theme--load-path): * test/lisp/dired-aux-tests.el (dired-test-bug27496) (with-dired-bug28834-test): * test/lisp/emacs-lisp/bytecomp-tests.el (test-byte-comp-compile-and-load) (bytecomp-tests--dest-mountpoint) (bytecomp-tests--target-file-no-directory): * test/lisp/emacs-lisp/gv-tests.el (gv-tests--in-temp-dir): * test/lisp/eshell/eshell-tests.el (with-temp-eshell) (eshell-test-command-result): * test/lisp/info-xref-tests.el (info-xref-test-makeinfo): * test/lisp/vc/vc-tests.el (vc-test--create-repo) (vc-test--register, vc-test--state, vc-test--working-revision) (vc-test--checkout-model, vc-test--rename-file) (vc-test--version-diff): * test/src/buffer-tests.el (test-kill-buffer-auto-save-delete): * test/src/comp-tests.el (comp-tests-bootstrap): * test/src/process-tests.el (process-test-quoted-batfile): Prefer 'ert-with-temp-(directory|file)' to using 'make-temp-file' directly.
* Fix two doc-related test failuresLars Ingebrigtsen2021-09-271-2/+2
|
* ; Minor stylistic checkdoc fixes in test/**/*.elStefan Kangas2021-09-261-2/+2
|
* Rename batch-byte-native-compile-for-bootstrap (bug#48743)Andrea Corallo2021-06-011-1/+1
| | | | | | | | | | | | | | | | * lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap' -> `batch-byte+native-compile. * lisp/emacs-lisp/bytecomp.el (byte+native-compile) (byte-compile-file): Rename `batch-byte-native-compile-for-bootstrap' -> `batch-byte+native-compile + `byte-native-for-bootstrap' -> `byte+native-compile'. * lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final) (batch-native-compile, batch-byte+native-compile): Likewise. * lisp/emacs-lisp/bytecomp.el (byte+native-compile) (byte-compile-file): Likewise. * test/src/comp-tests.el (comp-tests-bootstrap): Rename `byte-native-for-bootstrap' -> `byte+native-compile'.
* Rename comp-debug -> native-comp-debugAndrea Corallo2021-05-061-1/+1
| | | | | | | | | * src/comp.c (emit_ctxt_code, syms_of_comp): Rename comp-debug -> native-comp-debug. * lisp/emacs-lisp/comp.el (native-comp-debug, comp-ctxt) (comp-spill-lap-function, comp-run-async-workers): Likewise. * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise. * test/src/comp-tests.el (comp-tests-bootstrap): Likewise.
* Rename comp-speed -> native-comp-speedAndrea Corallo2021-05-061-4/+4
| | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename comp-speed -> native-comp-speed. * lisp/emacs-lisp/comp.el (native-comp-speed, comp-ctxt, comp-func, comp-spill-lap-function, comp-trampoline-compile, comp-run-async-workers): Likewise. * src/comp.c (emit_ctxt_code, load_comp_unit, syms_of_comp): Likewise. * test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1) (comp-tests-check-ret-type-spec, comp-tests-pure): Likewise.
* Rename feature `nativecomp' into `native-compile'Andrea Corallo2021-05-051-1/+1
| | | | | | | | | | | | | | | * test/src/comp-tests.el : Rename feature `nativecomp' into `native-compile'. * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise. * src/comp.c (syms_of_comp): Likewise. * lisp/startup.el (normal-top-level): Likewise. * lisp/loadup.el: Likewise. * lisp/help.el (help-function-arglist): Likewise. * lisp/emacs-lisp/package.el (package--native-compile-async) (package--delete-directory): Likewise. * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise. * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise.
* ; Fix typosStefan Kangas2021-04-271-4/+4
|
* Make use of `ert-resource-file' `ert-resource-directory' in comp-testsAndrea Corallo2021-04-261-14/+6
| | | | | | | | | | | * test/src/comp-resources/comp-test-pure.el: Rename. * test/src/comp-resources/comp-test-funcs.el: Likewise. * test/src/comp-resources/comp-test-funcs-dyn.el: Likewise. * test/src/comp-resources/comp-test-45603.el: Likewise. * test/src/comp-tests.el (comp-test-src, comp-test-dyn-src): Use `ert-resource-file'. (comp-tests-bootstrap): Use ert-resource-directory. (comp-tests-45603-1, comp-tests-pure): Use `ert-resource-file'.
* * Use `expand-file-name' in place of `concat' in comp-tests.elAndrea Corallo2021-04-261-6/+8
| | | | | | * test/src/comp-tests.el (comp-test-src, comp-test-dyn-src) (comp-tests-bootstrap, comp-tests-pure, comp-test-src): Use `expand-file-name' in place of `concat'.
* Move native compiler test data into proper directory (bug#48031)Andrea Corallo2021-04-261-2/+5
| | | | | | | | * test/src/comp-tests-resources/comp-test-45603.el: Rename. * test/src/comp-tests-resources/comp-test-funcs-dyn.el: Likewise. * test/src/comp-tests-resources/comp-test-funcs.el: Likewise. * test/src/comp-tests-resources/comp-test-pure.el: Likewise. * test/src/comp-tests.el (comp-test-directory): Update.
* * test/src/comp-tests.el: Fix it for non native compiled build (bug#48031).Andrea Corallo2021-04-261-1/+1
|
* Improve a native compiler testAndrea Corallo2021-04-221-1/+6
| | | | | | | * test/src/comp-tests.el (comp-test-47868-1): Improve testcase. * test/src/comp-test-funcs.el (comp-test-47868-3-f) (comp-test-47868-4-f): New functions.
* Fix native compiler string hash consing strategy (bug#47868)Andrea Corallo2021-04-211-0/+4
| | | | | | | | | | | * test/src/comp-tests.el (comp-test-47868-1): Add new test. * test/src/comp-test-funcs.el (comp-test-47868-1-f) (comp-test-47868-2-f): New functions. * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash tanble test. (comp-data-container): Use it. (comp-final, comp-run-async-workers): have comp required before reading dumped hashes so that `comp-imm-equal-test' is defined.
* Fix some entry in `comp-known-type-specifiers' (bug#46847)Andrea Corallo2021-03-141-1/+1
| | | | | | * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Some fix. * test/src/comp-tests.el (comp-tests-46670-1): Update test.
* Fix `comp-cstr-intersection-no-hashcons' for negated result cstrAndrea Corallo2021-03-061-1/+8
| | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-hashcons): When negated and necessary relax dst to t. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.
* Fix `=' propagation to handle -0.0 0.0 caseAndrea Corallo2021-03-061-8/+24
| | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-homogeneous): Fix indent + use `memql'. (comp-cstr-=): Handle 0.0 -0.0 idiosyncrasy * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests and fix enumeration.
* Don't call _setjmp through a function pointer (Bug#46824)Pip Cet2021-03-031-1/+5
| | | | | | | | | * src/comp.c (helper_link_table): Don't include SETJMP except on Windows. (emit_setjmp): Don't use function pointers except on Windows. (declare_runtime_imported_funcs): Don't import SETJMP at runtime. (ABI_VERSION): Bump. * test/src/comp-tests.el (46824-1): New test. * test/src/comp-test-funcs.el (comp-test-46824-1-f): New function.
* Fix = propagation semantic for constrained inputsAndrea Corallo2021-03-021-1/+28
| | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Synthesize `comp-cstr-shallow-copy'. (comp-cstr-=): Relax inputs before intersecting them. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three tests.
* Fix `eql' `equal' propagation of non hash consed values (bug#46843)Andrea Corallo2021-03-011-1/+15
| | | | | | | | | | | | | | | | | | | | | | Extend assumes allowing the following form: (assume dst (and-nhc src1 src2)) `and-nhc' assume operator allow for constraining correctly intersections where non hash consed values are not propagated as values but rather promoted to their types. * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-hashcons): New function. * lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit `and-nhc' operator (implemented in fwprop by `comp-cstr-intersection-no-hashcons'). (comp-add-cond-cstrs): Map `eq' to `and' assume operator and `equal' `eql' into `and-nhc'. (comp-fwprop-insn): Update to handle `and-nhc'. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests covering `eql' and `equal' propagation of non hash consed values.
* Don't treat '=' as simple equality emitting constraints (bug#46812)Andrea Corallo2021-02-281-6/+41
| | | | | | | | | | | | | | | | | | | Extend assumes allowing the following form (assume dst (= src1 src2)) to caputure '=' semanting during fwprop handling float integer conversions. * lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as simple equality. (comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun) (comp-reverse-arithm-fun): Rename and add '=' '!='. (comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update for new function nameing and to handle '='. * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch of '=' specific tests.
* Migrate and rename a bunch of functions from comp.el to comp-cstr.elAndrea Corallo2021-02-281-4/+4
| | | | | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-imm-vld-p) (comp-cstr-imm, comp-cstr-fixnum-p, comp-cstr-symbol-p) (comp-cstr-cons-p): Move and rename from 'comp.el'. * lisp/emacs-lisp/comp.el (comp-mvar-type-hint-match-p) (make-comp-mvar, comp-emit-assume, comp-fwprop-prologue) (comp-function-foldable-p, comp-function-call-maybe-fold) (comp-fwprop-call, comp-fwprop-insn, comp-call-optim-func) (comp-compute-function-type): Update for renamed functions. * src/comp.c (emit_mvar_rval): Likewise. * test/src/comp-tests.el (comp-tests-mentioned-p-1) (comp-tests-cond-rw-checker-val): Likewise.
* Do not emit assumptions referencing clobbered mvars (bug#46670)Andrea Corallo2021-02-231-0/+6
| | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-func): Add `vframe-size' slot. (comp-new-frame): Add `vsize' parameter. (comp-limplify-top-level, comp-limplify-function): Update for new `comp-new-frame'. (comp-maybe-add-vmvar): New function. (comp-add-cond-cstrs): Logic update to emit assumptions not referencing clobbered variables. (comp-place-phis, comp-ssa, comp-ssa-rename-insn) (comp-ssa-rename): Update rename logic to rename also negative slots. (comp-fwprop-insn): Update to handle `(assume mvar mvar)' form. * test/src/comp-tests.el (46670-1): Add testcase. * test/src/comp-test-funcs.el (comp-test-46670-1-f) (comp-test-46670-2-f): New functions.
* * Fix union constraint for mixed pos/neg constraintsAndrea Corallo2021-02-221-1/+1
| | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix neg type shadowing pos values. * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add testcase. * test/src/comp-tests.el (comp-tests-type-spec-tests): Fix testcase.
* Fix inverted logic in constraint comparison (bug#46540)Andrea Corallo2021-02-171-1/+28
| | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr->, comp-cstr->=) (comp-cstr-<, comp-cstr-<=): Fix inverted logic. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three integer constrain tests.
* Fix bug#45603Andrea Corallo2021-01-061-0/+5
| | | | | | | | | Reported and reduced by Mauricio Collares. * lisp/emacs-lisp/comp.el (comp-final): Fix coding system for the tmp file used to pass data the child processes. * test/src/comp-tests.el (45603-1): New testcase * test/src/comp-test-45603.el : New File.
* * test/src/comp-tests.el (cond-rw-1, not-cons, 45576): Rename three tests.Andrea Corallo2021-01-041-3/+3
|