[PATCH] D28212: typeinfo: provide a partial implementation for Win32

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 4 09:57:19 PST 2017


rnk added inline comments.


================
Comment at: include/typeinfo:75
+#elif defined(_WIN32)
+#define _LIBCPP_HAS_WINDOWS_TYPEINFO
+#else
----------------
Is _WIN32 the right condition? It seems like this is intended to match the MS ABI RTTI structure, not the Itanium one. _MSC_VER maybe?


================
Comment at: src/typeinfo.cpp:28-32
+  static constexpr const size_t fnv_offset_basis = 14695981039346656037;
+  static constexpr const size_t fnv_prime = 10995116282110;
+#else
+  static constexpr const size_t fnv_offset_basis = 2166136261;
+  static constexpr const size_t fnv_prime = 16777619;
----------------
compnerd wrote:
> majnemer wrote:
> > majnemer wrote:
> > > Why make these static? Seems strange to use that storage duration.
> > These literals are ill-formed, I think you need a ULL suffix here.
> Oh, just to ensure that they are handled as literal constants.  I can drop the static if you like, since the compiler should do the right thing anyways.
Isn't `constexpr const` redundant?


https://reviews.llvm.org/D28212





More information about the cfe-commits mailing list