http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54180
--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-10 15:04:10 UTC --- Also, you declare SQL_date_begin[10] then fill it with 11 characters (YYYY-MM-DD plus the numm terminator) and do the same with SQL_date_end This is horrible, horrible code and should be deleted immediately. (In reply to comment #5) > it should work without problems, because of programming language syntax which > is a standart. > But it works so, that SQL1 partially overwrites value of SQL_date_begin and > values are > not such as expected. Please check the standard before arguing about it. The C standard states that for the functions in <string.h> "If an array is accessed beyond the end of an object, the behavior is undefined." To understand undefined behaviour see: http://en.wikipedia.org/wiki/Undefined_behavior > I never heard, that the "C" language is outdated. The "C++" is just another > standart which includes > the syntax of "C". Noone said it's outdated, what on earth are you talking about? > So I consider it is as an GCC error which should be fixed, also because all > standart libraries > come along with GCC. No, the strcat and strcpy functions come from the C library provided by your OS, they do not come from GCC. If you still believe there is a bug then maybe you should report it to Microsoft instead.