From: david DOT c DOT hoos DOT sr AT ada95 DOT com (David C. Hoos, Sr.) Subject: Re: A TINY BUG 6 Oct 1997 09:31:46 -0700 Message-ID: <01bcd272$8056fb20$928871a5.cygnus.gnu-win32@dhoos> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit To: , This is the kind of thing which compilers do not catch, because the problem is specific to the printf function which is a library unit, and not part of the language. In other words, as long as the first argument to printf is of type char *, then the function profile is matched. If the string to which that first parameter points is not a valid printf format string matching the other pritf parameters, the compiler doesn't know it. Furthermore, the string to which the first parameter of printf points can be (and often is) modified at run time, to fit the format to the occasion. If you want to catch this sort of problem at build time, you need to use "lint", and it is only able to catch certain things because of the possibility of run-time modification. Better yet, write your program in ada95, using the free gnat-3.10p1 compiler from ftp://ftp.cs.nyu.edu/pub/gnat/winnt David C. Hoos, Sr., david DOT c DOT hoos DOT sr AT ada95 DOT com -----Original Message----- From: Tage Westlund To: gnu-win32 AT cygnus DOT com Date: Monday, October 06, 1997 4:38 AM Subject: A TINY BUG >To gnu designers! >I have found that the following bad code gives "exception" at run >time instead of error message at compilation time (b18 Win95): > >#include >main(){ > printf("%s\n",sizeof(long)); >} >Tage > >- >For help on using this list (especially unsubscribing), send a message to >"gnu-win32-request AT cygnus DOT com" with one line of text: "help". > - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".