[LLVMbugs] [Bug 21155] New: Regression: Incorrect warning about unused labels when label is used from inline asm
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sat Oct 4 00:53:53 PDT 2014
http://llvm.org/bugs/show_bug.cgi?id=21155
Bug ID: 21155
Summary: Regression: Incorrect warning about unused labels when
label is used from inline asm
Product: clang
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Frontend
Assignee: unassignedclangbugs at nondot.org
Reporter: nicolasweber at gmx.de
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
..\..\sandbox\win\src\sidestep_resolver.cc(179,3) : warning(clang): unused
label 'call_interceptor' [-Wunused-label]
call_interceptor:
~~^~~~~~~~~~~~~~~~~
for:
__declspec(naked)
void SmartSidestepResolverThunk::SmartStub() {
__asm {
push eax // Space for the jump.
push eax // Save registers.
push ebx
push ecx
push edx
mov ebx, [esp + 0x18] // First parameter = SmartThunk.
mov edx, [esp + 0x14] // Get the return address.
mov eax, [ebx]SmartThunk.module_base
push edx
push eax
call SmartSidestepResolverThunk::IsInternalCall
add esp, 8
test eax, eax
lea edx, [ebx]SmartThunk.sidestep // The original function.
jz call_interceptor
// Skip this call
mov ecx, [esp + 0x14] // Return address.
mov [esp + 0x18], ecx // Remove first parameter.
mov [esp + 0x10], edx
pop edx // Restore registers.
pop ecx
pop ebx
pop eax
ret 4 // Jump to original function.
call_interceptor:
mov ecx, [ebx]SmartThunk.interceptor
mov [esp + 0x18], edx // Replace first parameter.
mov [esp + 0x10], ecx
pop edx // Restore registers.
pop ecx
pop ebx
pop eax
ret // Jump to original function.
}
}
Maybe caused by r218230?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20141004/c5b81528/attachment.html>
More information about the llvm-bugs
mailing list