I tried GNU gettext 0.19 on the latest 'grep' sources, and it failed
with the symptoms quoted at the end of this message. The problem seems
to have something to do with character constants. Even this trivial
source file:
#define SEP_CHAR_SELECTED ':'
int main (void) { return SEP_CHAR_SELECTED; }
causes xgettext to fail with a diagnostic like this:
t.c:1: warning: unterminated character constant
I am running gettext 0.19 on Fedora 20 x86-64, built with GCC 4.9.0.
Here is how xgettext failed with 'grep' source:
xgettext --default-domain=grep --directory=.. \
--add-comments=TRANSLATORS: --keyword=_ --keyword=N_
--flag=_:1:pass-c-format --flag=N_:1:pass-c-format
--flag=error:3:c-format --flag=error_at_line:5:c-format
--flag=asnprintf:3:c-format --flag=asprintf:2:c-format
--flag=error:3:c-format --flag=error_at_line:5:c-format
--flag=vasnprintf:3:c-format --flag=vasprintf:2:c-format
--flag=wrapf:1:c-format --from-code=UTF-8 ${end_of_xgettext_options+}
--flag=error:3:c-format --flag=error_at_line:5:c-format
--keyword='proper_name:1,"This is a proper name. See the gettext manual,
section Names."' --keyword='proper_name_utf8:1,"This is a proper name.
See the gettext manual, section Names."' \
--files-from=./POTFILES.in \
--copyright-holder='Free Software Foundation, Inc.' \
--package-name="${package_gnu}grep" \
--package-version='2.20.4-709e7e-dirty' \
--msgid-bugs-address="$msgid_bugs_address" \
;; \
esac
lib/getopt.c:477: warning: unterminated character constant
lib/getopt.c:728: warning: unterminated character constant
lib/regcomp.c:3772: warning: unterminated character constant
src/dfa.c:1283: warning: unterminated character constant
src/dfa.c:1286: warning: unterminated character constant
src/dfa.c:1407: warning: unterminated character constant
src/grep.c:52: warning: unterminated character constant
src/grep.c:53: warning: unterminated character constant