Paul Eggert wrote:
> > As far as I can see, your patch will have the effect that
> >    gettext (some_function_that_returns_a_string ())
> > will produce a syntax error in C++ mode.
> > 
> > Am I correct?
> Sounds right. Would the attached (untested) patch address the C++ issue?

Hmm. If the type is e.g. 'int', that would work. But if the type is
'const char *', this produces a syntax error:

   const char * (expr)

> +#ifdef __cplusplus
> +# define _LIBGETTEXT_FUNCAST(type, expr) (type (expr))

Why not

   #ifdef __cplusplus
   # define _LIBGETTEXT_FUNCAST(type, expr) static_cast<type> (expr)

? For the definition of static_cast, see [1].

Bruno

[1] https://cppreference.com/cpp/language/static_cast




Reply via email to