File 2210-Add-documentation.patch of Package erlang

From 1470e950a722d8369ef5ec7410cb47c0e083b52f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org>
Date: Wed, 4 May 2016 13:20:05 +0200
Subject: [PATCH 3/3] Add documentation

---
 system/doc/reference_manual/macros.xml | 48 ++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/system/doc/reference_manual/macros.xml b/system/doc/reference_manual/macros.xml
index 42ea639..350bb1d 100644
--- a/system/doc/reference_manual/macros.xml
+++ b/system/doc/reference_manual/macros.xml
@@ -234,6 +234,53 @@ or
   </section>
 
   <section>
+    <title>-error() and -warning() directives</title>
+
+    <p>The directive <c>-error(Term)</c> causes a compilation error.</p>
+
+    <p><em>Example:</em></p>
+    <code type="none">
+-module(t).
+-export([version/0]).
+
+-ifdef(VERSION).
+version() -> ?VERSION.
+-else.
+-error("Macro VERSION must be defined.").
+version() -> "".
+-endif.</code>
+
+    <p>The error message will look like this:</p>
+
+    <pre>
+% <input>erlc t.erl</input>
+t.erl:7: -error("Macro VERSION must be defined.").</pre>
+
+    <p>The directive <c>-warning(Term)</c> causes a compilation warning.</p>
+
+    <p><em>Example:</em></p>
+    <code type="none">
+-module(t).
+-export([version/0]).
+
+-ifndef(VERSION).
+-warning("Macro VERSION not defined -- using default version.").
+-define(VERSION, "0").
+-endif.
+version() -> ?VERSION.</code>
+
+    <p>The warning message will look like this:</p>
+
+    <pre>
+% <input>erlc t.erl</input>
+t.erl:5: Warning: -warning("Macro VERSION not defined -- using default version.").</pre>
+
+  <p>The <c>-error()</c> and <c>-warning()</c> directives were added
+  in OTP 19.</p>
+
+  </section>
+
+  <section>
     <title>Stringifying Macro Arguments</title>
     <p>The construction <c>??Arg</c>, where <c>Arg</c> is a macro
       argument, is expanded to a string containing the tokens of
@@ -253,5 +300,6 @@ io:format("Call ~s: ~w~n",["you : function ( 2 , 1 )",you:function(2,1)]).</code
     <p>That is, a trace output, with both the function called and
       the resulting value.</p>
   </section>
+
 </chapter>
 
-- 
2.1.4

openSUSE Build Service is sponsored by