[PATCH] D33277: [Clang][x86][Inline Asm] - Enum support for MS syntax

Matan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 22 09:28:03 PDT 2017

mharoush marked an inline comment as done.
mharoush added inline comments.

Comment at: lib/Parse/ParseStmtAsm.cpp:100
+  // result of a call to LookupInlineAsmIdentifier.
+  bool EvaluateLookupAsEnum(void *LookupResult, int64_t &Result) {
+    if (!LookupResult) return false;
rnk wrote:
> Please format this, clang-format will do the job

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]
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.



More information about the cfe-commits mailing list