News:

Download Pelles C here: http://www.pellesc.se

Main Menu

Recent posts

#21
General discussion / Re: Compiling using pomake
Last post by TimoVJL - March 19, 2026, 08:16:24 PM
No, polink.exe and polib.exe don't work.

EDIT:
with v14 pocc.exe and libs and v13 polink.exe and polib.exe
Zydis 4 dll and example worked.
TLPEView worked.

SQLite3 failed, illegal instruction (movbe)

EDIT:
In some tests i needs ide, so i use poide v13 to change project filesrsrc0009.dll version 13.00.1
support.dll version 13.00.0
fdiff.dll version 14.00.0
pofmt.dll version 13.00.0
porc.dll version 14.00.0
pobr.dll version 13.00.1
sqlite3.dll version 3390400
pocc.exe version 14.00.0
poasm.exe version 14.00.0
polink.exe version 13.00.1
idespawn.exe version 14.00.0
#22
General discussion / Re: Compiling using pomake
Last post by John Z - March 19, 2026, 08:09:57 PM
Great test Timo.

So that means pomake, pocc, polink, porc, are all 'ok' as far as the MOVBE is concerned.
I also tested poviewp and it was ok.

So it is likely that only poide is affected but points out we should test each po... tool.


John Z
#23
General discussion / Re: Compiling using pomake
Last post by TimoVJL - March 19, 2026, 05:59:04 PM
pomake.exe v14 works with Windows 7 x64, and CPU without MOVBE
SET PellesCDir=C:\code\PellesC14rc1
SET PATH=%PellesCDir%\bin
pomake.exe -F sqlite364_V14.ppj
sqlite3.c needs some modifications ?
..\sqlite3.c(126948): error #2168: Operands of '=' have incompatible types: 'char *' and 'const char *'.
..\sqlite3.c(132978): error #2082: Invalid initialization type; expected 'char *' but found 'const char *'.
POMAKE: fatal error: 'pocc.exe -Tx64-coff -std:C23 -Ot -Ob1 -fp:precise -W0 -Gz -Ze -J "..\sqlite3.c" -Fo"output64\sqlit
e3.obj"', exit code 1.
POLIB: fatal error: An internal error occurred.something to test with different CPUspolib.exe -machine:x86 -def:msvcrt.def -out:msvcrt.lib
#24
Bug reports / Re: Creating resource with man...
Last post by John Z - March 19, 2026, 01:46:43 PM
Great!

What system and OS btw?

John Z
#25
Bug reports / Re: Creating resource with man...
Last post by PaoloC13 - March 19, 2026, 12:14:37 PM
Thanks Timo and John,
I've worked on the original version of the manifest automatically generated by version 13.00.9:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity
    type="win32"
    name="MyOrganization.MyDivision.MyApp"
    version="1.0.0.0"
    <!-- processorArchitecture="amd64" -->
    processorArchitecture="X86"
/>

<description>Verbal description of MyApp.</description>

<dependency>
  <dependentAssembly>
    <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        processorArchitecture="X86"
        publicKeyToken="6595b64144ccf1df"
        language="*"
    />
  </dependentAssembly>
</dependency>

<!--
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel
                level="asInvoker"
                uiAccess="false"
            />
        </requestedPrivileges>
    </security>
</trustInfo>
-->

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
  <application>
     <!-- Application supports Windows 10-->
     <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
     <!-- Application supports Windows 8.1 -->
     <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
     <!-- Application supports Windows 8 -->
     <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
     <!-- Application supports Windows 7 -->
     <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
     <!-- Application supports Windows Vista -->
     <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
  </application>
</compatibility>

</assembly>

Proceeding step by step, I've identified three problems, each of which alone causes the .exe to break in my sysem (now I tested also in Windows 10).

1) Line 8 - XML comment inside an opening tag.
   <!-- processorArchitecture="amd64" -->

2) Line 9
   processorArchitecture="X86"

3) Line 20
   processorArchitecture="X86"


Fixes:

1) comment outside <assemblyIdentity ... />

2 & 3) processorArchitecture="*" (processorArchitecture="X64" don't work)
#26
Bug reports / Re: Creating resource with man...
Last post by John Z - March 19, 2026, 10:06:02 AM
Hi PaoloC13,

Quote from: PaoloC13 on March 18, 2026, 10:48:12 PMI can't replicate the same problem because I uninstalled and reinstalled. It now compiles, but the .exe is broken. I suspect a file encoding issue (or some flag I haven't set?). You cannot view this attachment.

Attached a new version which compiles and runs with a simplified manifest.  If you add to it, do it step by step testing each addition :)

John Z
#27
Assembly discussions / Re: Verifying the support of t...
Last post by Vortex - March 19, 2026, 10:03:41 AM
Shorter 32-bit version and new upload above.
#28
Beginner questions / Re: same code pelles c and gcc...
Last post by ander_cc - March 19, 2026, 09:20:27 AM
Thank you, rweidner and John Z!
#29
Bug reports / Re: stdckdint.h bug report
Last post by ander_cc - March 19, 2026, 09:19:51 AM
Quote from: Pelle on March 15, 2026, 11:32:37 AMI think ckd_<op>() came more or less straight from GCC to the C23 standard, and like some other GCC "innovations" it's a bit over-worked / under-thinked.

I will revise my initial implementation slightly, mostly just to reject more bogus cases -- like the original bug report.
Thank you, Pelle!
#30
Bug reports / Re: bug report. setvbuf() func...
Last post by ander_cc - March 19, 2026, 09:19:30 AM
Quote from: Pelle on March 15, 2026, 11:45:36 AMIn the low-I/O C runtime function _write(), when operating in text mode (ANSI/UTF-16LE/UTF-8/...), there is a ~2kB buffer for LF to CRLF translation. When this buffer is full, the content is sent to the destination (console/file/...), the buffer cleared, and the translation resumed. When resuming the translation the first character was lost (in translation).

( The printf family is one path to the _write() function )

Thank you, Pelle!