lkml.org 
[lkml]   [2004]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Don't return void types from void functions.
    Date
    On Wednesday 26 of May 2004 10:38, Denis Vlasenko wrote:
    > On Wednesday 26 May 2004 09:28, Jeff Garzik wrote:
    > > Linux Kernel Mailing List wrote:
    > > > diff -Nru a/drivers/net/tokenring/olympic.c
    > > > b/drivers/net/tokenring/olympic.c ---
    > > > a/drivers/net/tokenring/olympic.c 2004-05-25 23:06:49 -07:00 +++
    > > > b/drivers/net/tokenring/olympic.c 2004-05-25 23:06:49 -07:00 @@ -1806,7
    > > > +1806,7 @@
    > > >
    > > > static void __exit olympic_pci_cleanup(void)
    > > > {
    > > > - return pci_unregister_driver(&olympic_driver) ;
    > > > + pci_unregister_driver(&olympic_driver) ;
    > > > }
    > >
    > > Can we make gcc error out when it finds this?
    >
    > AFAIK new C++ standard allows this syntax.
    >
    > typedef int opaque;
    >
    > opaque f();
    > opaque g() { return f(); }
    >
    > Now imagine we need to change
    > -typedef int opaque;
    > +typedef void opaque;

    strict ISO C++ - yes,
    strict ISO C - no.

    # g++ -Wall -s -c void_ret.cpp -pedantic-errors

    # gcc -Wall -s -c void_ret.c -pedantic-errors
    void_ret.c: In function `g':
    void_ret.c:4: error: `return' with a value, in function returning void

    # gcc --version
    gcc (GCC) 3.4.0 SSP (PLD Linux)
    (...)

    --
    If you think of MS-DOS as mono, and Windows as stereo,
    then Linux is Dolby Digital and all the music is free...
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:03    [W:0.022 / U:210.804 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site