View Issue Details

IDProjectCategoryView StatusLast Update
0036924FPCDocumentationpublic2020-04-23 19:31
ReporterMarco van de Voort Assigned ToMichael Van Canneyt  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Platformwin32OSwindows 
Product Version3.2.0 
Fixed in Version3.3.1 
Summary0036924: modifier winapi not documented
DescriptionFPC supports a modifier winapi (used in e.g. packages/libusb) that is documented.

User.tex greps on winapi, but that is in an h2pas lemma.
Additional InformationThe compiler file lists it in tokens.pas and pdecsub implements it as follows:

  if not(target_info.system in systems_wince) then
    pd.proccalloption:=pocall_cdecl
  else
    pd.proccalloption:=pocall_stdcall;
end;

So it seems to be something to share sources between win32 and wince.
TagsNo tags attached.
Fixed in Revision1694
FPCOldBugId
FPCTarget3.2.0
Attached Files

Relationships

related to 0036927 new Lazarus Codetools WINAPI modifier 

Activities

Thaddy de Koning

2020-04-17 13:33

reporter   ~0122191

Actually winapi covers all known microsoft calling conventions for all their supported windows platforms.
Both processors and OS's

Michael Van Canneyt

2020-04-17 14:03

administrator   ~0122194

Thanks for spotting this. Added.

Sven Barth

2020-04-20 20:33

manager   ~0122299

The documentation is not entirely correct. It's not just intended for Windows only, it is - despite it's name - a directive for the OS' default API, meaning stdcall on Windows (more precisely: i386-win32), for the other platforms (currently) cdecl, including non-Windows platforms. Delphi handles it the same.

Michael Van Canneyt

2020-04-23 19:31

administrator   ~0122371

What a completely stupid & braindead name is this ?

It also means that the trick to use a macro for the platform difference is no longer necessary ?

To think that my - age-old proposal of "libcall" or "oscall" which was always refused now turns out to be implemented with such a braindead name...
Makes the skin cringe...

Please do me a favour and introduce 'libcall' or 'oscall' which is the same, but which is at least a platform neutral name...

Issue History

Date Modified Username Field Change
2020-04-17 13:17 Marco van de Voort New Issue
2020-04-17 13:17 Marco van de Voort Status new => assigned
2020-04-17 13:17 Marco van de Voort Assigned To => Michael Van Canneyt
2020-04-17 13:33 Thaddy de Koning Note Added: 0122191
2020-04-17 14:03 Michael Van Canneyt Status assigned => resolved
2020-04-17 14:03 Michael Van Canneyt Resolution open => fixed
2020-04-17 14:03 Michael Van Canneyt Fixed in Version => 3.3.1
2020-04-17 14:03 Michael Van Canneyt Fixed in Revision => 1689
2020-04-17 14:03 Michael Van Canneyt FPCTarget => 3.2.0
2020-04-17 14:03 Michael Van Canneyt Note Added: 0122194
2020-04-17 20:14 Marco van de Voort Relationship added related to 0036927
2020-04-20 20:33 Sven Barth Status resolved => feedback
2020-04-20 20:33 Sven Barth Resolution fixed => reopened
2020-04-20 20:33 Sven Barth Note Added: 0122299
2020-04-23 19:31 Michael Van Canneyt Status feedback => resolved
2020-04-23 19:31 Michael Van Canneyt Resolution reopened => fixed
2020-04-23 19:31 Michael Van Canneyt Fixed in Revision 1689 => 1694
2020-04-23 19:31 Michael Van Canneyt Note Added: 0122371