delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/04/19/16:59:05

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 <markus DOT rinne AT tut DOT fi>
To: cygwin AT cygwin DOT com
Subject: 1.7: snprintf() with gcc -std=c99: warning about implicit declaration
Message-ID: <alpine.LNX.2.00.0904192315360.3751@fenrir.sidaroth.foo>
User-Agent: Alpine 2.00 (LNX 1167 2008-08-23)
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <stdio.h>

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: <alpine DOT LNX DOT 2 DOT 00 DOT 0904200000350 DOT 3751 AT fenrir DOT sidaroth DOT foo>
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--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019