Without this patch, Cpp bridgetest on a Clang-compiled UNO runtime will not complete successfully.

regards,

-kris.

>From b9c8ff8b0ac2e1bfe91c62fc0483ca134295ca9c Mon Sep 17 00:00:00 2001
From: Kristian Rietveld <k...@lanedo.com>
Date: Sat, 15 Oct 2011 01:15:21 +0200
Subject: [PATCH] Mark ecx register as clobbered

The inline assembly code executes a function call and functions are
free to use eax, ecx and edx without preservation. We must thus mark
ecx as a clobber register.
---
 .../source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx   |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx 
b/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
index 9f00005..89f5381 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
@@ -119,7 +119,7 @@ void callVirtualMethod(
         :
         : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
           "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
-        : "eax", "edx" );
+        : "eax", "ecx", "edx" );
     switch( pReturnTypeDescr->eTypeClass )
     {
     case typelib_TypeClass_VOID:
-- 
1.7.4.4

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to