summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2021-07-22 15:00:17 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2021-07-23 15:19:01 +0200
commit109ca1bd00b56ba66b123b505d8c2187fded0ef7 (patch)
tree7da2c0b5b4cf4df05e90b324dfe430304269c7b5 /test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el
parent4d172946c3953b3990182d794e5bda6a11646e29 (diff)
downloademacs-109ca1bd00b56ba66b123b505d8c2187fded0ef7.tar.gz
Warn about arity errors in inlining calls (bug#12299)
Wrong number of arguments in inlining function calls (to `defsubst` or explicitly using `inline`) did not result in warnings, or in very cryptic ones. * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Add calls to `byte-compile--check-arity-bytecode`. * lisp/emacs-lisp/bytecomp.el (byte-compile-emit-callargs-warn) (byte-compile--check-arity-bytecode): New functions. (byte-compile-callargs-warn): Use factored-out function. * test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el: * test/lisp/emacs-lisp/bytecomp-tests.el ("warn-callargs-defsubst.el"): New test case.
Diffstat (limited to 'test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el')
-rw-r--r--test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el b/test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el
new file mode 100644
index 00000000000..3a29128cf3a
--- /dev/null
+++ b/test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el
@@ -0,0 +1,5 @@
+;;; -*- lexical-binding: t -*-
+(defsubst warn-callargs-defsubst-f1 (_x)
+ nil)
+(defun warn-callargs-defsubst-f2 ()
+ (warn-callargs-defsubst-f1 1 2))