Using custom qualifiers like __THROW

m. michal017@centrum.sk
Thu Jul 17 12:31:00 GMT 2003


Isn't throw() or throw a reserved keyword?
You can't override int or char or bool or void.. so you can't override throw.. ;)
That's how I understand it..
m.

On Thu, 17 Jul 2003 17:29:54 +0530
snodx@hotmail.com wrote:

>Dear list,
>
>I was browsing the stdio.h file, on my Redhat 8.0 machine, when
>I came across the following line:
>
>extern int fcloseall(void) __THROW;
>
>Now I know about fcloseall(void) but I was perturbed to see the term __THROW.
>After studying a bit I came to know that it actually expands to
>the function throw()
>
>I did not get the definition of throw() anywhere so left it that. So I asked
>to myself if a __THROW could be allowed after a function declaration why
>not something like __SNODX which expands to say a function like
>snodx().
>
>So I ran the command gcc -o snodx snodx.c where snodx.c contains:
>
>#include<stdio.h>                        LINE 1
>                                         LINE 2
>#define __SNODX void snodx(){return;}    LINE 3
>                                         LINE 4
>int square_func(int) __SNODX;            LINE 5
>                                         LINE 6
>int square_func(int l){return(l*l);}     LINE 7
>                                         ......
>int main()                               ......
>{                                        ......
> printf("%d\n",square_func());           ......
> return 0;                               ......
>}                                        ......
>
>I am getting the following compile-time errors
>
>5: parse error before '{' token
>
>5: declaration for parameter `snodx' but no such parameter
>
>5: number of arguments does'nt match
>cc1: prototype declaration
>
>What am I doing wrong here?
>
>Terms like __THROW do not appear in stdio.h of other compilers like Borland
>or Turbo C++ compilers
>
>Thanx in advance.
>
>Eagerly awaiting responses.
>
>SNODX
>
>PS: I searched Google for this but I am not getting anything. The search is
>    continuing
>
>



More information about the Gcc-help mailing list