~ubuntu-branches/ubuntu/lucid/fpc/lucid-proposed

« back to all changes in this revision

Viewing changes to fpcsrc/compiler/powerpc64/cpupara.pas

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-10-09 23:29:00 UTC
  • mfrom: (4.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20081009232900-553f61m37jkp6upv
Tags: 2.2.2-4
[ Torsten Werner ]
* Update ABI version in fpc-depends automatically.
* Remove empty directories from binary package fpc-source.

[ Mazen Neifer ]
* Removed leading path when calling update-alternatives to remove a Linitian
  error.
* Fixed clean target.
* Improved description of packages. (Closes: #498882)

Show diffs side-by-side

added added

removed removed

Lines of Context:
68
68
function tppcparamanager.get_volatile_registers_int(calloption:
69
69
  tproccalloption): tcpuregisterset;
70
70
begin
71
 
  result := [RS_R3..RS_R12];
 
71
  result := [RS_R0,RS_R3..RS_R12];
 
72
  if (target_info.system = system_powerpc64_darwin) then
 
73
    include(result,RS_R2);
72
74
end;
73
75
 
74
76
function tppcparamanager.get_volatile_registers_fpu(calloption:
121
123
      result := LOC_REGISTER;
122
124
    classrefdef:
123
125
      result := LOC_REGISTER;
 
126
    procvardef,
124
127
    recorddef:
125
128
      result := LOC_REGISTER;
126
129
    objectdef:
133
136
        result := LOC_REFERENCE
134
137
      else
135
138
        result := LOC_REGISTER;
136
 
    procvardef:
137
 
      if (po_methodpointer in tprocvardef(p).procoptions) then
138
 
        result := LOC_REFERENCE
139
 
      else
140
 
        result := LOC_REGISTER;
141
139
    filedef:
142
140
      result := LOC_REGISTER;
143
141
    arraydef:
171
169
    variantdef,
172
170
    formaldef:
173
171
      result := true;
 
172
    procvardef,
174
173
    recorddef:
175
174
      result :=
176
175
        ((varspez = vs_const) and
190
189
      result := (tsetdef(def).settype <> smallset);
191
190
    stringdef:
192
191
      result := tstringdef(def).stringtype in [st_shortstring, st_longstring];
193
 
    procvardef:
194
 
      result := po_methodpointer in tprocvardef(def).procoptions;
195
192
  end;
196
193
end;
197
194
 
386
383
        { make sure we don't lose whether or not the type is signed }
387
384
        if (paracgsize <> OS_NO) and (paradef.typ <> orddef) then
388
385
          paracgsize := int_cgsize(paralen);
389
 
        if (paracgsize = OS_NO) then
 
386
        if (paracgsize in [OS_NO,OS_128,OS_S128]) then
390
387
          paraloc^.size := OS_INT
391
388
        else 
392
389
          paraloc^.size := paracgsize;