Seriously whats up with compiler warnings? Warnings don't mean program failure, speciffically in this case my program works exactly as intended - beautifully I might add, but compiles with a healthy list of warnings.


As far as I've been concerned I've always considered compile warnings to be like "Hey, if you don't know what you're doing this could **** you up.." Of course I've always known what I was doing so I found them to be rediculous nagging.

So I am asking you, if you compile your programs, works exactly as intended, passes test cases out the wazoo, do you continue to modify the code eliminating "Warnings" ?



If you are curious, this is the list of warnings from my latest program. I'm not asking for help, I'm just asking for personal opinions.
C:\MINGW32\bin>gcc -o main.c main.exe
gcc: main.exe: No such file or directory
gcc: No input files

C:\MINGW32\bin>gcc -o main.exe main.c
main.c:45: warning: data definition has no type or storage class
main.c: In function `bTreeInit':
main.c:108: warning: assignment from incompatible pointer type
main.c:109: warning: assignment from incompatible pointer type
main.c: In function `bTreeAdd':
main.c:129: warning: passing arg 1 of `bTreeAdd' from incompatible pointer type
main.c:131: warning: passing arg 1 of `bTreeAdd' from incompatible pointer type
main.c: In function `bTreeSearch':
main.c:146: warning: passing arg 1 of `strlwr' discards `const' from pointer tar
get type
main.c:146: warning: passing arg 1 of `strcpy' discards `const' from pointer tar
get type
main.c:152: warning: passing arg 1 of `bTreeSearch' from incompatible pointer ty
pe
main.c:154: warning: passing arg 1 of `bTreeSearch' from incompatible pointer ty
pe
main.c: In function `bTreePreOrder':
main.c:162: warning: passing arg 1 of `bTreePreOrder' from incompatible pointer
type
main.c:163: warning: passing arg 1 of `bTreePreOrder' from incompatible pointer
type
main.c: In function `bTreeDepth':
main.c:174: warning: passing arg 1 of `bTreeDepth' from incompatible pointer typ
e
main.c:175: warning: passing arg 1 of `bTreeDepth' from incompatible pointer typ
e
main.c: In function `bTreeWordCount':
main.c:191: warning: passing arg 1 of `bTreeWordCount' from incompatible pointer
type
main.c:192: warning: passing arg 1 of `bTreeWordCount' from incompatible pointer
type
main.c: In function `bTreePreOrderPop':
main.c:214: warning: return from incompatible pointer type
main.c:216: warning: passing arg 1 of `bTreePreOrderPop' from incompatible point
er type
main.c:218: warning: assignment from incompatible pointer type
main.c:219: warning: return from incompatible pointer type
main.c:219: warning: function returns address of local variable
main.c:222: warning: passing arg 1 of `bTreePreOrderPop' from incompatible point
er type
main.c:224: warning: assignment from incompatible pointer type
main.c:225: warning: return from incompatible pointer type
main.c:225: warning: function returns address of local variable
main.c:231: warning: return from incompatible pointer type
main.c:231: warning: function returns address of local variable
main.c: In function `sDocumentAdd':
main.c:247: warning: passing arg 1 of `sDocumentAdd' from incompatible pointer t
ype
main.c: In function `sDocumentInit':
main.c:251: warning: assignment from incompatible pointer type
main.c: In function `sDocumentPrint':
main.c:272: warning: passing arg 1 of `sDocumentPrint' from incompatible pointer
type
main.c: In function `queryFile':
main.c:411: warning: assignment from incompatible pointer type