-/* Report an error for an out-of-range integer argument.
- EXIT_CODE is the exit code (0 for a non-fatal error).
- OPTION is the option that takes the argument
- (usually starting with one or two minus signs).
- ARG is the option's argument.
- ERR is the error code returned by one of the xstrto* functions. */
-void xstrtol_error (int exit_code, char const *option, char const *arg,
- strtol_error err);
-
-# define STRTOL_FATAL_ERROR(Option, Arg, Err) \
- xstrtol_error (exit_failure, Option, Arg, Err)
+#if HAVE_LONG_LONG_INT
+_DECLARE_XSTRTOL (xstrtoll, long long int)
+_DECLARE_XSTRTOL (xstrtoull, unsigned long long int)
+#endif
+
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8)
+# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
+#else
+# define _GL_ATTRIBUTE_NORETURN /* empty */
+#endif
+
+/* Report an error for an invalid integer in an option argument.
+
+ ERR is the error code returned by one of the xstrto* functions.
+
+ Use OPT_IDX to decide whether to print the short option string "C"
+ or "-C" or a long option string derived from LONG_OPTION. OPT_IDX
+ is -2 if the short option "C" was used, without any leading "-"; it
+ is -1 if the short option "-C" was used; otherwise it is an index
+ into LONG_OPTIONS, which should have a name preceded by two '-'
+ characters.
+
+ ARG is the option-argument containing the integer.
+
+ After reporting an error, exit with a failure status. */
+
+void xstrtol_fatal (enum strtol_error,
+ int, char, struct option const *,
+ char const *) _GL_ATTRIBUTE_NORETURN;