cor3ntin added inline comments.

================
Comment at: clang/test/AST/Interp/arrays.cpp:135
+  static_assert(u32[1] == U'b', "");
+};
+
----------------
aaron.ballman wrote:
> shafik wrote:
> > tbaeder wrote:
> > > aaron.ballman wrote:
> > > > I think you need a more coverage for character literals. Some test 
> > > > cases that are interesting: multichar literals (`'abcd'`), character 
> > > > literals with UCNs (`'\uFFFF'`), character literals with numeric 
> > > > escapes (`'\xFF'`). I'm especially interested in seeing whether we 
> > > > handle integer promotions properly, especially when promoting to 
> > > > `unsigned int`.
> > > I added two more test cases but I'm generally not that familiar with 
> > > character  literal edge cases and integer promotion, so if you have 
> > > concrete test cases in mind, that would be great :)
> > We can find GNU documentation of multi-char literals here: 
> > https://gcc.gnu.org/onlinedocs/cpp/Implementation-defined-behavior.html#Implementation-defined-behavior
> >  and I believe we follow the same scheme. 
> > 
> > There are some weird cases like `'\8'` which compilers seem to treat 
> > consistently but generate a diagnostic for.
> CC @tahonermann and @cor3ntin as text encoding code owners -- they likely 
> know all the worst test cases to be thinking about in this space.
Most weirdness are taken care of during lexing.
What is interesting to test during evaluation

 * multi character literals ie `'abcd'`
 * `u8` (utf8) and `u` literals (utf16)

Note that wide characters literals were removed from C++ so it's no longer a 
concern


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135366/new/

https://reviews.llvm.org/D135366

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to