Re: [Mingw-w64-public] Direct2D sample runs with Studio Express but not with mingw-w64

2014-12-23 Thread Jack Andrews
...and to reproduce the successful build and run in Express 2010: C:\Users\jack\gcl DemoApp.cpp /link user32.lib ole32.lib d2d1.lib Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. DemoApp.cpp Microsoft

Re: [Mingw-w64-public] Direct2D sample runs with Studio Express but not with mingw-w64

2014-12-23 Thread Martin Mitáš
Fixed the DemoApp.cpp by rewriting the line 216 as follows: // D2D1_SIZE_F rtSize = m_pRenderTarget-GetSize(); D2D1_SIZE_F rtSize = { 640, 480 }; Seems that calling ID2D1RenderTarget::GetSize() is broken when called from gcc-compiled object. This particular method is a bit

Re: [Mingw-w64-public] Direct2D sample runs with Studio Express but not with mingw-w64

2014-12-23 Thread Jacek Caban
Hi Martin, It's very likely that it's a problem with ABI. Wine had a problem with this function due to incompatibility of stdcall already: https://www.winehq.org/pipermail/wine-patches/2014-September/134351.html Unless stdcall is handled differently for mingw target, we need to fix it in mingw

Re: [Mingw-w64-public] Direct2D sample runs with Studio Express but not with mingw-w64

2014-12-23 Thread Martin Mitáš
A comment in the pointed wine patch explains the situation quite well: MS ABI handles returning of structure so that the function gets an implicit extra parameter: address of the memory block to be filled by the function iplementation. I verified with the following hack: (1) In d2d1.h, changed

Re: [Mingw-w64-public] Direct2D sample runs with Studio Express but not with mingw-w64

2014-12-23 Thread Kai Tietz
Hi, to report that as bug was a bit over-eager. stdcall has nothing to do with aggregate-return-behavior. gcc implements this already, and it is part of calling-convention. The major issue here is that Wine uses gcc in linux-default-mode (means sysv ABI), but of course MS-stuff expects MS-ABI

Re: [Mingw-w64-public] Direct2D sample runs with Studio Express but not with mingw-w64

2014-12-23 Thread Martin Mitáš
Kai, I'm somewhat confused now. I always thought that stdcall is a calling convention specified in a context of MS ABI, so that stdcall implies MS ABI at least for the purpose of calling of the particular function with the __stdcall specifier. It's not an area of my expertise, so I may be

Re: [Mingw-w64-public] Direct2D sample runs with Studio Express but not with mingw-w64

2014-12-23 Thread Kai Tietz
Martin, 2014-12-23 16:19 GMT+01:00 Martin Mitáš m...@morous.org: Kai, I'm somewhat confused now. I always thought that stdcall is a calling convention specified in a context of MS ABI, so that stdcall implies MS ABI at least for the purpose of calling of the particular function with the

[Mingw-w64-public] Out of memory for cc1plus

2014-12-23 Thread Edward Diener
I am seeing an out of memory message of: cc1plus.exe: out of memory allocating 65536 bytes when compiling code using mingw-64 from gcc-4.8.1, gcc-4.8.2, gcc-4.8.3, gcc-4.9.0, and gcc-4.9.1. Nor is this just a mingw-64 problem as I am seeing the same error when compiling the same code with