Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/CodeGuard/CodeGuard 32    [ Add a report in this area ]  
Report #:  52505   Status: Closed
F1004 Internal compiler error
Project:  C++Builder Build #:  11.0.2804.9245
Version:    11.0 Submitted By:   Gerhard Hartz
Report Type:  Minor failure / Design problem Date Reported:  9/25/2007 7:21:05 AM
Severity:    Infrequently encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All platforms Internal Tracking #:   255201
Resolution: Fixed (Resolution Comments) Resolved in Build: : 11.0.2852.9797
Duplicate of:  None
Voting and Rating
Overall Rating: (2 Total Ratings)
4.00 out of 5
Total Votes: None
Description
I activated CodeGuard in my project and the following error occured.

[BCC32 Error] TCncProtoFilterDialog.cpp(159): F1004 Internal compiler error at 0x593ec22 with base 0x58b0000
Steps to Reproduce:
I activated CodeGuard in my project and the error occured.
Sorry, but i cannot reproduce the problem with a small test project.
Workarounds
None
Attachment
dataobjects.zip
Comments

David Dean at 9/25/2007 9:36:38 AM -
There is a similar report in RAID where codeguard must be turned on and _RTLDLL must be defined to get the error. Is this the case for you?

Gerhard Hartz at 9/26/2007 1:08:25 AM -
I think so. See my project file as attachment and activate debug_build. Error always occured, when the compiler expanding a bigger macro in the cpp file.
Perhaps you remember the DEFINE_RESPONCE_TABLE1 macro from owl.

code:
DEFINE_RESPONSE_TABLE1( TCncProtoFilterDialog, INHERITED )
  EV_CHILD_NOTIFY_ALL_CODES( IDC_LISTBOX_FILTER, handleFilterListBox ),
  EV_COMMAND( IDOK,     handleOk       ),
  EV_COMMAND( IDCANCEL, handleCancel   ),
  EV_COMMAND( IDABORT,  handleAbort    ),
  EV_COMMAND( IDAPPLY,  handleApply    ),
  EV_COMMAND( IDDELETE, handleDelete   ),
  EV_COMMAND( IDMARK,   handleMark     ),
  EV_COMMAND( IDUNMARK, handleUnmark   ),
  EV_COMMAND( IDMARKALL,   handleMarkAll     ),
  EV_COMMAND( IDUNMARKALL, handleUnmarkAll   ),
END_RESPONSE_TABLE;

Bo Jonsson at 10/9/2007 1:41:02 AM -
I can reproduce this problem:

1. Create a new 'Dynamic-link library', Type C, Multithreaded
2. In function DllEntryPoint add: fprintf(stderr,"hello");  (and add '#include <stdio.h>' in File1.c)
3. Turn on Codeguard option 'Monitor inline pointer access'
4. Build/Make => [BCC32 Error] File1.c(31): F1004 Internal compiler error at 0x566ec22 with base 0x55e0000

Problem does not occurr if Dynamicc RTL is turned off or if stderr/stdout is not used, e.g:
     printf("hello")
  or
     File *fs;
     fprintf(fs,"hello");

Beomyong Park at 11/18/2007 6:15:03 PM -
[similar case description]

this simple code makes the Internal compiler error as  follows:

#pragma argsused
int main (int argc, char* argv[])
{
fprintf (stderr, "%s ", "est.dat");
return 0;
}
---------
CodeGuard(tm) option
- (Checked) Monitor inline pointer accesses
- (Unchecked)Monitor global and stack data accesses
- (Unchecked)Monitor this' pointer on member function entry

Compile error occurs with Message:
[BCC32 Error] File1.cpp(16): F1004 Internal compiler error at 0x674ec22 with base 0x66c0000

Server Response from: ETNACODE01