Euphoria Ticket #667: Invalid else statement

The 4.1 version I am translating is: 80987b5bd57d.

Here the condition is a dll_option and length() in buildsys.e.

if dll_option and length( user_pic_library ) then 
	user_library = user_pic_library 
end if 

The code generated is:

    /** buildsys.e:329		if dll_option and length( user_pic_library ) then*/ 
    if (_57dll_option_41521 == 0) { 
        goto L1; // [49] 72 
    } 
    _23404 = 0; 
    { 
        _23404 = NOVALUE; 
        goto L1; // [59] 72 
    } 
    else 
    { 
        _23404 = NOVALUE; 
    } 
 
    /** buildsys.e:330			user_library = user_pic_library*/ 
    RefDS(_57user_pic_library_41534); 
    DeRef(_57user_library_41533); 
    _57user_library_41533 = _57user_pic_library_41534; 

Notice here _57user_pic_library41534 is not referenced for its length.

Details

Type: Bug Report Severity: Blocking Category: Translator
Assigned To: mattlewis Status: Fixed Reported Release: 4.1:80987b5bd57d
Fixed in SVN #: View VCS: none Milestone: 4.0.3

1. Comment by mattlewis May 21, 2011

Yes, I know how to fix this, but haven't gotten to it yet. The issue also exists in 4.0.2.

2. Comment by mattlewis May 22, 2011

See: hg:euphoria/rev/0df5a370c5b5

changeset: 4920:0df5a370c5b5 branch: 4.0 user: Matt Lewis date: Sun May 22 07:01:19 2011 -0400 files: docs/release/4.0.3.txt description:

  • release notes for ticket 667

3. Comment by mattlewis May 22, 2011

See: hg:euphoria/rev/f5fbe52eb6ac

changeset: 4921:f5fbe52eb6ac tag: tip parent: 4914:80987b5bd57d parent: 4920:0df5a370c5b5 user: Matt Lewis date: Sun May 22 07:25:13 2011 -0400 files: source/be_socket.c source/compile.e tests/t_socket.e description:

  • merge 4.0 changes into the trunk
  • fixes ticket 667

Search



Quick Links

User menu

Not signed in.

Misc Menu