diff --git a/.gitattributes b/.gitattributes index 44ef98494c..adec787bfc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7336,6 +7336,7 @@ tests/webtbs/tw7161.pp svneol=native#text/plain tests/webtbs/tw7195.pp svneol=native#text/plain tests/webtbs/tw7227.pp svneol=native#text/plain tests/webtbs/tw7276.pp svneol=native#text/plain +tests/webtbs/tw7329.pp svneol=native#text/plain tests/webtbs/tw7372.pp svneol=native#text/plain tests/webtbs/tw7379.pp svneol=native#text/plain tests/webtbs/tw7391.pp svneol=native#text/plain diff --git a/compiler/pdecsub.pas b/compiler/pdecsub.pas index 99bbd4a641..ff772457ef 100644 --- a/compiler/pdecsub.pas +++ b/compiler/pdecsub.pas @@ -2426,9 +2426,10 @@ const (pd.maxparacount=0) and not(po_overload in hd.procoptions) ) or - { check arguments } + { check arguments, we need to check only the user visible parameters. The hidden parameters + can be in a different location becuase of the calling convention, eg. L-R vs. R-L order (PFV) } ( - (compare_paras(pd.paras,hd.paras,cp_none,[cpo_comparedefaultvalue])>=te_equal) and + (compare_paras(pd.paras,hd.paras,cp_none,[cpo_comparedefaultvalue,cpo_ignorehidden])>=te_equal) and { for operators equal_paras is not enough !! } ((pd.proctypeoption<>potype_operator) or (optoken<>_ASSIGNMENT) or { be careful here, equal_defs doesn't take care of unique } diff --git a/tests/webtbs/tw7329.pp b/tests/webtbs/tw7329.pp new file mode 100755 index 0000000000..876c3b3b52 --- /dev/null +++ b/tests/webtbs/tw7329.pp @@ -0,0 +1,18 @@ +{$MODE DELPHI} +unit tw7329; + +interface + +type + IDirect3D9 = interface(IUnknown) end; +// IDirect3D9 = Integer; //todo: Uncomment this line and comment previous one to successfully compile with 2.0.4 + +function Direct3DCreate9(SDKVersion: LongWord): IDirect3D9; stdcall; + +implementation + +function Direct3DCreate9(SDKVersion: LongWord): IDirect3D9; +begin +end; + +end. \ No newline at end of file