[PATCH] D54814: Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`.

Louis Dionne via Phabricator reviews at reviews.llvm.org
Thu Nov 22 07:28:04 PST 2018

ldionne added a comment.

Please hold off with committing this until we've agreed on the ABI part. That'll take at least until next week when people are back from Thanksgiving.

Comment at: include/__config:1285
+#ifndef _LIBCPP_CXX03_LANG
+#define _LIBCPP_ALIGNOF(_Tp) alignof(_Tp)
+#elif defined(_LIBCPP_COMPILER_CLANG)
Can you indent nested `#define`s? I find it very difficult to read our PP code because it often lacks indentation.

Comment at: test/libcxx/libcpp_alignof.pass.cpp:29
+  static_assert(_LIBCPP_ALIGNOF(T) == _Alignof(T), "");
Why is this test useful? Isn't the previous one (for C++11) sufficient?

Comment at: test/support/test_macros.h:118
-#define TEST_ALIGNOF(...) __alignof(__VA_ARGS__)
+# define TEST_ALIGNOF(...) _Alignof(__VA_ARGS__)
Why not always just `alignof`? Shouldn't we only use that macro in C++11 and above anyway?

  rCXX libc++


More information about the libcxx-commits mailing list