]> granicus.if.org Git - apache/commitdiff
Document the unfortunate side effect of converting ap_log_*error into macros
authorStefan Fritsch <sf@apache.org>
Thu, 29 Dec 2011 09:07:48 +0000 (09:07 +0000)
committerStefan Fritsch <sf@apache.org>
Thu, 29 Dec 2011 09:07:48 +0000 (09:07 +0000)
with respect to #ifdef.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1225478 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/developer/new_api_2_4.xml

index d737bb3bc10ef76d9669c332a6ab29f70fe2dc00..92fe8b7fa9d03e28d985e09ea6bccbe58615340c 100644 (file)
     <ul>
       <li>Introduce per-directory, per-module loglevel</li>
       <li>New loglevels APLOG_TRACEn</li>
-      <li>ap_log_*error become macro wrappers (fully back-compatible if
-          APLOG_MARK macro is used)</li>
+      <li>ap_log_*error become macro wrappers (back-compatible if
+          APLOG_MARK macro is used, except that is no longer possible to
+          use #ifdef inside the argument list)</li>
       <li>piped logging revamped</li>
       <li>module_index added to error_log hook</li>
       <li>new function: ap_log_command_line</li>
        <br />
     </example>
 
+    <p><code>ap_log_*error</code> are now implemented as macros. This means
+       that it is no longer possible to use <code>#ifdef</code> inside the
+       argument list of <code>ap_log_*error</code>, as this would cause
+       undefined behavor according to C99.</p>
+
     <p>A <code>server_rec</code> pointer must be passed to
        <code>ap_log_error()</code> when called after startup.  This
        was always appropriate, but there are even more limitations with