On Fri, Jul 17, 2015 at 6:32 AM, Gisle Vanem gvanem@yahoo.no wrote:
Nick Mathewson wrote:
I made the changes conditional on not having GCC, since the GCC syntax
will work with older versions of GCC. (Somebody should check whether we care about those versions.)
Thanks for the info!
I saw that; from the Changelog:
o Minor features (portability): - Use C99 variadic macros when the compiler is not GCC. This avoids failing compilations on MSVC, and fixes a log-file-based race condition in our old workarounds. Original patch from Gisle Vanem.
I don't know what the "race conditions" is about, but this (?) change broke MSVC again by a '__PRETTY_FUNCTION__' which MSVC doesn't have. I suggest you add a: #define __PRETTY_FUNCTION__ __FUNCTION__
to win32/orconfig.h.
I've changed the non-__GNUC__ case to use __FUNCTION__ unconditionally, since __PRETTY_FUNCTION__ is a GCC extension.
Trying to find the change under https://trac.torproject.org/projects/tor/browse proved impossible. That site is so slow so I add some more MSVC-porting issues here:
Instead I'd recommend https://gitweb.torproject.org/tor.git/
- Base-types like 'uint8_t' have been part of MSVC's <stdint.h>
since ver. 1600. So this patch was needed here:
--- a/src/ext/trunnel/trunnel-impl.h 2015-06-04 19:32:02 +0000 +++ b/ext/trunnel/trunnel-impl.h 2015-06-04 19:49:06 +0000 @@ -18,7 +18,7 @@ #include "trunnel-local.h" #endif
-#ifdef _MSC_VER +#if defined(_MSC_VER) && (_MSC_VER < 1600) #define uint8_t unsigned char #define uint16_t unsigned short #define uint32_t unsigned int
I've applied this to trunnel!
- MSVC have never had <dirent.h>:
--- a/src/test/test_checkdir.c 2015-03-03 20:36:19 +0000 +++ b/src/test/test_checkdir.c 2015-03-04 15:29:02 +0000 @@ -3,7 +3,11 @@
#include "orconfig.h" #include "or.h"
+#ifndef _MSC_VER #include <dirent.h> +#endif
#include "config.h" #include "test.h" #include "util.h"
Thanks, fixed. Is it working better now?