View Issue Details

IDProjectCategoryView StatusLast Update
0034317FPCCompilerpublic2018-09-29 07:22
ReporterChristo CrauseAssigned ToFlorian 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.3.1Product Build39572 
Target VersionFixed in Version3.3.1 
Summary0034317: AVR - Getting rid of nuisance warning for interrupt
DescriptionFPC for AVR doesn't include support for OldFPCCall. This results in a nuisance warning whenever an interrupt routine is declared:

Warning: Calling convention directive ignored: "OldFPCCall"

Attached a patch to change the calling convention for directive interrupt to stdcall which is supported for AVR.
TagsNo tags attached.
Fixed in Revision39838
FPCOldBugId
FPCTarget
Attached Files
  • avr-no-oldfpccall-interrupt.patch (706 bytes)
    Index: compiler/pdecsub.pas
    ===================================================================
    --- compiler/pdecsub.pas	(revision 39572)
    +++ compiler/pdecsub.pas	(working copy)
    @@ -2573,7 +2573,11 @@
           idtok:_INTERRUPT;
           pd_flags : [pd_implemen,pd_body,pd_notobject,pd_notobjintf,pd_notrecord,pd_nothelper];
           handler  : @pd_interrupt;
    +{$IFDEF avr}
    +      pocall   : pocall_stdcall;
    +{$ELSE}
           pocall   : pocall_oldfpccall;
    +{$ENDIF}
           pooption : [po_interrupt];
           mutexclpocall : [pocall_internproc,pocall_cdecl,pocall_cppdecl,pocall_stdcall,pocall_mwpascal,
                            pocall_pascal,pocall_far16,pocall_oldfpccall,pocall_sysv_abi_cdecl,pocall_ms_abi_cdecl];
    

Activities

Christo Crause

2018-09-21 07:57

reporter  

avr-no-oldfpccall-interrupt.patch (706 bytes)
Index: compiler/pdecsub.pas
===================================================================
--- compiler/pdecsub.pas	(revision 39572)
+++ compiler/pdecsub.pas	(working copy)
@@ -2573,7 +2573,11 @@
       idtok:_INTERRUPT;
       pd_flags : [pd_implemen,pd_body,pd_notobject,pd_notobjintf,pd_notrecord,pd_nothelper];
       handler  : @pd_interrupt;
+{$IFDEF avr}
+      pocall   : pocall_stdcall;
+{$ELSE}
       pocall   : pocall_oldfpccall;
+{$ENDIF}
       pooption : [po_interrupt];
       mutexclpocall : [pocall_internproc,pocall_cdecl,pocall_cppdecl,pocall_stdcall,pocall_mwpascal,
                        pocall_pascal,pocall_far16,pocall_oldfpccall,pocall_sysv_abi_cdecl,pocall_ms_abi_cdecl];

Christo Crause

2018-09-29 07:22

reporter   ~0111070

Thank you FLorian.

Issue History

Date Modified Username Field Change
2018-09-21 07:57 Christo Crause New Issue
2018-09-21 07:57 Christo Crause File Added: avr-no-oldfpccall-interrupt.patch
2018-09-27 23:00 Florian Fixed in Revision => 39838
2018-09-27 23:00 Florian Status new => resolved
2018-09-27 23:00 Florian Fixed in Version => 3.3.1
2018-09-27 23:00 Florian Resolution open => fixed
2018-09-27 23:00 Florian Assigned To => Florian
2018-09-29 07:22 Christo Crause Note Added: 0111070
2018-09-29 07:22 Christo Crause Status resolved => closed