<feed xmlns='http://www.w3.org/2005/Atom'>
<title>CMake.git/Tests/Module/WriteCompilerDetectionHeader, branch v3.23.2</title>
<subtitle>CMake is a cross-platform, open-source build system generator.</subtitle>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/'/>
<entry>
<title>IBMClang: Add support for IBM Open XL C/C++</title>
<updated>2022-01-27T14:38:01Z</updated>
<author>
<name>Aaron Liu</name>
<email>hualilia@ca.ibm.com</email>
</author>
<published>2021-12-02T15:34:01Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=6da99e671c59a5b5b4731020cc286bb873a8134e'/>
<id>6da99e671c59a5b5b4731020cc286bb873a8134e</id>
<content type='text'>
Fixes: #22929
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: #22929
</pre>
</div>
</content>
</entry>
<entry>
<title>LCC: Add policy CMP0129 regarding interpreting LCC as GNU</title>
<updated>2021-10-21T14:24:22Z</updated>
<author>
<name>makise-homura</name>
<email>akemi_homura@kurisa.ch</email>
</author>
<published>2021-10-19T18:43:45Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=3958ed878f2365fd1af004341d45dac7f4e94afb'/>
<id>3958ed878f2365fd1af004341d45dac7f4e94afb</id>
<content type='text'>
Due to MCST LCC compiler identification is now changed to LCC,
there should be a way for old projects to still identify it as GNU,
as it was before.
This commits adds the policy:
CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU.
This policy controls such a behavior.
OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to MCST LCC compiler identification is now changed to LCC,
there should be a way for old projects to still identify it as GNU,
as it was before.
This commits adds the policy:
CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU.
This policy controls such a behavior.
OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
</pre>
</div>
</content>
</entry>
<entry>
<title>LCC: Add dedicated support for MCST LCC compiler</title>
<updated>2021-10-15T02:05:19Z</updated>
<author>
<name>makise-homura</name>
<email>akemi_homura@kurisa.ch</email>
</author>
<published>2021-10-05T19:41:02Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=e5d9fce03feeece7f53451da9fb958db2613d31e'/>
<id>e5d9fce03feeece7f53451da9fb958db2613d31e</id>
<content type='text'>
Divert LCC compiler as a new one, instead of treating it as GNU.

Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).

This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.

Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Divert LCC compiler as a new one, instead of treating it as GNU.

Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).

This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.

Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: Update for the FujitsuClang compiler</title>
<updated>2021-03-31T13:14:45Z</updated>
<author>
<name>Yuichiro Utsumi</name>
<email>utsumi.yuichiro@jp.fujitsu.com</email>
</author>
<published>2021-03-05T09:07:19Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=a2374509485d7507b42f03f093456aeb62ca6811'/>
<id>a2374509485d7507b42f03f093456aeb62ca6811</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: Update for the Fujitsu compiler</title>
<updated>2021-03-31T13:14:38Z</updated>
<author>
<name>Chuck Atkins</name>
<email>chuck.atkins@kitware.com</email>
</author>
<published>2020-12-22T20:07:48Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=a55feff69c7967d56e0935d841cf1ea2c980a43a'/>
<id>a55feff69c7967d56e0935d841cf1ea2c980a43a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: Update Module.WriteCompilerDetectionHeader for IntelLLVM</title>
<updated>2021-01-28T14:07:01Z</updated>
<author>
<name>Brad King</name>
<email>brad.king@kitware.com</email>
</author>
<published>2021-01-22T15:29:08Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=f26f10184fda39fd029ebc5fd4e72a55af5d3509'/>
<id>f26f10184fda39fd029ebc5fd4e72a55af5d3509</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: Update tests for NVHPC compiler</title>
<updated>2021-01-27T14:53:02Z</updated>
<author>
<name>Tin Huynh</name>
<email>ahuynh@nvidia.com</email>
</author>
<published>2021-01-27T08:00:58Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=4de28ba4e6348f99de57bd2961b00dcd4cda213b'/>
<id>4de28ba4e6348f99de57bd2961b00dcd4cda213b</id>
<content type='text'>
Treat it just like PGI.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Treat it just like PGI.
</pre>
</div>
</content>
</entry>
<entry>
<title>Clang: For MSVC ABI do not use modes older than C++14</title>
<updated>2019-07-24T11:40:30Z</updated>
<author>
<name>Brad King</name>
<email>brad.king@kitware.com</email>
</author>
<published>2019-07-23T12:50:30Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=d50b31be35ed113a41f3944179f8e4a362018f86'/>
<id>d50b31be35ed113a41f3944179f8e4a362018f86</id>
<content type='text'>
Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode,
2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that
targets the MSVC ABI.  However, Clang cannot compile with the MSVC
standard library unless it runs in a mode aware of C++14 (since MSVC
itself does not even have a lower mode).  When `CMAKE_CXX_STANDARD` is
set to 98 or 11, use C++14 anyway.

Since Clang's default mode is aware of C++14, another option is to not
add any flags for 98 or 11.  However, if a future Clang version ever
defaults to a higher C++ standard, setting the standard to 98 or 11
should at least not use a mode higher than 14.

Also revert test updates from commit 4819ff9647 (Tests: fix failures
with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that
were meant to work around the standard selection problem.

Fixes: #19496
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode,
2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that
targets the MSVC ABI.  However, Clang cannot compile with the MSVC
standard library unless it runs in a mode aware of C++14 (since MSVC
itself does not even have a lower mode).  When `CMAKE_CXX_STANDARD` is
set to 98 or 11, use C++14 anyway.

Since Clang's default mode is aware of C++14, another option is to not
add any flags for 98 or 11.  However, if a future Clang version ever
defaults to a higher C++ standard, setting the standard to 98 or 11
should at least not use a mode higher than 14.

Also revert test updates from commit 4819ff9647 (Tests: fix failures
with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that
were meant to work around the standard selection problem.

Fixes: #19496
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: fix failures with gnu mode clang on windows</title>
<updated>2019-05-24T06:43:42Z</updated>
<author>
<name>Zsolt Parragi</name>
<email>zsolt.parragi@cancellar.hu</email>
</author>
<published>2019-03-21T18:49:11Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=4819ff964714faec8ad2d92a3ee541b19196bcfc'/>
<id>4819ff964714faec8ad2d92a3ee541b19196bcfc</id>
<content type='text'>
    Root causes were:
    * Using incorrect conditions (assuming MSVC-like command line mode)
    * Trying to compile the MSVC STL in C++11 mode, when parts of it require
      C++14 or enabling MS extensions in clang.
    * Missing flush in a testcase using stdout in a dll and a main part
    with static crt
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    Root causes were:
    * Using incorrect conditions (assuming MSVC-like command line mode)
    * Trying to compile the MSVC STL in C++11 mode, when parts of it require
      C++14 or enabling MS extensions in clang.
    * Missing flush in a testcase using stdout in a dll and a main part
    with static crt
</pre>
</div>
</content>
</entry>
<entry>
<title>CompileFeatures: Now able to presume full language level support</title>
<updated>2019-04-09T12:44:56Z</updated>
<author>
<name>Robert Maynard</name>
<email>robert.maynard@kitware.com</email>
</author>
<published>2019-03-06T17:28:00Z</published>
<link rel='alternate' type='text/html' href='http://service.techsat.com/oss-git/CMake.git/commit/?id=b0f46c48f6e3efc0481d7c573f67cc76dfa5b2fd'/>
<id>b0f46c48f6e3efc0481d7c573f67cc76dfa5b2fd</id>
<content type='text'>
Previously compilers that only supported the meta-level flags
would not have any of the granular features listed. Now we
presume that they have full support and enable all the features.

Update granular feature tests to skip the actual compilation
checks for the presumed features.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously compilers that only supported the meta-level flags
would not have any of the granular features listed. Now we
presume that they have full support and enable all the features.

Update granular feature tests to skip the actual compilation
checks for the presumed features.
</pre>
</div>
</content>
</entry>
</feed>
