[Python-checkins] r86362 - in python/branches/py3k-cdecimal: Lib/test/mpdecimal/Makefile.in Lib/test/mpdecimal/Makefile.vc Lib/test/mpdecimal/configure Lib/test/mpdecimal/configure.in Lib/test/mpdecimal/tests/cov.c Modules/cdecimal/error.c Modules/cdecimal/mpdecimal32.h Modules/cdecimal/mpdecimal64.h setup.py

stefan.krah python-checkins at python.org
Tue Nov 9 19:00:24 CET 2010


Author: stefan.krah
Date: Tue Nov 9 19:00:24 2010
New Revision: 86362
Log:
Make error macros C99 compatible. Note that every major compiler
that I tried has no problem with __VA_ARGS__.
Removed:
 python/branches/py3k-cdecimal/Modules/cdecimal/error.c
Modified:
 python/branches/py3k-cdecimal/Lib/test/mpdecimal/Makefile.in
 python/branches/py3k-cdecimal/Lib/test/mpdecimal/Makefile.vc
 python/branches/py3k-cdecimal/Lib/test/mpdecimal/configure
 python/branches/py3k-cdecimal/Lib/test/mpdecimal/configure.in
 python/branches/py3k-cdecimal/Lib/test/mpdecimal/tests/cov.c
 python/branches/py3k-cdecimal/Modules/cdecimal/mpdecimal32.h
 python/branches/py3k-cdecimal/Modules/cdecimal/mpdecimal64.h
 python/branches/py3k-cdecimal/setup.py
Modified: python/branches/py3k-cdecimal/Lib/test/mpdecimal/Makefile.in
==============================================================================
--- python/branches/py3k-cdecimal/Lib/test/mpdecimal/Makefile.in	(original)
+++ python/branches/py3k-cdecimal/Lib/test/mpdecimal/Makefile.in	Tue Nov 9 19:00:24 2010
@@ -88,8 +88,8 @@
 
 
 OBJS := basearith.o context.o constants.o convolute.o crt.o mpdecimal.o \
- mpsignal.o difradix2.o error.o fnt.o fourstep.o io.o memory.o \
- numbertheory.o sixstep.o transpose.o
+ mpsignal.o difradix2.o fnt.o fourstep.o io.o memory.o numbertheory.o \
+ sixstep.o transpose.o
 
 $(LIBSTATIC): Makefile vars.mk $(OBJS)
 	$(AR) rc $(LIBSTATIC) $(OBJS)
@@ -135,10 +135,6 @@
 umodarith.h typearith.h difradix2.h vccompat.h
 	$(CC) $(INC) $(CFLAGS) -c difradix2.c
 
-error.o:\
-Makefile vars.mk error.c mpdecimal.h
-	$(CC) $(INC) $(CFLAGS) -c error.c
-
 fnt.o:\
 Makefile vars.mk fnt.c bits.h mpdecimal.h difradix2.h numbertheory.h \
 constants.h fnt.h vccompat.h
Modified: python/branches/py3k-cdecimal/Lib/test/mpdecimal/Makefile.vc
==============================================================================
--- python/branches/py3k-cdecimal/Lib/test/mpdecimal/Makefile.vc	(original)
+++ python/branches/py3k-cdecimal/Lib/test/mpdecimal/Makefile.vc	Tue Nov 9 19:00:24 2010
@@ -11,9 +11,8 @@
 
 
 OBJS = basearith.obj context.obj constants.obj convolute.obj crt.obj \
- mpdecimal.obj mpsignal.obj difradix2.obj error.obj fnt.obj \
- fourstep.obj io.obj memory.obj numbertheory.obj sixstep.obj \
- transpose.obj
+ mpdecimal.obj mpsignal.obj difradix2.obj fnt.obj fourstep.obj \
+ io.obj memory.obj numbertheory.obj sixstep.obj transpose.obj
 
 
 MPD_PREC = 9
@@ -117,10 +116,6 @@
 umodarith.h typearith.h difradix2.h vccompat.h
 	$(CC) $(BFLAGS) $(CFLAGS) $(PFLAGS) -c difradix2.c
 
-error.obj:\
-Makefile error.c mpdecimal.h
-	$(CC) $(BFLAGS) $(CFLAGS) $(PFLAGS) -c error.c
-
 fnt.obj:\
 Makefile fnt.c bits.h mpdecimal.h difradix2.h numbertheory.h constants.h \
 fnt.h vccompat.h
Modified: python/branches/py3k-cdecimal/Lib/test/mpdecimal/configure
==============================================================================
--- python/branches/py3k-cdecimal/Lib/test/mpdecimal/configure	(original)
+++ python/branches/py3k-cdecimal/Lib/test/mpdecimal/configure	Tue Nov 9 19:00:24 2010
@@ -3914,7 +3914,7 @@
 MPD_OPT="-O2 -fpic"
 ;;
 suncc)
- MPD_WARN="-erroff=E_ARGUEMENT_MISMATCH"
+ MPD_WARN=
 MPD_OPT="-O2 -fpic -s"
 ;;
 esac
Modified: python/branches/py3k-cdecimal/Lib/test/mpdecimal/configure.in
==============================================================================
--- python/branches/py3k-cdecimal/Lib/test/mpdecimal/configure.in	(original)
+++ python/branches/py3k-cdecimal/Lib/test/mpdecimal/configure.in	Tue Nov 9 19:00:24 2010
@@ -146,7 +146,7 @@
 MPD_OPT="-O2 -fpic"
 ;;
 suncc)
- MPD_WARN="-erroff=E_ARGUEMENT_MISMATCH"
+ MPD_WARN=
 MPD_OPT="-O2 -fpic -s"
 ;;
 esac
Modified: python/branches/py3k-cdecimal/Lib/test/mpdecimal/tests/cov.c
==============================================================================
--- python/branches/py3k-cdecimal/Lib/test/mpdecimal/tests/cov.c	(original)
+++ python/branches/py3k-cdecimal/Lib/test/mpdecimal/tests/cov.c	Tue Nov 9 19:00:24 2010
@@ -1336,12 +1336,10 @@
 	test_set_string();
 	test_output();
 
-	/* Test this, too */
-	mpd_err_doit(MPD_ERR_WARN, "%s", "\ncov: PASS\n");
-
 	/* Valgrind */
 	mpd_del(&mpd_ln10);
 
+	fprintf(stderr, "\ncov: PASS\n");
 	return 0;
 }
 
Deleted: python/branches/py3k-cdecimal/Modules/cdecimal/error.c
==============================================================================
--- python/branches/py3k-cdecimal/Modules/cdecimal/error.c	Tue Nov 9 19:00:24 2010
+++ (empty file)
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2008-2010 Stefan Krah. All Rights Reserved.
- * Licensed to PSF under a Contributor Agreement.
- */
-
-
-#include "mpdecimal.h"
-#include <stdio.h>
-#include <stdarg.h>
-
-
-void mpd_err_doit(int action, const char *fmt, ...)
-{
-	va_list ap;
-
-	va_start(ap, fmt);
-	vfprintf(stderr, fmt, ap);
-	fputc('\n', stderr);
-	va_end(ap);
-
-	if (action == MPD_ERR_EXIT) {
-		exit(EXIT_FAILURE); /* GCOV_NOT_REACHED */
-	}
-}
-
Modified: python/branches/py3k-cdecimal/Modules/cdecimal/mpdecimal32.h
==============================================================================
--- python/branches/py3k-cdecimal/Modules/cdecimal/mpdecimal32.h	(original)
+++ python/branches/py3k-cdecimal/Modules/cdecimal/mpdecimal32.h	Tue Nov 9 19:00:24 2010
@@ -572,13 +572,12 @@
 /* Error Macros */
 /******************************************************************************/
 
-enum {MPD_ERR_EXIT, MPD_ERR_WARN};
-#define mpd_err_fatal(format, ...) \
-	mpd_err_doit(MPD_ERR_EXIT, "%s:%d: error: " format, __FILE__, __LINE__, ##__VA_ARGS__)
-#define mpd_err_warn(format, ...) \
-	mpd_err_doit(MPD_ERR_WARN, "%s:%d: warning: " format, __FILE__, __LINE__, ##__VA_ARGS__)
-
-void mpd_err_doit(int action, const char *fmt, ...);
+#define mpd_err_fatal(...) \
+ do {mpd_varerr("%s:%d: error: ", __VA_ARGS__, ""); exit(1);} while (0)
+#define mpd_err_warn(...) \
+ mpd_varerr("%s:%d: warning: ", __VA_ARGS__, "")
+#define mpd_varerr(intro, format, ...) \
+ fprintf(stderr, intro format "%s\n", __FILE__, __LINE__, __VA_ARGS__)
 
 
 /******************************************************************************/
Modified: python/branches/py3k-cdecimal/Modules/cdecimal/mpdecimal64.h
==============================================================================
--- python/branches/py3k-cdecimal/Modules/cdecimal/mpdecimal64.h	(original)
+++ python/branches/py3k-cdecimal/Modules/cdecimal/mpdecimal64.h	Tue Nov 9 19:00:24 2010
@@ -587,13 +587,12 @@
 /* Error Macros */
 /******************************************************************************/
 
-enum {MPD_ERR_EXIT, MPD_ERR_WARN};
-#define mpd_err_fatal(format, ...) \
-	mpd_err_doit(MPD_ERR_EXIT, "%s:%d: error: " format, __FILE__, __LINE__, ##__VA_ARGS__)
-#define mpd_err_warn(format, ...) \
-	mpd_err_doit(MPD_ERR_WARN, "%s:%d: warning: " format, __FILE__, __LINE__, ##__VA_ARGS__)
-
-void mpd_err_doit(int action, const char *fmt, ...);
+#define mpd_err_fatal(...) \
+ do {mpd_varerr("%s:%d: error: ", __VA_ARGS__, ""); exit(1);} while (0)
+#define mpd_err_warn(...) \
+ mpd_varerr("%s:%d: warning: ", __VA_ARGS__, "")
+#define mpd_varerr(intro, format, ...) \
+ fprintf(stderr, intro format "%s\n", __FILE__, __LINE__, __VA_ARGS__)
 
 
 /******************************************************************************/
Modified: python/branches/py3k-cdecimal/setup.py
==============================================================================
--- python/branches/py3k-cdecimal/setup.py	(original)
+++ python/branches/py3k-cdecimal/setup.py	Tue Nov 9 19:00:24 2010
@@ -1745,7 +1745,6 @@
 'cdecimal/convolute.c',
 'cdecimal/crt.c',
 'cdecimal/difradix2.c',
- 'cdecimal/error.c',
 'cdecimal/fnt.c',
 'cdecimal/fourstep.c',
 'cdecimal/io.c',
@@ -1804,8 +1803,6 @@
 # Faster version without thread local contexts:
 if not sysconfig.get_config_var('WITH_THREAD'):
 define_macros.append(('WITHOUT_THREADS', 1))
- if 'sunos' in platform and cc == 'cc': # suncc
- extra_compile_args.extend(['-erroff=E_ARGUEMENT_MISMATCH']) # [sic]
 ext = Extension (
 'cdecimal',
 define_macros=define_macros,


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /