PR# 14750 c compiler behaves differently than eiffel on "like" return types

Problem Report Summary
Submitter: soapy2357
Category: C Compilation
Priority: Medium
Date: 2008/08/21
Class: Bug
Severity: Serious
Number: 14750
Release: 6.2
Confidential: No
Status: Analyzed
Responsible: manus_eiffel
Environment: EiffelStudio 6.2 on Windows XP with Microsoft Visual Studio .Net 2003
Synopsis: c compiler behaves differently than eiffel on "like" return types

The attached snippet works when melted. C compiling it results in "pointer can only be subtracted from another pointer".
To Reproduce
Compile the attached snippet.
Problem Report Interactions
From:larryl    Date:2009/07/02    Download   
This bug is reproducible in Eiffel Studio GPL Edition - linux-x86.

The output of C compile is:

Preparing C compilation
Compiling C code in E1
Compiling C code in C1
In file included from big_file_C1_c.c:80:
ap25.c: In function â??F25_549â??:
ap25.c:77: error: invalid operands to binary - (have â??intâ?? and â??EIF_REFERENCEâ??)
make[1]: *** [big_file_C1_c.o] Error 1
make: *** [C1/Cobj1.o] Error 2

From:manus_eiffel    Date:2008/08/26    Status: Analyzed    Download   
Added eweasel test#ccomp077.

From:soapy2357    Date:2008/08/21    Download   
Attachments for problem report #14750