(eval-and-compile
(declare-function hello "hello"))
(eval-when-compile
(declare-function goodbye "goodbye"))
(declare-function whatever "whatever")
(defun junk ()
(hello)
(goodbye)
(whatever))
Compiling file /home/joe/emacs/mdb/lisp/test.el at Thu Dec 31 15:34:09 2009
In end of data:
test.el:13:1:Warning: the function `goodbye' is not known to be defined.
I'm guessing the expected usage is the declaration for "whatever", that is,
outside either eval-and-compile or eval-when-compile.