2021-01-27 07:09 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000658Frama-CPlug-in > jessiepublic2012-06-10 13:46
Reporterevdenis 
Assigned Tocmarche 
PrioritynormalSeverityfeatureReproducibilityalways
StatusassignedResolutionopen 
Product VersionFrama-C Boron-20100401 
Target VersionFixed in Version 
Summary0000658: loop assigns crash
Descriptionvoid
test( const unsigned char * const pattern, const unsigned int plen )
{
 long int bad_character[256];
    
 /*@
  @ loop invariant 0 <= i <= plen;
  @ loop variant plen - i;
  @ loop assigns *( bad_character + { pattern[k] | integer k ; 0 <= k < i } );
  @*/
 for( unsigned int i = 0; i < plen; ++i ) {
  bad_character[pattern[i]] = i;
 }

}

tester@ubuntu-fm:~/workspace/test6$ frama-c -jessie -jessie-atp gui test1.c
[kernel] preprocessing with "gcc -C -E -I. -dD test1.c"
[jessie] Starting Jessie translation
test1.c:10:[jessie] failure: Unexpected exception.
                  Please submit bug report (Ref. "Extlib.NotYetImplemented("Interp.terms Tcomprehension")").
[kernel] The full backtrace is:
         Raised at file "src/kernel/log.ml", line 506, characters 30-31
         Called from file "src/kernel/log.ml", line 500, characters 2-9
         Re-raised at file "src/kernel/log.ml", line 503, characters 8-9
         Called from file "src/lib/type.ml", line 746, characters 40-45
         Called from file "queue.ml", line 134, characters 6-20
         Called from file "src/kernel/boot.ml", line 50, characters 4-20
         Called from file "src/kernel/cmdline.ml", line 170, characters 4-8
         
         Plug-in jessie aborted because of an internal error.
         Please report as 'crash' at http://bts.frama-c.com

TagsNo tags attached.
Attached Files
  • c file icon test1.c (351 bytes) 2010-12-29 14:04 -
    void
    test( const unsigned char * const pattern, const unsigned int plen )
    {
    	long int bad_character[256];
    	
    	/*@
    	  @ loop invariant 0 <= i <= plen;
    	  @ loop variant plen - i;
          @ loop assigns *( bad_character + { pattern[k] | integer k ; 0 <= k < i } );
    	  @*/
    	for( unsigned int i = 0; i < plen; ++i ) {
    		bad_character[pattern[i]] = i;
    	}
    
    }
    
    c file icon test1.c (351 bytes) 2010-12-29 14:04 +

-Relationships
+Relationships

-Notes

~0003092

yakobowski (manager)

Thanks for your bug report. Definitions of set by comprehension are not currently implemented in Jessie.
+Notes

-Issue History
Date Modified Username Field Change
2010-12-29 14:04 evdenis New Issue
2010-12-29 14:04 evdenis Status new => assigned
2010-12-29 14:04 evdenis Assigned To => cmarche
2010-12-29 14:04 evdenis File Added: test1.c
2012-06-10 13:46 yakobowski Note Added: 0003092
2012-06-10 13:46 yakobowski Severity crash => feature
+Issue History