rnk added inline comments.

================
Comment at: lib/Sema/SemaStmtAsm.cpp:674
+  Expr::EvalResult EvlResult;
+  // Try to evaluate the identifier as enum constant
+  if (isa<clang::EnumType>(Res->getType()) && Res->EvaluateAsRValue(EvlResult, 
----------------
Please add a comment explaining that non-enum integer constants should not be 
folded. I expected that MSVC would fold constexpr integers here, but it does 
not, so that's worth noting.


================
Comment at: test/CodeGen/x86-ms-inline-asm-enum_feature.cpp:12
+  const int a = 0;
+  // CHECK-NOT: mov eax, [$$0]
+  __asm mov eax, [a]
----------------
mharoush wrote:
> rnk wrote:
> > Use CHECK-LABEL, CHECK, and CHECK-SAME the way that the existing 
> > ms-inline-asm.c tests do so that this test is easier to debug when it fails.
> This test case was just meant verify that other Integer constants are not 
> folded since we get a different behavior for statements such as mov eax, [a]. 
> #---
> In this example X86AsmParser regards the address of the variable 'a' and not 
> its value i.e. we end up with the value of 'a' in eax (loaded from the stack) 
> and not with the value pointed by the const int value of 'a' as its address.
> ---#
> 
> I can clarify the intention in a comment or completely remove the test case 
> since this isn't really required here.
The test case is fine and the intention is clear, I am just suggesting that you 
use more FileCheck features (CHECK-LABEL and CHECK-SAME) to make the test 
easier to debug when it fails in the future.


Repository:
  rL LLVM

https://reviews.llvm.org/D33277



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

Reply via email to