Hi Everyone,
I'd like to merge the byte change discussed at "Issue 442, Test C++17 byte change with dry runs from various projects",
https://github.com/weidai11/cryptopp/issues/442. Its reproduced below,
and it follows the principal of least change.
We could have done fancier stuff for the change, but I resisted the urge. I avoided CRYPTOPP_ADD_BYTE_TO_GLOBAL and friends because its just as easy for a user program to add the typedef themselves.
We passed on the change in Pull Request 438,
https://github.com/weidai11/cryptopp/pull/438 . It was a good, intermediate solution to the problem. However, it would have (1) required a second change later; and (2) it treated the symptom and not the root cause of the problem.
We advised folks how to fix their projects at
https://www.cryptopp.com/wiki/Std::byte#Fixing_Programs.
I also performed several dry runs on other people's projects. Most have either (1) no problems; or (2) very minimal problems. Here was the worst of them during my testing:
https://github.com/tahoe-lafs/pycryptopp/pull/43 .
Are there any objections to the merge?
Jeff
**********
$ cat byte.diff
diff --git a/config.h b/config.h
index 291b148..92a6b84 100644
--- a/config.h
+++ b/config.h
@@ -194,10 +194,12 @@ namespace CryptoPP { }
# define __USE_W32_SOCKETS
#endif
-typedef unsigned char byte;
+// typedef unsigned char byte;
+#define CRYPTOPP_NO_GLOBAL_BYTE 1
NAMESPACE_BEGIN(CryptoPP)
+typedef unsigned char byte;
typedef unsigned short word16;
typedef unsigned int word32;