FEprogram_error vs FEprogram_error_noreturn

Kris Katterjohn <[email protected]>
Newsgroups gmane.lisp.ecl.general
Message-ID <20170628204148.GA6096@meryl>
Hey,

I notice that there is a FEprogram_error and a FEprogram_error_noreturn
in src/c/error.d; however, it looks like these functions are identical
aside from their names.

I copied these to different files and diff'd them:

--- test        2017-06-28 15:39:32.199877688 -0500
+++ test2       2017-06-28 15:39:32.199877688 -0500
@@ -1,5 +1,5 @@
 void
-FEprogram_error(const char *s, int narg, ...)
+FEprogram_error_noreturn(const char *s, int narg, ...)
 {
   cl_object real_args, text;
   ecl_va_list args;

FEprogram_error_noreturn was added in commit 7d9fb8bb.  I think it was
added because FEprogram_error didn't have the noreturn attribute, so
FEprogram_error_noreturn was introduced with this attribute.  However,
it looks like FEprogram_error (and others) got this attribute in commit
790d466c.  (This all happened in Feb 2010.)

Currently in src/h/external.h:

extern ECL_API void FEprogram_error(const char *s, int narg, ...) ecl_attr_noreturn;
extern ECL_API void FEprogram_error_noreturn(const char *s, int narg, ...) ecl_attr_noreturn;

They are both used throughout src/c.

It seems like one of these should be removed.  If so, I can remove one
of them and change all of the calls to it.  I would say keep
FEprogram_error and remove FEprogram_error_noreturn.

If these changes are desired, then I can open up a new Merge Request
with these changes after my currently open Merge Request is done (to
avoid conflicts).

Cheers,
Kris Katterjohn
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.