[PATCH] D49504: Enable C++2a Chrono Literals

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 19 06:01:32 PDT 2018


erichkeane added inline comments.


================
Comment at: lib/Lex/LiteralSupport.cpp:815
       .Cases("il", "i", "if", true)
+      .Cases("d", "y", LangOpts.CPlusPlus2a)
       .Default(false);
----------------
aaron.ballman wrote:
> Is it possible for the library to expose those outside of C++2a mode? We pass `true` for the C++14 cases, so I'm wondering about tying it to C++2a explicitly.
In the C++14 cases, we return true because we've checked C++14 mode on line 805.  I was hoping to do that for consistencies sake. Depending on your opinion, bringing 805 down to 812/813/814 (checking inline) might be a good idea.

According to the tests, 'sv' (string view) was the only one for C++17, but it wasn't really necessary to check here since it is only allowed on strings and not on integer literals.


================
Comment at: test/SemaCXX/cxx2a-user-defined-literals.cpp:1
+// RUN: %clang_cc1 -std=c++2a %s -include %s -verify
+
----------------
aaron.ballman wrote:
> Can you drop the svn properties, please?
Yep, will do :)  


================
Comment at: test/SemaCXX/cxx2a-user-defined-literals.cpp:12
+  }
+  using size_t = decltype(sizeof(0));
+  constexpr chrono::day operator"" d(unsigned long long d) noexcept;
----------------
aaron.ballman wrote:
> Is this needed?
It is, in fact, not required.


https://reviews.llvm.org/D49504





More information about the cfe-commits mailing list