ncpucall.pas 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. {
  2. $Id$
  3. Copyright (c) 1998-2002 by Florian Klaempfl
  4. Generate sparc assembler for in call nodes
  5. This program is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 2 of the License, or
  8. (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program; if not, write to the Free Software
  15. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  16. ****************************************************************************
  17. }
  18. unit ncpucall;
  19. {$i fpcdefs.inc}
  20. interface
  21. uses
  22. ncgcal;
  23. type
  24. tsparccallnode = class(tcgcallnode)
  25. procedure extra_post_call_code;override;
  26. end;
  27. implementation
  28. uses
  29. cpubase,
  30. aasmtai,
  31. aasmcpu,
  32. paramgr,
  33. ncal;
  34. procedure tsparccallnode.extra_post_call_code;
  35. begin
  36. if paramanager.ret_in_param(procdefinition.rettype.def,procdefinition.proccalloption) then
  37. exprasmlist.concat(taicpu.op_const(A_UNIMP,procdefinition.rettype.def.size and $fff));
  38. end;
  39. begin
  40. ccallnode:=TSparcCallNode;
  41. end.
  42. {
  43. $Log$
  44. Revision 1.15 2005-01-07 16:22:54 florian
  45. + implemented abi compliant handling of strucutured functions results on sparc platform
  46. Revision 1.14 2004/06/20 08:55:32 florian
  47. * logs truncated
  48. }