From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28899 invoked by alias); 22 Mar 2012 23:33:35 -0000 Received: (qmail 28884 invoked by uid 22791); 22 Mar 2012 23:33:34 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.lysator.liu.se (HELO mail.lysator.liu.se) (130.236.254.3) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 22 Mar 2012 23:33:19 +0000 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 73C0E40015; Fri, 23 Mar 2012 00:25:41 +0100 (CET) Received: from peda-pc (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 4F46740008; Fri, 23 Mar 2012 00:25:40 +0100 (CET) Received: by peda-pc (sSMTP sendmail emulation); Fri, 23 Mar 2012 00:25:48 +0200 From: Peter Rosin To: libffi-discuss@sourceware.org Cc: Peter Rosin Subject: [PATCH 5/6] Translate inline assembly to MSVC format Date: Thu, 22 Mar 2012 23:33:00 -0000 Message-Id: <1332458731-15004-6-git-send-email-peda@lysator.liu.se> In-Reply-To: <1332458731-15004-1-git-send-email-peda@lysator.liu.se> References: <1332458731-15004-1-git-send-email-peda@lysator.liu.se> X-IsSubscribed: yes Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org X-SW-Source: 2012/txt/msg00139.txt.bz2 --- ChangeLog | 6 ++++++ testsuite/libffi.call/closure_stdcall.c | 8 ++++++++ testsuite/libffi.call/closure_thiscall.c | 8 ++++++++ 3 files changed, 22 insertions(+), 0 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4951703..7e4a68f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-03-22 Peter Rosin + + * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline + assembly version with Intel syntax. + * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise. + 2012-03-23 Peter Rosin * testsuite/libffi.call/ffitest.h: Provide abstration of diff --git a/testsuite/libffi.call/closure_stdcall.c b/testsuite/libffi.call/closure_stdcall.c index 6bfcc1f..1407f02 100644 --- a/testsuite/libffi.call/closure_stdcall.c +++ b/testsuite/libffi.call/closure_stdcall.c @@ -49,9 +49,17 @@ int main (void) CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_stdcall, (void *) 3 /* userdata */, code) == FFI_OK); +#ifdef _MSC_VER + __asm { mov sp_pre, esp } +#else asm volatile (" movl %%esp,%0" : "=g" (sp_pre)); +#endif res = (*(closure_test_type0)code)(0, 1, 2, 3); +#ifdef _MSC_VER + __asm { mov sp_post, esp } +#else asm volatile (" movl %%esp,%0" : "=g" (sp_post)); +#endif /* { dg-output "0 1 2 3: 9" } */ printf("res: %d\n",res); diff --git a/testsuite/libffi.call/closure_thiscall.c b/testsuite/libffi.call/closure_thiscall.c index 6c46f35..0f93649 100644 --- a/testsuite/libffi.call/closure_thiscall.c +++ b/testsuite/libffi.call/closure_thiscall.c @@ -49,9 +49,17 @@ int main (void) CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_thiscall, (void *) 3 /* userdata */, code) == FFI_OK); +#ifdef _MSC_VER + __asm { mov sp_pre, esp } +#else asm volatile (" movl %%esp,%0" : "=g" (sp_pre)); +#endif res = (*(closure_test_type0)code)(0, 1, 2, 3); +#ifdef _MSC_VER + __asm { mov sp_post, esp } +#else asm volatile (" movl %%esp,%0" : "=g" (sp_post)); +#endif /* { dg-output "0 1 2 3: 9" } */ printf("res: %d\n",res); -- 1.7.9