<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.32.2">
</HEAD>
<BODY>
On Fri, 2011-12-09 at 09:52 -0800, Alan Coopersmith wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
On 12/09/11 07:40, Keith Packard wrote:
&gt; On Fri, 09 Dec 2011 07:45:01 -0500, Gaetan Nadon&lt;<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>&gt;  wrote:
&gt;
&gt;&gt;   This function is deprecated because it defines -fno-strict-aliasing
&gt;&gt;   which alters the code generated by the compiler.  If -fno-strict-aliasing
&gt;&gt;   is needed, then it should be added explicitly in the module when
&gt;&gt;   it is updated to use BASE_CFLAGS.
&gt;
&gt; Does this change the default for this flag? -fno-strict-aliasing is
&gt; needed to preserve compatibility with older code, and I think it should
&gt; probably be on by default until a module owner disables it manually.

The actual diff is:
-if  test &quot;x$GCC&quot; = xyes ; then
-    XSERVER_CFLAGS=&quot;$XSERVER_CFLAGS -fno-strict-aliasing&quot;
-fi
+XORG_TESTSET_CFLAG([NO_STRICT_ALIASING_CFLAG], [-fno-strict-aliasing])
+XSERVER_CFLAGS='$(BASE_CFLAGS) $(NO_STRICT_ALIASING_CFLAG)'

which has the net effect of changing it from hardcoding for gcc to passing
it to any compiler which accepts the flag, so many actually expand usage of
it on non-gcc compilers.

</PRE>
</BLOCKQUOTE>
My understanding is that XORG_TESTSET_CFLAG tests the compiler flag with the compiler being used. During xserver configuration, I get:
<BLOCKQUOTE>
<PRE>
checking if gcc -std=gnu99 supports -fno-strict-aliasing... yes
</PRE>
</BLOCKQUOTE>
I expect that the variable will be empty on non gcc compilers but I have not tested that personally.
<BLOCKQUOTE>
<PRE>
# XORG_TESTSET_CFLAG(&lt;variable&gt;, &lt;flag&gt;, [&lt;alternative flag&gt;, ...])
# ---------------
# Minimum version: 1.16.0
#
# Test if the compiler works when passed the given flag as a command line argument.
# If it succeeds, the flag is appeneded to the given variable.&nbsp; If not, it tries the
# next flag in the list until there are no more options.
#
# Note that this does not guarantee that the compiler supports the flag as some
# compilers will simply ignore arguments that they do not understand, but we do
# attempt to weed out false positives by using -Werror=unknown-warning-option and
# -Werror=unused-command-line-argument
#
</PRE>
</BLOCKQUOTE>
Thanks.
</BODY>
</HTML>