* disable fpc_chararray_enum for now on avr because the register allocator cannot currently handle it

git-svn-id: trunk@30380 -
This commit is contained in:
florian 2015-03-29 19:46:02 +00:00
parent e4b8478da4
commit 98856437b2
2 changed files with 13 additions and 0 deletions

View File

@ -187,7 +187,14 @@ procedure fpc_AnsiStr_Currency(c : currency;len,fr : SizeInt;out s : RawByteStri
{$ifndef FPUNONE}
procedure fpc_chararray_Float(d : ValReal;len,fr,rt : SizeInt;out a : array of char); compilerproc;
{$endif}
{$ifndef CPUAVR}
{ currently, the avr code generator fails on this procedure, so we disable it,
this is not a good solution but fixing compilation of this procedure for
avr is hard, requires significant changes to the register allocator to take
care of different register classes }
procedure fpc_chararray_enum(ordinal,len:sizeint;typinfo,ord2strindex:pointer;out a : array of char);compilerproc;
{$endif CPUAVR}
procedure fpc_chararray_bool(b : boolean;len:sizeint;out a : array of char);compilerproc;
{$ifdef FPC_HAS_STR_CURRENCY}
procedure fpc_chararray_Currency(c : Currency;len,fr : SizeInt;out a : array of char);compilerproc;

View File

@ -990,6 +990,11 @@ end;
{$endif}
{$ifndef FPC_STR_ENUM_INTERN}
{ currently, the avr code generator fails on this procedure, so we disable it,
this is not a good solution but fixing compilation of this procedure for
avr is hard, requires significant changes to the register allocator to take
care of different register classes }
{$ifndef CPUAVR}
procedure fpc_chararray_enum(ordinal,len:sizeint;typinfo,ord2strindex:pointer;out a : array of char);compilerproc;
var
ss : shortstring;
@ -1002,6 +1007,7 @@ begin
maxlen:=high(a)+1;
fpc_shortstr_chararray_intern_charmove(ss,a,maxlen);
end;
{$endif CPUAVR}
{$endif not FPC_STR_ENUM_INTERN}
procedure fpc_chararray_bool(b : boolean;len:sizeint;out a : array of char);compilerproc;