Subversion Repositories tendra.SVN

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<!-- Crown Copyright (c) 1998 -->
<HTML>
<HEAD>
<TITLE>C Checker Reference Manual: Summary of the pragma statements</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#400080" ALINK="#FF0000">
<A NAME=S130>
<H1>C Checker Reference Manual</H1>
<H3>January 1998</H3>
<A HREF="tdfc19.html"><IMG SRC="../images/next.gif" ALT="next section"></A>
<A HREF="tdfc17.html"><IMG SRC="../images/prev.gif" ALT="previous section"></A>
<A HREF="tdfc1.html"><IMG SRC="../images/top.gif" ALT="current document"></A>
<A HREF="../index.html"><IMG SRC="../images/home.gif" ALT="TenDRA home page">
</A>
<IMG SRC="../images/no_index.gif" ALT="document index"><P>

<HR>
<H1>D  Summary of the pragma statements</H1>
<OL>
<LI><CODE><EM>pragma_syntax:</EM></CODE>
<PRE>
        #pragma TenDRA <EM>tendra_pragma</EM>
        #pragma token <EM>token_pragma</EM>
        #pragma <EM>token_operation</EM>
        #pragma <EM>integer_pragma</EM>
</PRE>
<LI><CODE><EM>tendra_pragma:</EM></CODE>
<PRE>
        begin <A HREF="tdfc5.html#13">==&gt;</A>
        begin <EM>name</EM> environment <EM>identifier</EM> </A>
        declaration block <EM>identifier</EM> begin <A HREF="tdfc21.html#6">==&gt;</A>
        declaration block end <A HREF="tdfc21.html#6">==&gt;</A>
        directory <EM>name</EM> use environment <EM>identifier</EM>
        use environment <EM>identifier</EM>
        end <A HREF="tdfc5.html#13">==&gt;</A>
        <EM>analysis_spec</EM>
        <EM>function_pars</EM> <A HREF="tdfc6.html#32">==&gt;</A>
        keyword <EM>identifier</EM> for <EM>keyword_spec</EM>
        type <EM>identifier</EM> for <EM>type_spec</EM>
        <EM>check_pragma</EM>
        <EM>variable_pragma</EM>
        <EM>dialect_pragma</EM>
</PRE>
<LI><CODE><EM>analysis_spec:</EM></CODE>
<PRE>
        complete struct/union analysis <EM>state</EM> <A HREF="tdfc11.html#4">==&gt; </A>
        conversion <EM>conv_list</EM> allow <A HREF="tdfc22.html#2">==&gt;</A>
        conversion analysis <EM>conversion_spec</EM> <A HREF="tdfc6.html#2">==&gt;</A>
        discard analysis <EM>discard_spec</EM> <A HREF="tdfc8.html#36">==&gt;</A>
        enum switch analysis <EM>state</EM> <A HREF="tdfc11.html#2">==&gt;</A>
        fall into case <EM>permit</EM> <A HREF="tdfc8.html#6">==&gt;</A>
        function pointer as pointer <EM>permit</EM> <A HREF="tdfc6.html#11">==&gt;</A>
        integer operator analysis <EM>state</EM> <A HREF="tdfc7.html#18">==&gt;</A>
        integer overflow analysis <EM>state</EM> <A HREF="tdfc7.html#14">==&gt;</A>
        nested comment analysis <EM>state</EM> <A HREF="tdfc10.html#45">==&gt;</A>
        operator precedence analysis <EM>state</EM> <A HREF="tdfc8.html#15">==&gt;</A>
        unreachable code <EM>permit</EM> <A HREF="tdfc8.html#2">==&gt;</A>
        variable analysis <EM>state</EM> <A HREF="tdfc8.html#2">==&gt;</A>
        variable hiding analysis <EM>state</EM> <A HREF="tdfc11.html#6">==&gt;</A>
        weak prototype analysis <EM>state</EM> <A HREF="tdfc6.html#20">==&gt;</A>
</PRE>
<LI><CODE><EM>conversion_spec:</EM></CODE>
<PRE>
        <EM>empty</EM>
        ( int-int ) <A HREF="tdfc6.html#5">==&gt;</A>
        ( int-int explicit ) <A HREF="tdfc6.html#5">==&gt;</A>
        ( int-int implicit ) <A HREF="tdfc6.html#5">==&gt;</A>
        ( int-enum implicit) <A HREF="tdfc6.html#5">==&gt;</A>
        (enum-int implicit) <A HREF="tdfc6.html#5">==&gt;</A>
        ( int-pointer ) <A HREF="tdfc6.html#8">==&gt;</A>
        ( int-pointer explicit ) <A HREF="tdfc6.html#8">==&gt;</A>
        (int-pointer implicit ) <A HREF="tdfc6.html#8">==&gt;</A>
        ( pointer-int ) <A HREF="tdfc6.html#8">==&gt;</A>
        ( pointer-int explicit ) <A HREF="tdfc6.html#8">==&gt;</A>
        ( pointer-int implicit ) <A HREF="tdfc6.html#8">==&gt;</A>
        ( pointer-pointer ) <A HREF="tdfc6.html#11">==&gt;</A>
        ( pointer-pointer explicit ) <A HREF="tdfc6.html#11">==&gt;</A>
        ( pointer-pointer implicit ) <A HREF="tdfc6.html#11">==&gt;</A>
</PRE>
<LI><CODE><EM>discard_spec:</EM></CODE>
<PRE>
        <EM>empty</EM>
        ( function return ) <A HREF="tdfc8.html#38">==&gt;</A>
        ( static ) <A HREF="tdfc8.html#42">==&gt;</A>
        ( value ) <A HREF="tdfc8.html#40">==&gt;</A>
        <LI><EM>function_pars:</EM>
        argument <EM>type_name</EM> as <EM>type_name</EM> <A HREF="tdfc6.html#32">==&gt; </A>
        argument <EM>type_name</EM> as ... <A HREF="tdfc6.html#32">==&gt;</A>
        extra ... <EM>permit</EM> <A HREF="tdfc6.html#32">==&gt;</A>
</PRE>
<LI><CODE><EM>keyword_spec:</EM></CODE>
<PRE>
        discard value <A HREF="tdfc8.html#44">==&gt;</A>
        discard variable <A HREF="tdfc8.html#26">==&gt;</A>
        exhaustive <A HREF="tdfc8.html#32">==&gt;</A>
        fall into case <A HREF="tdfc8.html#6">==&gt;</A>
        set <A HREF="tdfc8.html#29">==&gt;</A>
        set reachable <A HREF="tdfc8.html#2">==&gt;</A>
        set unreachable <A HREF="tdfc8.html#2">==&gt;</A>
        type representation <A HREF="tdfc7.html#4">==&gt;</A>
        weak <A HREF="tdfc6.html#20">==&gt;</A>
</PRE>
<LI><CODE><EM>type_spec:</EM></CODE>
<PRE>
        bottom <A HREF="tdfc8.html#34">==&gt;</A>
        ... printf <A HREF="tdfc6.html#23">==&gt;</A>
        ... scanf <A HREF="tdfc6.html#23">==&gt;</A>
</PRE>
<LI><CODE><EM>check_pragma:</EM></CODE>
<PRE>
        implicit function declaration <EM>state</EM> <A HREF="tdfc6.html#30">==&gt;</A>
        incompatible interface declaration <EM>permit</EM> <A HREF="tdfc21.html#1">==&gt;
</A>
        incompatible void return <EM>permit</EM> <A HREF="tdfc6.html#25">==&gt;</A>
</PRE>
<LI><CODE><EM>variable_pragma:</EM></CODE>
<PRE>
        discard <EM>identifier</EM> <EM>separator</EM> <A HREF="tdfc8.html#26">==&gt; </A>
        preserve <EM>identifier_list</EM> <A HREF="tdfc8.html#46">==&gt;</A>
        set identifier <EM>separator</EM> <A HREF="tdfc8.html#29">==&gt;</A>
        suspend static <EM>identifier_list</EM> <A HREF="tdfc8.html#46">==&gt;</A>
        exhaustive <A HREF="tdfc8.html#32">==&gt;</A>
</PRE>
<LI><CODE><EM>separator:</EM></CODE>
<PRE>
        ;
        ,
</PRE>
<LI><CODE><EM>identifier_list:</EM></CODE>
<PRE>
        <EM>identifier</EM>
        <EM>identifier</EM> <EM>identifier_list</EM>
</PRE>
<LI><CODE><EM>dialect_pragma:</EM></CODE>
<PRE>
        ++ <A HREF="tdfc10.html#56">==&gt;</A>
        assignment as bool <EM>permit</EM> <A HREF="tdfc8.html#11">==&gt;</A>
        bitfield overflow <EM>permit</EM> <A HREF="tdfc7.html#14">==&gt;</A>
        block function static <EM>permit</EM> <A HREF="tdfc10.html#15">==&gt;</A>
        character <EM>set_sign</EM> <A HREF="tdfc10.html#9">==&gt;</A>
        character escape overflow <EM>permit</EM> <A HREF="tdfc7.html#14">==&gt;</A>
        compatible type : char * == void * : <EM>permit</EM> <A HREF="tdfc6.html#11">==&gt; </A>
        conditional lvalue <EM>dallow</EM> <A HREF="tdfc10.html#29">==&gt;</A>
        const conditional <EM>permit</EM> <A HREF="tdfc8.html#13">==&gt;</A>
        dollar as ident <EM>dallow</EM> <A HREF="tdfc10.html#39">==&gt;</A>
        directive <EM>pp_directive pp_spec</EM> <A HREF="tdfc9.html#1">==&gt;</A>
        directive as macro argument <EM>permit</EM> <A HREF="tdfc9.html#11">==&gt;</A>
        external volatile_t <A HREF="tdfc10.html#23">==&gt;</A>
        extra ; <EM>permit</EM> <A HREF="tdfc10.html#54">==&gt;</A>
        extra ; after conditional <EM>permit</EM> <A HREF="tdfc8.html#9">==&gt;</A>
        extra , <EM>permit</EM> <A HREF="tdfc10.html#52">==&gt;</A>
        extra bitfield int type <EM>permit</EM> <A HREF="tdfc10.html#9">==&gt;</A>
        extra macro definition <EM>dallow</EM> <A HREF="tdfc9.html#9">==&gt;</A>
        extra type definition <EM>permit</EM> <A HREF="tdfc10.html#13">==&gt;</A>
        forward enum declaration <EM>dallow</EM> <A HREF="tdfc10.html#19">==&gt;</A>
        floating point equality <EM>permit</EM> <A HREF="tdfc11.html#8">==&gt;</A>
        ident ... <EM>permit</EM> <A HREF="tdfc10.html#27">==&gt;</A>
        ignore struct/union/enum tag <EM>status</EM> <A HREF="tdfc10.html#31">==&gt; </A>
        implicit int type for external declaration <EM>permit</EM> <A HREF="tdfc10.html#7">==&gt;</A>
        implicit int type for function return <EM>permit</EM> <A HREF="tdfc10.html#7">==&gt; </A>
        includes depth <EM>integral_constant</EM> <A HREF="tdfc9.html#17">==&gt;</A>
        incompatible linkage <EM>permit</EM> <A HREF="tdfc10.html#5">==&gt;</A>
        incompatible promoted function argument <EM>dallow</EM> <A HREF="tdfc6.html#37">==&gt;</A>
        incompatible type qualifier <EM>dallow</EM> <A HREF="tdfc6.html#39">==&gt;</A>
        incomplete type as object type <EM>permit</EM> <A HREF="tdfc10.html#17">==&gt; </A>
        indented # directive <EM>permit</EM> <A HREF="tdfc9.html#7">==&gt;</A>
        initialization of struct/union (auto) <EM>permit</EM> <A HREF="tdfc10.html#33">==&gt; </A>
        linkage resolution : <EM>linkage_spec</EM> <A HREF="tdfc10.html#1">==&gt;</A>
        longlong type <EM>permit</EM> <A HREF="tdfc7.html#24">==&gt;</A>
        no directive/nline after ident <EM>permit</EM> <A HREF="tdfc9.html#21">==&gt; </A>
        no external declaration <EM>permit</EM> <A HREF="tdfc10.html#50">==&gt;</A>
        no ident after # <EM>permit</EM> <A HREF="tdfc9.html#11">==&gt;</A>
        no nline after file end <EM>permit</EM> <A HREF="tdfc9.html#23">==&gt;</A>
        prototype <EM>permit</EM> <A HREF="tdfc6.html#17">==&gt;</A>
        prototype (weak) <EM>permit</EM> <A HREF="tdfc6.html#20">==&gt;</A>
        set longlong type : <EM>type_name</EM> <A HREF="tdfc7.html#24">==&gt;</A>
        set name limit <EM>integer_constant</EM> <A HREF="tdfc10.html#25">==&gt;</A>
        set size_t : <EM>type_name </EM><EM><A HREF="tdfc7.html#10">==&gt;</A></EM>
        text after directive <EM>permit</EM> <A HREF="tdfc9.html#19">==&gt;</A>
        unify external linkage <EM>status</EM> <A HREF="tdfc10.html#1">==&gt;</A>
        unify incompatible string literal <EM>permit</EM> <A HREF="tdfc10.html#43">==&gt; </A>
        unknown escape <EM>permit</EM> <A HREF="tdfc10.html#36">==&gt;</A>
        unknown pragma <EM>permit</EM> <A HREF="tdfc9.html#1">==&gt;</A>
        unknown struct/union <EM>dallow</EM> <A HREF="tdfc10.html#21">==&gt;</A>
        unknown directive <EM>permit</EM> <A HREF="tdfc9.html#1">==&gt;</A>
        unmatched quote <EM>permit</EM> <A HREF="tdfc9.html#15">==&gt;</A>
        variable initialization <EM>dallow</EM> <A HREF="tdfc10.html#35">==&gt;</A>
        weak macro equality <EM>permit</EM> <A HREF="tdfc9.html#9">==&gt;</A>
        writeable string literal <EM>permit</EM> <A HREF="tdfc10.html#41">==&gt;</A>
</PRE>
<LI><CODE><EM>set_sign:</EM></CODE>
<PRE>
        signed
        unsign
        either
</PRE>
<LI><CODE><EM>pp_directive:</EM></CODE>
<PRE>
        file
        ident
        assert
        unassert
        weak
</PRE>
<LI><CODE><EM>pp_spec:</EM></CODE>
<PRE>
        allow
        warning
        (ignore) allow
        (ignore) warning
</PRE>
<LI><CODE><EM>linkage_spec:</EM></CODE>
<PRE>
        (internal) on
        (internal) warning
        (external) on
        (external) warning
        off
</PRE>
<LI><CODE><EM>state:</EM></CODE>
<PRE>
        on
        warning
        off
</PRE>
<LI><CODE><EM>permit:</EM></CODE>
<PRE>
        allow
        warning
        disallow
</PRE>
<LI><CODE><EM>dallow:</EM></CODE>
<PRE>
        allow
        disallow
</PRE>
<LI><CODE><EM>token_pragma:</EM></CODE>
<PRE>
        ARITHMETIC <A HREF="tdfc20.html#13">==&gt;</A>
        DEFINE MEMBER
        EXP <A HREF="tdfc20.html#3">==&gt;</A>
        FUNC <A HREF="tdfc20.html#24">==&gt;</A>
        MEMBER <A HREF="tdfc20.html#19">==&gt;</A>
        NAT <A HREF="tdfc20.html#3">==&gt;</A>
        PROC <A HREF="tdfc20.html#22">==&gt;</A>
        STATEMENT <A HREF="tdfc20.html#6">==&gt;</A>
        STRUCT <A HREF="tdfc20.html#16">==&gt;</A>
        TYPE <A HREF="tdfc20.html#9">==&gt;</A>
        UNION <A HREF="tdfc20.html#16">==&gt;</A>
        VARIETY <A HREF="tdfc20.html#11">==&gt;</A>
</PRE>
<LI><CODE><EM>token_operation:</EM></CODE>
<PRE>
        define
        no_def
        extend
        ignore
        implement
        interface
        promote <A HREF="tdfc22.html#4">==&gt;</A>
</PRE>
<LI><CODE><EM>integer_pragma:</EM></CODE>
<PRE>
        integer literal <EM>lit_class_type_list</EM> <A HREF="tdfc17.html#2">==&gt;</A>
</PRE>
<LI><CODE><EM>lit_class_type_list:</EM></CODE>
<PRE>
        *<EM>int_type_spec</EM>
        integer_constant <EM>int_type_spec</EM> | <EM>lit_class_type_list</EM>
</PRE>
<LI><CODE><EM>int_type_spec:</EM></CODE>
<PRE>
        <EM>type_name</EM>
        *warning<SUB><I>opt</I></SUB> : <EM>identifier</EM>
        ** :
</PRE>
</OL>
<P>
<HR>
<P><I>Part of the <A HREF="../index.html">TenDRA Web</A>.<BR>Crown
Copyright &copy; 1998.</I></P>
</BODY>
</HTML>