[Bug c/31977] New: can return OK from "int main()" without a return statement by using a goto before the return

2007-05-17 Thread bmcfadden at cdp dot com
I'm using gcc 3.4.5, and I was looking into a weird condition.  The following
program compiles OK:

#include 
int alloc()
{
return 0;
}
int main(int argc, char* argv[])
{
   printf("Testing!\n");
   if(alloc() == 0)goto Radhe;
   return 0;
Radhe:
 printf("Hello\n");
}

The result is a program which prints "Testing", then "Hello", and then exits. 
I and a few other people expect that the compiler would generate an error
during compile, because main should return an int, and not all code paths have
a return statement; however, both gcc and msvc are compiling this OK.

added note: this bug was recently discussed on the NTDEV mailing list.


-- 
   Summary: can return OK from "int main()" without a return
statement by using a goto before the return
   Product: gcc
   Version: 3.4.5
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bmcfadden at cdp dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31977



[Bug c/31977] can return OK from "int main()" without a return statement by using a goto before the return

2007-05-17 Thread bmcfadden at cdp dot com


--- Comment #1 from bmcfadden at cdp dot com  2007-05-17 16:48 ---
Created an attachment (id=13571)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13571&action=view)
The file from -save-temps


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31977



[Bug c/31977] can return OK from "int main()" without a return statement by using a goto before the return

2007-05-17 Thread bmcfadden at cdp dot com


--- Comment #2 from bmcfadden at cdp dot com  2007-05-17 16:52 ---
Created an attachment (id=13572)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13572&action=view)
the assembly (.s) file


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31977



[Bug c/31977] can return OK from "int main()" without a return statement by using a goto before the return

2007-05-17 Thread bmcfadden at cdp dot com


--- Comment #3 from bmcfadden at cdp dot com  2007-05-17 16:54 ---
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.5/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)


-- 

bmcfadden at cdp dot com changed:

   What|Removed |Added

 CC||bmcfadden at cdp dot com
   GCC host triplet||i386-redhat-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31977