<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: _Mkl_Api(...) and similar macros should not add a semicolon when evaluated in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1442550#M34095</link>
    <description>&lt;P&gt;Hi Deniz Bahadir,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for sharing the feedback. We have informed the development team regarding the same and they are working on it. We will get back to you soon with an update!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 28 Jun 2023 06:20:13 GMT</pubDate>
    <dc:creator>ShanmukhS_Intel</dc:creator>
    <dc:date>2023-06-28T06:20:13Z</dc:date>
    <item>
      <title>_Mkl_Api(...) and similar macros should not add a semicolon when evaluated</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1440456#M34037</link>
      <description>&lt;P&gt;I am just looking through the new MKL 2023.0.0 release and notice the following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some headers, e.g. `&lt;EM&gt;mkl.h&lt;/EM&gt;` and `&lt;EM&gt;mkl_pardiso.h&lt;/EM&gt;` (but only in the Windows version, see&amp;nbsp;&lt;A href="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Header-files-between-Windows-and-Linux-release-differ/td-p/1440440/jump-to/first-unread-message" target="_blank" rel="noopener"&gt;this bug report&lt;/A&gt;&amp;nbsp;) define&amp;nbsp;macros `&lt;EM&gt;_Mkl_Api&lt;/EM&gt;`, `&lt;EM&gt;_mkl_api&lt;/EM&gt;` and `&lt;EM&gt;_MKL_API&lt;/EM&gt;`, which are defined in such a way that they evaluate to function declarations for their arguments.&lt;/P&gt;
&lt;P&gt;However, sadly they also append a semicolon to the function declarations they evaluate to. &lt;STRONG&gt;That should be avoided!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For one, this leads to inconsistent usage of the macros: Sometimes those are written in the header files with an extra semicolon at the end, sometimes without. See, for example, this small excerpt from the (Windows version of) `&lt;EM&gt;mkl_pardiso.h&lt;/EM&gt;`:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;...
_Mkl_Api(void,pardiso_handle_delete,( const char*, MKL_INT *));
_Mkl_Api(void,PARDISO_HANDLE_DELETE,( const char*, MKL_INT *));

/* oneMKL Progress routine */
#ifndef _MKL_PARDISO_PIVOT_H_
#define _MKL_PARDISO_PIVOT_H_
_Mkl_Api(int,MKL_PARDISO_PIVOT, ( const double* aii, double* bii, const double* eps ))
_Mkl_Api(int,MKL_PARDISO_PIVOT_,( const double* aii, double* bii, const double* eps ))
...&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Even worse, this will very likely make some compilers print unnecessary warnings (that might even be treated as errors) about superfluous semicolons (e.g. for lines 2 and 3 of the excerpt above).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second, it is generally recommended not to include semicolons within macros that are used as statements. (See, for example,&amp;nbsp;&lt;A href="https://wiki.sei.cmu.edu/confluence/display/c/PRE11-C.+Do+not+conclude+macro+definitions+with+a+semicolon" target="_self"&gt;this recommendation here&lt;/A&gt;.)&lt;/P&gt;</description>
      <pubDate>Wed, 21 Dec 2022 13:04:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1440456#M34037</guid>
      <dc:creator>DenizBahadir</dc:creator>
      <dc:date>2022-12-21T13:04:24Z</dc:date>
    </item>
    <item>
      <title>Re:_Mkl_Api(...) and similar macros should not add a semicolon when evaluated</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1441663#M34061</link>
      <description>&lt;P&gt;Hi Deniz,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for posting on Intel Communities.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for your suggestions. We will get back to you soon with an update.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 26 Dec 2022 14:49:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1441663#M34061</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-12-26T14:49:53Z</dc:date>
    </item>
    <item>
      <title>Re: _Mkl_Api(...) and similar macros should not add a semicolon when evaluated</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1442550#M34095</link>
      <description>&lt;P&gt;Hi Deniz Bahadir,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for sharing the feedback. We have informed the development team regarding the same and they are working on it. We will get back to you soon with an update!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2023 06:20:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1442550#M34095</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-06-28T06:20:13Z</dc:date>
    </item>
    <item>
      <title>Re: _Mkl_Api(...) and similar macros should not add a semicolon when evaluated</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1499861#M34712</link>
      <description>&lt;P&gt;Hi Deniz,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;This is to kindly inform you that our developer team is working on moving semicolons from _mkl_api, _MKL_API, and _Mkl_Api macros to function declarations to avoid accidental double semicolons.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regrets for the delay in response.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2023 08:57:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1499861#M34712</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-06-28T08:57:44Z</dc:date>
    </item>
    <item>
      <title>Re:_Mkl_Api(...) and similar macros should not add a semicolon when evaluated</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1499936#M34714</link>
      <description>&lt;P&gt;Hi Deniz,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you for your patience. This is to kindly inform you that the issue raised by you would be fixed in upcoming releases. &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 28 Jun 2023 11:27:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1499936#M34714</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-06-28T11:27:02Z</dc:date>
    </item>
    <item>
      <title>Re: _Mkl_Api(...) and similar macros should not add a semicolon when evaluated</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1510360#M34898</link>
      <description>&lt;P&gt;Hi Deniz,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your patience. The issue raised by you has been fixed in version 2023.2.&lt;/P&gt;
&lt;P&gt;Please download it and let us know if this resolves your issue. Please check the &lt;A href="https://www.intel.com/content/www/us/en/developer/articles/release-notes/onemkl-release-notes.html" target="_self"&gt;release notes&lt;/A&gt; for the features and bug fixes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2023 09:03:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1510360#M34898</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-08-02T09:03:47Z</dc:date>
    </item>
    <item>
      <title>Re: _Mkl_Api(...) and similar macros should not add a semicolon when evaluated</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1510370#M34899</link>
      <description>&lt;P&gt;Thanks,&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/170714"&gt;@ShanmukhS_Intel&lt;/a&gt;.&lt;/P&gt;&lt;P&gt;The problem indeed seems to be fixed with version 2023.2.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just one note:&lt;/P&gt;&lt;P&gt;The file `&lt;EM&gt;mkl_pardiso.h&lt;/EM&gt;` still contains the definition for a macro `&lt;EM&gt;_Mkl_Deprecated_Api&lt;/EM&gt;` that also ends in a semicolon.&lt;/P&gt;&lt;P&gt;Luckily, that macro seems not to be used, but your developers should for consistency probably remove that semicolon, too. (Or just remove that unused macro.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now, it would be great if you could still consider adding parameter names to the function declarations / macro-invocations&amp;nbsp;&lt;A title="Missing parameter names in mkl_pardiso.h" href="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Missing-parameter-names-in-mkl-pardiso-h/m-p/1413224" target="_blank" rel="noopener"&gt;[1]&lt;/A&gt;&amp;nbsp;and use the same header for the Linux platform as well&amp;nbsp;&lt;A title="Header files between Windows and Linux release differ" href="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Header-files-between-Windows-and-Linux-release-differ/m-p/1440440" target="_blank" rel="noopener"&gt;[2]&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2023 09:45:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1510370#M34899</guid>
      <dc:creator>DenizBahadir</dc:creator>
      <dc:date>2023-08-02T09:45:30Z</dc:date>
    </item>
    <item>
      <title>Re: _Mkl_Api(...) and similar macros should not add a semicolon when evaluated</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1512333#M34925</link>
      <description>&lt;P&gt;Hi Deniz,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for accepting the solution. It’s great to know that the issue has been resolved, in case you run into any other issues please feel free to create a new thread.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Now, it would be great if you could still consider adding parameter names to the function declarations / macro-invocations&amp;nbsp;&lt;/EM&gt;&lt;A href="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Missing-parameter-names-in-mkl-pardiso-h/m-p/1413224" target="_blank" rel="noopener noreferrer"&gt;&lt;EM&gt;[1]&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&amp;nbsp;and use the same header for the Linux platform as well&amp;nbsp;&lt;/EM&gt;&lt;A href="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Header-files-between-Windows-and-Linux-release-differ/m-p/1440440" target="_blank" rel="noopener noreferrer"&gt;&lt;EM&gt;[2]&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;Regarding the other threads, We would like to inform you that you could track the progress of the fix in the respective community cases mentioned in the hyperlinks shared by you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2023 05:27:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-Api-and-similar-macros-should-not-add-a-semicolon-when/m-p/1512333#M34925</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-08-09T05:27:43Z</dc:date>
    </item>
  </channel>
</rss>

