Watch, Follow, &
Connect with Us

Please visit our new home
community.embarcadero.com.

Public Report
Report From: Delphi Prism/Compiler    [ Add a report in this area ]  
Report #:  96083   Status: Need Feedback
MSBuild exception in RemObjects.Oxygene.targets
Project:  Embarcadero Prism Build #:  .873
Version:    2010.1 Submitted By:   Andreas Flucke
Report Type:  Basic functionality failure Date Reported:  7/12/2011 12:50:47 AM
Severity:    Infrequently encountered problem Last Updated: 9/1/2011 2:36:30 AM
Platform:    All versions Internal Tracking #:  
Resolution: Need More Info (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description

Sometimes when compiling a project via msbuild i get an index out of range exception
(See Steps)

I cannot further track this down (seems to be oxfuscated :-)

--------------

I could reproduce this with the Cmdline compiler too, so that seems to have nothing to do with msbuild.

It appears after a #96080 related followup error.

-------------------------

Changed the Stacktrace according to .895

Last lines are: (lines in Steps are cutted)

   bei RemObjects.Oxygene.Code.BaseVisitor.VisitImplementation(Q element)
   bei F.O.o.VisitImplementation(Q A)
   bei RemObjects.Oxygene.Code.BaseVisitor.VisitFile(O element)
   bei F.O.o.VisitFile(O A)
   bei F.O.R()
   bei F.O.G()

---------------------------------

After spending a whole day for tracking this down i added
two sources into Steps

Unit Settings is to be compiled as library assembly which is to be referenced by Unit TestErr

This leads to the described internal exception

----------------------------------------

Seems to be resolved with .901
(But there's seemingly nobody who cares about my Bugs)
Steps to Reproduce:
To be compiled as library assembly
---------------------------------------------------------
unit Settings;

interface

type
  IType= public(ii_Property=3,ii_Event=4,ii_Field=5,ii_PropSetter=16);
              
implementation
end.

--------------------------------------------------------------------
Referencing this library with
--------------------------------------------------------------------
unit TestErr;

interface

uses  Settings;

implementation

function IsStatic(ii:integer):boolean;
begin
  result:=not (ii in [ord(IType.ii_Field),ord(IType.ii_Event),
                      ord(IType.ii_Property),ord(IType.ii_PropSetter)]);
end;

end.
Workarounds
None
Attachment
None
Comments

None

Server Response from: ETNACODE01