X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-3.0 required=5.0 tests=BAYES_00,J_CHICKENPOX_83,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Date: Mon, 20 Apr 2009 00:00:35 +0300 (EEST) From: Markus Rinne To: cygwin AT cygwin DOT com Subject: 1.7: snprintf() with gcc -std=c99: warning about implicit declaration Message-ID: User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463811583-1435378703-1240174842=:3751" Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com ---1463811583-1435378703-1240174842=:3751 Content-Type: TEXT/PLAIN; format=flowed; charset=ISO-8859-7 Content-Transfer-Encoding: 8BIT Hello, compiling C programs which use snprintf function with gcc option -std=c99 gives a warning about implicit declaration of snprintf. Should snprintf be declared by including stdio.h when using C99 standard? For example, with the following program in snprintf.c: #include int main(void) { char buf[10]; snprintf(buf, 10, "%i", 0); return 0; } Compiling with gcc-3 and gcc-4 gives these warnings: $ gcc-3 -std=c99 snprintf.c snprintf.c: In function `main': snprintf.c:6: warning: implicit declaration of function `snprintf' $ gcc-4 -std=c99 snprintf.c snprintf.c: In function ¡main¢: snprintf.c:6: warning: implicit declaration of function ¡snprintf¢ snprintf.c:6: warning: incompatible implicit declaration of built-in function ¡snprintf¢ Here are package versions checked with cygcheck -c: cygwin: 1.7.0-46 gcc-core: 3.4.4-999 gcc4-core: 4.3.2-2 It seems gcc defines __STRICT_ANSI__ when passed the -std=c99 option and the declaration of snprintf is enclosed in #ifndef __STRICT_ANSI__ in stdio.h. Markus Rinne ---1463811583-1435378703-1240174842=:3751 Content-Type: TEXT/PLAIN; charset=UTF-8; name=cygcheck.out Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=cygcheck.out DQ0KQ3lnd2luIENvbmZpZ3VyYXRpb24gRGlhZ25vc3RpY3MNDQpDdXJyZW50 IFN5c3RlbSBUaW1lOiBTdW4gQXByIDE5IDIxOjI0OjU4IDIwMDkNDQoNDQpX aW5kb3dzIFhQIFByb2Zlc3Npb25hbCBWZXIgNS4xIEJ1aWxkIDI2MDAgU2Vy dmljZSBQYWNrIDMNDQoNDQpQYXRoOglDOlxjeWd3aW4tMS43XHVzclxsb2Nh bFxiaW4NDQoJQzpcY3lnd2luLTEuN1xiaW4NDQoJQzpcY3lnd2luLTEuN1xi aW4NDQoJQzpcY3lnd2luLTEuN1x1c3JcWDExUjZcYmluDQ0KCUM6XFdJTkRP V1Ncc3lzdGVtMzINDQoJQzpcV0lORE9XUw0NCglDOlxXSU5ET1dTXFN5c3Rl bTMyXFdiZW0NDQoJQzpcUHJvZ3JhbSBGaWxlc1xUaGlua1BhZFxZaHRleXNh cHVvaGplbG1hdA0NCglDOlxQcm9ncmFtIEZpbGVzXENvbW1vbiBGaWxlc1xM ZW5vdm8NDQoJQzpcUHl0aG9uMjVcDQ0KCUM6XFdJTkRPV1Ncc3lzdGVtMzJc V2luZG93c1Bvd2VyU2hlbGxcdjEuMA0NCglDOlxQcm9ncmFtIEZpbGVzXExl bm92b1xDbGllbnQgU2VjdXJpdHkgU29sdXRpb24NDQoJQzpcUHJvZ3JhbSBG aWxlc1xJbnRlbFxXaUZpXGJpblwNDQoJQzpcUHJvZ3JhbSBGaWxlc1xUb3J0 b2lzZVNWTlxiaW4NDQoJQzpcb2hqZWxtYXRcT2dyZUNvbW1hbmRMaW5lVG9v bHMNDQoNDQpPdXRwdXQgZnJvbSBDOlxjeWd3aW4tMS43XGJpblxpZC5leGUg KG5vbnRzZWMpDQ0KVUlEOiAxMDA5KE1hcmt1cykgICAgICAgICBHSUQ6IDUx MyhFaSBtaXTk5G4pDQ0KMChyb290KSAgICAgICAgICAgICAgICAgICA1NDQo SuRyamVzdGVsbeRudmFsdm9qYXQpIDU0NShL5Hl0dORq5HQpDQ0KNTEzKEVp IG1pdOTkbikNDQoNDQpPdXRwdXQgZnJvbSBDOlxjeWd3aW4tMS43XGJpblxp ZC5leGUgKG50c2VjKQ0NClVJRDogMTAwOShNYXJrdXMpICAgICAgICAgR0lE OiA1MTMoRWkgbWl05ORuKQ0NCjAocm9vdCkgICAgICAgICAgICAgICAgICAg NTQ0KErkcmplc3RlbG3kbnZhbHZvamF0KSA1NDUoS+R5dHTkauR0KQ0NCjUx MyhFaSBtaXTk5G4pDQ0KDQ0KU3lzRGlyOiBDOlxXSU5ET1dTXHN5c3RlbTMy DQ0KV2luRGlyOiBDOlxXSU5ET1dTDQ0KDQ0KVVNFUiA9ICdNYXJrdXMnDQ0K UFdEID0gJy9ob21lL01hcmt1cycNDQpIT01FID0gJy9ob21lL01hcmt1cycN DQoNDQpIT01FUEFUSCA9ICdcRG9jdW1lbnRzIGFuZCBTZXR0aW5nc1xNYXJr dXMnDQ0KTUFOUEFUSCA9ICcvdXNyL2xvY2FsL21hbjovdXNyL3NoYXJlL21h bjovdXNyL21hbjonDQ0KT0dSRV9IT01FID0gJ2M6XG9oamVsbWF0XE9ncmVT REsnDQ0KQVBQREFUQSA9ICdDOlxEb2N1bWVudHMgYW5kIFNldHRpbmdzXE1h cmt1c1xBcHBsaWNhdGlvbiBEYXRhJw0NCkhPU1ROQU1FID0gJ2ZpZG9yaScN DQpSUiA9ICdDOlxQcm9ncmFtIEZpbGVzXExlbm92b1xSZXNjdWUgYW5kIFJl Y292ZXJ5Jw0NClRWVENPTU1PTiA9ICdDOlxQcm9ncmFtIEZpbGVzXENvbW1v biBGaWxlc1xMZW5vdm8nDQ0KVEVSTSA9ICdjeWd3aW4nDQ0KUFJPQ0VTU09S X0lERU5USUZJRVIgPSAneDg2IEZhbWlseSA2IE1vZGVsIDE1IFN0ZXBwaW5n IDEzLCBHZW51aW5lSW50ZWwnDQ0KV0lORElSID0gJ0M6XFdJTkRPV1MnDQ0K VFZUUFlESVIgPSAnQzpcUHJvZ3JhbSBGaWxlc1xDb21tb24gRmlsZXNcTGVu b3ZvXFB5dGhvbjI0Jw0NClRWVCA9ICdDOlxQcm9ncmFtIEZpbGVzXExlbm92 bycNDQpPTERQV0QgPSAnL3Vzci9iaW4nDQ0KVVNFUkRPTUFJTiA9ICdGSURP UkknDQ0KT1MgPSAnV2luZG93c19OVCcNDQpBTExVU0VSU1BST0ZJTEUgPSAn QzpcRG9jdW1lbnRzIGFuZCBTZXR0aW5nc1xBbGwgVXNlcnMnDQ0KTENfQUxM ID0gJ2VuX1VTLlVURi04Jw0NCiE6OiA9ICc6OlwnDQ0KVlM5MENPTU5UT09M UyA9ICdDOlxvaGplbG1hdFxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyA5LjBc Q29tbW9uN1xUb29sc1wnDQ0KVEVNUCA9ICcvY3lnZHJpdmUvYy9ET0NVTUV+ MS9NYXJrdXMvTE9DQUxTfjEvVGVtcCcNDQpDT01NT05QUk9HUkFNRklMRVMg PSAnQzpcUHJvZ3JhbSBGaWxlc1xDb21tb24gRmlsZXMnDQ0KVVNFUk5BTUUg PSAnTWFya3VzJw0NClBST0NFU1NPUl9MRVZFTCA9ICc2Jw0NClRQQ0NvbW1v biA9ICdDOlxQUk9HUkF+MVxUSElOS1Z+MVxQcmRDdHInDQ0KRlBfTk9fSE9T VF9DSEVDSyA9ICdOTycNDQpTWVNURU1EUklWRSA9ICdDOicNDQpVU0VSUFJP RklMRSA9ICdDOlxEb2N1bWVudHMgYW5kIFNldHRpbmdzXE1hcmt1cycNDQpQ UzEgPSAnXFtcZV0wO1x3XGFcXVxuXFtcZVszMm1cXVx1QFxoIFxbXGVbMzNt XF1cd1xbXGVbMG1cXVxuXCQgJw0NCkxPR09OU0VSVkVSID0gJ1xcRklET1JJ Jw0NClBST0NFU1NPUl9BUkNISVRFQ1RVUkUgPSAneDg2Jw0NCiFDOiA9ICdD OlxjeWd3aW4tMS43XGJpbicNDQpTV1NIQVJFID0gJ0M6XFNXU0hBUkUnDQ0K U0hMVkwgPSAnMScNDQpQQVRIRVhUID0gJy5DT007LkVYRTsuQkFUOy5DTUQ7 LlZCUzsuVkJFOy5KUzsuSlNFOy5XU0Y7LldTSDsuUFNDMScNDQpIT01FRFJJ VkUgPSAnQzonDQ0KUFJPTVBUID0gJyRQJEcnDQ0KQ09NU1BFQyA9ICdDOlxX SU5ET1dTXHN5c3RlbTMyXGNtZC5leGUnDQ0KVE1QID0gJy9jeWdkcml2ZS9j L0RPQ1VNRX4xL01hcmt1cy9MT0NBTFN+MS9UZW1wJw0NClNZU1RFTVJPT1Qg PSAnQzpcV0lORE9XUycNDQpQUklOVEVSID0gJ01pY3Jvc29mdCBYUFMgRG9j dW1lbnQgV3JpdGVyJw0NCkNWU19SU0ggPSAnL2Jpbi9zc2gnDQ0KUFJPQ0VT U09SX1JFVklTSU9OID0gJzBmMGQnDQ0KSU5GT1BBVEggPSAnL3Vzci9sb2Nh bC9pbmZvOi91c3Ivc2hhcmUvaW5mbzovdXNyL2luZm86Jw0NClBST0dSQU1G SUxFUyA9ICdDOlxQcm9ncmFtIEZpbGVzJw0NCk5VTUJFUl9PRl9QUk9DRVNT T1JTID0gJzInDQ0KU0VTU0lPTk5BTUUgPSAnQ29uc29sZScNDQpDT01QVVRF Uk5BTUUgPSAnRklET1JJJw0NCl8gPSAnL3Vzci9iaW4vY3lnY2hlY2suZXhl Jw0NCg0NCkhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXEN5Z251cyBTb2x1 dGlvbnNcQ3lnd2luDQ0KSEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcQ3ln bnVzIFNvbHV0aW9uc1xDeWd3aW5cbW91bnRzIHYyDQ0KSEtFWV9DVVJSRU5U X1VTRVJcU29mdHdhcmVcQ3lnbnVzIFNvbHV0aW9uc1xDeWd3aW5cUHJvZ3Jh bSBPcHRpb25zDQ0KSEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcQ3lnd2lu DQ0KSEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcQ3lnd2luXFByb2dyYW0g T3B0aW9ucw0NCkhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXEN5Z3dpblxz ZXR1cA0NCkhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXE1pY3Jvc29mdFxX aW5kb3dzXEN1cnJlbnRWZXJzaW9uXEV4cGxvcmVyXE1lbnVPcmRlclxTdGFy dCBNZW51MlxQcm9ncmFtc1xDeWd3aW4NDQogIChkZWZhdWx0KSA9ICh1bnN1 cHBvcnRlZCB0eXBlKQ0NCkhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FSRVxD eWdudXMgU29sdXRpb25zXEN5Z3dpbg0NCkhLRVlfTE9DQUxfTUFDSElORVxT T0ZUV0FSRVxDeWdudXMgU29sdXRpb25zXEN5Z3dpblxtb3VudHMgdjINDQog IChkZWZhdWx0KSA9ICcvY3lnZHJpdmUnDQ0KICBjeWdkcml2ZSBmbGFncyA9 IDB4MDAwMDAwMjINDQpIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcQ3ln bnVzIFNvbHV0aW9uc1xDeWd3aW5cbW91bnRzIHYyXC8NDQogIChkZWZhdWx0 KSA9ICdDOlxjeWd3aW4nDQ0KICBmbGFncyA9IDB4MDAwMDAwMGENDQpIS0VZ X0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcQ3lnbnVzIFNvbHV0aW9uc1xDeWd3 aW5cbW91bnRzIHYyXC91c3IvYmluDQ0KICAoZGVmYXVsdCkgPSAnQzpcY3ln d2luL2JpbicNDQogIGZsYWdzID0gMHgwMDAwMDAwYQ0NCkhLRVlfTE9DQUxf TUFDSElORVxTT0ZUV0FSRVxDeWdudXMgU29sdXRpb25zXEN5Z3dpblxtb3Vu dHMgdjJcL3Vzci9saWINDQogIChkZWZhdWx0KSA9ICdDOlxjeWd3aW4vbGli Jw0NCiAgZmxhZ3MgPSAweDAwMDAwMDBhDQ0KSEtFWV9MT0NBTF9NQUNISU5F XFNPRlRXQVJFXEN5Z251cyBTb2x1dGlvbnNcQ3lnd2luXFByb2dyYW0gT3B0 aW9ucw0NCkhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FSRVxDeWd3aW4NDQpI S0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcQ3lnd2luXFByb2dyYW0gT3B0 aW9ucw0NCkhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FSRVxDeWd3aW5cc2V0 dXANDQogIChkZWZhdWx0KSA9ICdDOlxjeWd3aW4tMS43Jw0NCg0NCm9iY2Fz ZWluc2Vuc2l0aXZlIHNldCB0byAxDQ0KDQ0KYzogIGhkICBOVEZTICAgICAz ODE1NE1iICA5MCUgQ1AgQ1MgVU4gUEEgRkMgICAgIFdpbmRvd3MNDQpkOiAg Y2QgICAgICAgICAgICAgTi9BICAgIE4vQSAgICAgICAgICAgICAgICAgICAg DQ0KZTogIGhkICBGQVQzMiAgICAgNTM4Nk1iICA2OSUgQ1AgICAgVU4gICAg ICAgICAgIFBBTEFVVFVTDQ0KZjogIGNkICAgICAgICAgICAgIE4vQSAgICBO L0EgICAgICAgICAgICAgICAgICAgIA0NCg0NCkM6L2N5Z3dpbi0xLjcgICAg ICAvICAgICAgICAgIHN5c3RlbSAgYmlubW9kZQ0NCkM6XGN5Z3dpbi0xLjdc YmluICAvdXNyL2JpbiAgIHN5c3RlbSAgYmlubW9kZQ0NCkM6XGN5Z3dpbi0x LjdcbGliICAvdXNyL2xpYiAgIHN5c3RlbSAgYmlubW9kZQ0NCi4gICAgICAg ICAgICAgICAgICAvY3lnZHJpdmUgIHVzZXIgICAgYmlubW9kZSxjeWdkcml2 ZQ0NCg0NCkZvdW5kOiBDOlxjeWd3aW4tMS43XGJpblxhd2suZXhlDQ0KRm91 bmQ6IEM6XGN5Z3dpbi0xLjdcYmluXGF3ay5leGUNDQogLT4gQzpcY3lnd2lu LTEuN1xiaW5cZ2F3ay5leGUNDQpGb3VuZDogQzpcY3lnd2luLTEuN1xiaW5c YmFzaC5leGUNDQpGb3VuZDogQzpcY3lnd2luLTEuN1xiaW5cYmFzaC5leGUN DQpGb3VuZDogQzpcY3lnd2luLTEuN1xiaW5cY2F0LmV4ZQ0NCkZvdW5kOiBD OlxjeWd3aW4tMS43XGJpblxjYXQuZXhlDQ0KRm91bmQ6IEM6XGN5Z3dpbi0x LjdcYmluXGNwLmV4ZQ0NCkZvdW5kOiBDOlxjeWd3aW4tMS43XGJpblxjcC5l eGUNDQpGb3VuZDogQzpcY3lnd2luLTEuN1xiaW5cY3BwLmV4ZQ0NCkZvdW5k OiBDOlxjeWd3aW4tMS43XGJpblxjcHAuZXhlDQ0KIC0+IEM6XGN5Z3dpbi0x LjdcZXRjXGFsdGVybmF0aXZlc1xjcHANDQogLT4gQzpcY3lnd2luLTEuN1xi aW5cY3BwLTMuZXhlDQ0K ---1463811583-1435378703-1240174842=:3751 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ---1463811583-1435378703-1240174842=:3751--