r308926 - Revert "[X86][InlineAsm][Ms Compatibility]Prefer variable name over a register when the two collides"

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 24 13:48:15 PDT 2017


Author: rnk
Date: Mon Jul 24 13:48:15 2017
New Revision: 308926

URL: http://llvm.org/viewvc/llvm-project?rev=308926&view=rev
Log:
Revert "[X86][InlineAsm][Ms Compatibility]Prefer variable name over a register when the two collides"

This reverts r308867 and r308866.

It broke the sanitizer-windows buildbot on C++ code similar to the
following:

  namespace cl { }
  void f() {
    __asm {
      mov al, cl
    }
  }

t.cpp(4,13):  error: unexpected namespace name 'cl': expected expression
    mov al, cl
            ^

In this case, MSVC parses 'cl' as a register, not a namespace.

Removed:
    cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c

Removed: cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c?rev=308925&view=auto
==============================================================================
--- cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c (original)
+++ cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c (removed)
@@ -1,12 +0,0 @@
-// REQUIRES: x86-registered-target
-// RUN: %clang_cc1 %s -triple i386-apple-darwin10 -fasm-blocks -emit-llvm -o - | FileCheck %s
-
-void t() {
-  int eax;
-  int Ecx;
-  __asm mov eax, ebx
-  // CHECK: mov $0, ebx
-  __asm add ecx, Ecx
-  // CHECK: add ecx, $1
-}
-




More information about the cfe-commits mailing list