-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix 20170321 x64call #149
base: master
Are you sure you want to change the base?
Fix 20170321 x64call #149
Conversation
Fixed x64call cause GPF when exception. Added pure pascal vesion.
- sample: {$i inc-file} - sample: params 7, 64 - sample: raise exception ( procedure RaiseExceptionMessage ) - sample: show current exception: text,file,position - sample: emulate reserved word "raise" ( raise current exception ) - TODO: AV: FPC X64 OPENARRAY ( sample "format('%s; %s',['2','2'])" )
This seems to completely reformat all files, I can't see what actually changed? |
A few blank double lines were deleted. |
I'm sorry; I can't accept a pull request that reformats > 500 lines and also does functionality changes. It would completely break the git history |
"functionality changes" do not change, but only fixed. |
Base code is very poorly formatted (tabs, trailed spaces, duplicated blank lines, line breaks in class declarations). :( |
"Beyond compare" can ignore the insignificant differences in formatting. |
Tested, it works fine for me. Thanks |
Errata corrige There is a problem with function with args and an extended value as result Program test; the result of StrToDate is always 30/12/1899 |
Although @pult fix for GPF is brilliant and I'm not sure why it's not in the main branch, though as @albertozen2 detailed it stops any functions that return an extended value in the result from working - they don't need to have arguments, something like NOW just returns 30/12/1899. |
i commented two lines into x64.inc code file. movsd xmm0,[RegInfo].TRegisters._RCX |
Thanks @albertozen2 do you mean you removed them from x64.inc like this ? @@skip_items: // mov , [r9]. ; [r9] == [RegInfo] // movsd xmm0,[RegInfo].TRegisters._RCX For me the result of StrToDate is still 30/12/1899 :( |
I report the full code block. The commented lines are bold { mov r9, [RegInfo].TRegisters._R9 // !!! Overwritten RegInfo (r9) call [rbp+c_loc_offs_adress] // make result { |
Do you mean you added to extra lines ? If so where do they go ?
I have copied you code exactly, but for me the result is still 30/12/1899 :( |
Sorry, i looked for in my repository but i didn't find other changes. |
I'm not using packages, code is just compiled in to my app. I've confirmed that the updated x64.inc file is being compiled. |
No, Berlin |
x64.inc new fixes |
Thank You, now it works :-) |
@pult , your branch works, the official doesn't :-) program main; _** |
@pult you feel like checking the conflicts? I'll try to merge this next week (I do have to dig into the changes though, I see a lot of changes not relevant to this change, and I have to check them 1 by one). |
@pult @carlokok @albertozen2 |
Fixed x64call cause GPF when exception.
Added pure pascal vesion of "x64call".
Added sample "console_rops":