jfb added inline comments.
================ Comment at: lib/Sema/SemaExpr.cpp:10929 + // Do not diagnose if xor keyword is used. + if (ExprStr.find("xor") != llvm::StringRef::npos) + return; ---------------- xbolva00 wrote: > Quuxplusone wrote: > > xbolva00 wrote: > > > jfb wrote: > > > > Doesn't this match any expression that contains `xor`? Put another way, > > > > I don't see `"xor"` used anywhere else under clang, what's usually done? > > > Yes, but since xor is keyword in C++, I think this is safe. > > I believe JF is worried about expressions like `constexpr int > > flexor_exponent = 3; return 10 ^ flexor_exponent;`. That expression > > contains the substring `"xor"` but does not use the `xor` keyword. Which > > reminds me, can you add some test cases showing what behavior you expect > > for operands that are not integer literals but still compile-time `const`, > > or `constexpr`, or template arguments? > Ah, I will change it to “ xor “. Spaces aren't the only valid whitespace character :) ``` 2 xor 31 ``` CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits