Rework gc descriptor to include size information in more cases.
[mono.git] / mcs / docs / ecma334 / 9.5.5.xml
1 <?xml version="1.0"?>
2 <clause number="9.5.5" title="Diagnostic directives">
3   <paragraph>The diagnostic directives are used to explicitly generate error and warning messages that are reported in the same way as other compile-time errors and warnings. <grammar_production><name><non_terminal where="9.5.5">pp-diagnostic</non_terminal></name> :: <rhs><non_terminal where="9.3.3">whitespace</non_terminal><opt/><terminal>#</terminal><non_terminal where="9.3.3">whitespace</non_terminal><opt/><terminal>error</terminal><non_terminal where="9.5.5">pp-message</non_terminal></rhs><rhs><non_terminal where="9.3.3">whitespace</non_terminal><opt/><terminal>#</terminal><non_terminal where="9.3.3">whitespace</non_terminal><opt/><terminal>warning</terminal><non_terminal where="9.5.5">pp-message</non_terminal></rhs></grammar_production><grammar_production><name><non_terminal where="9.5.5">pp-message</non_terminal></name> :: <rhs><non_terminal where="9.3.1">new-line</non_terminal></rhs><rhs><non_terminal where="9.3.3">whitespace</non_terminal><non_terminal where="9.3.2">input-characters</non_terminal><opt/><non_terminal where="9.3.1">new-line</non_terminal></rhs></grammar_production></paragraph>
4   <paragraph>
5     <example>[Example: The example <code_example><![CDATA[
6 #warning Code review needed before check-in  
7 #if Debug && Retail  
8 #error A build can't be both debug and retail  
9 #endif  
10 class Test {...}  
11 ]]></code_example>always produces a warning (&quot;Code review needed before check-in&quot;), and produces a compile-time error if the pre-processing identifiers Debug and Retail are both defined. Note that a <non_terminal where="9.5.5">pp-message</non_terminal> can contain arbitrary text; specifically, it need not contain well-formed tokens, as shown by the single quote in the word can't. end example]</example>
12   </paragraph>
13 </clause>