http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49620
Summary: piece of code from modification to dvblast but cant get it to compile and run correctly Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: joo...@btinternet.com Created attachment 24664 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24664 bug report I have a function that only works when i add another function call inbetween. block_t *file_Read( mtime_t i_poll_timeout ) { i_wallclock = mdate(); { block_t *p_ts, **pp_current = &p_ts; int i, i_len; if ( !i_last_packet ) { switch (i_print_type) { case PRINT_XML: printf("<STATUS type=\"lock\" status=\"1\"/>\n"); break; default: printf("frontend has acquired lock\n" ); } } i_last_packet = i_wallclock; i_len = 0; for ( i = 0; i < i_bufsize / TS_SIZE; i++ ) { *pp_current = block_New(); i_len2 = fread( (*pp_current)->p_ts, 1, TS_SIZE, file_input); // msg_Warn( NULL, "read from file %s (%s) %d %p", // filename, strerror(errno), i_len2, pp_current ); if ( i_len2 < 188 ) { if ( i_len2 < 188 ) { msg_Err( NULL, "couldn't read from file %s (%s) %d %p", filename, strerror(errno), i_len2, pp_current ); i_len = 0; break; } i_len++; pp_current = &(*pp_current)->p_next; } pp_current = &p_ts; while ( i_len && *pp_current ) { pp_current = &(*pp_current)->p_next; i_len--; } if ( *pp_current ) msg_Dbg( NULL, "partial buffer received" ); block_DeleteChain( *pp_current ); *pp_current = NULL; return p_ts; } return NULL; } Now the code above DOES not work in gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) or gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) Both machines are Ubuntu 64bit. If the commented out msg_Warn is uncommented then the code works and we get no error message Ive also run it through clang and came up with no errors joolz