Borland®
Shop
Products Downloads Services Support Partners News & Events Company Community
Delphi
Documentation
Support

Additional Resources
Technology Partners
Books
Community

 DELPHI DEVELOPER SUPPORT

Delphi 3 update and patch
Enhancements and Fixes

COMPILER SECTION

Areas of concentration under: compiler


Area: compiler\code generation\optimization

Reference Number: 131 (Published: 03/17/98)
Status: Fixed
Date Reported: 06/05/97
Severity: Serious
Type: Minor Functionality Failure

Problem:

This code will generate a C1376 compiler error:

library YodaQ;
uses
  DB,
  DBTables,
  StdCtrls,
  Forms;

type
   TVariableQuestionnaire = record
      Selfa         : integer;
      sz2           : array[00..05] of string;
      sz3           : array[00..05] of string;
   end;

  TFormQE = class(TForm)   // TFormQE
    aptr : TButton;
  end;

procedure TFormQE_Memo1Affichage(var dmQ: 
TQuery;
  var oVQ: TVariableQuestionnaire;var f  : 
TFormQE);
begin
  
dmQ.Locate('Theme',VarArrayOf([oVQ.sz2[oVQ.Self
a],oVQ.sz3[oVQ.Selfa]])
  ,[loPartialKey]);
  while (((f=nil)) and (not (f.aptr=nil)))do;
end;  // < --- internal error : C1376

end.

Comments:
if the procedure is sandwiched between the {$O-} 
and { $0+} the problems disappear.

Area: compiler\code generation\optimization

Reference Number: 83 (Published: 03/16/98)
Status: Fixed
Date Reported: 04/18/97
Severity: Commonly Encountered
Type: Crash

Problem:

Internal compiler error: C1376 when compiling 

With optimizations on. It compiles fine with 
optimization off.

CODE:
unit Unit2;

interface

uses
  Windows, Classes, Controls;

type
  TvgState = (vgSelected, vgMarked);
  TvgCellState = set of TvgState;

  TvgCell = Record
    vgState    : TvgCellState;
    vgCellDate : Double;
  end; {TvgCell}

  TvgCells = Array [0..10, 0..10] of TvgCell;

  TVGCalendar = class(TCustomControl)
  private
    FvgColWidth: Integer;
    FvgRowHeight: Integer;
    FvgHeaderHeight: Integer;
    vgCells: TvgCells;
    procedure ShiftSelect(StartCol, StartRow, 
EndCol, EndRow: Integer);
  end;

implementation

procedure TVGCalendar.ShiftSelect(StartCol, 
StartRow, EndCol, EndRow: Integer);
var
  StartIndex, EndIndex: Integer;
  I: Integer;
  ACol, ARow: Integer;
  ARect: TRect;

begin
  StartIndex := StartRow + StartCol;
  EndIndex := EndRow;

  for I := 1 to 2 do
  begin
    ARow := 1;
    ACol := 1;
  end;

  for I := StartIndex to EndIndex do
  begin
    ARow := I;
    ACol := I - ARow;

    if not (vgSelected in vgCells[ACol, 
ARow].vgState) then
    begin
      vgCells[ACol, ARow].vgState := vgCells[ACol, 
ARow].vgState + [vgSelected];
      ARect := Bounds( ACol * FvgColWidth, ARow * 
FvgRowHeight + FvgHeaderHeight, FvgColWidth, 
FvgRowHeight);
    end;
  end;
end;    { < -- compiler says error C1376 here!!}

Area: compiler\code generation\optimization

Reference Number: 106 (Published: 03/16/98)
Status: Fixed
Date Reported: 05/13/97
Severity: Commonly Encountered
Type: Crash

Problem:

This code causes an Access Violation
in DCC.DLL.

unit Prob1;

interface

type
  T1 = ( A, B, C );
  T2 = B .. C;
const
  K = low ( T2 );  

implementation

end.



NOTE: These listings are for informational use only. It is not intended for use when calling Inprise's Developer Support Department.

 
Site Map Search Contact