Watch, Follow, &
Connect with Us
Public Report
Report From: Kylix/Compiler/C++/Front-end/Language/Other    [ Add a report in this area ]  
Report #:  92139   Status: Closed
(Pulled) This code that assigns mixed types  to an array of AnsiString gets an internal compiler error.
struct
Project:  Kylix Build #:  5.6
Version:    1.0 Submitted By:   QC<->Raid Replicator Account
Report Type:  Crash / Data loss / Total failure Date Reported:  8/2/2000 12:00:00 AM
Severity:    Infrequently encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All platforms Internal Tracking #:   88518
Resolution: Fixed (Resolution Comments) Resolved in Build: : 5.6
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
This code that assigns mixed types  to an array of AnsiString gets an internal compiler error.
struct __declspec(delphireturn)
AnsiString
{
  AnsiString();
  AnsiString(int);
  ~AnsiString();
  int*D;
};
struct
B
{
  AnsiString f();
  __property AnsiString p={read=f};
};
void g(B*b)
{
  AnsiString s[]= {
    0,
    b->p,
    b->p
  };
}
Steps to Reproduce:
bcc32 -c 88518.cpp
//res:
Assertion failed ./88518.cpp(19) : varExpr->exprOp == O_ADR at ../../../bcc/indep/init.c(3064)

(Windows)
//res:
Fatal F1004 88518.cpp 21: Internal compiler error at 0x443bb8 with base 0x400000 in function g(B *)
Workarounds
None
Attachment
N
Comments

None

Server Response from: ETNACODE01