<!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 15:31 -0800, Keith Packard wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
On Fri, 09 Dec 2011 11:32:39 -0500, Gaetan Nadon &lt;<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>&gt; wrote:

&gt; The content for CWARNFLAGS will always contain -fno-strict-aliasing.

I think BASE_CFLAGS should include -fno-strict-aliasing then;
</PRE>
</BLOCKQUOTE>
We would be back to square one. It would only be a macro name change.
<BLOCKQUOTE TYPE=CITE>
<PRE>
it retains compatibility with the original C standards on which the X
code is based. The alternative is to have random failures in older code
if people try to switch from CWARNFLAGS to BASE_CFLAGS without
understanding that they would also need to add the -fno-strict-aliasing
option as well.
</PRE>
</BLOCKQUOTE>
That's a possibility, if they also ignore the aliasing warnings.<BR>
<BR>
Note that only 13 drivers use CWARNFLAGS. All others don't have -fno-strict-aliasing. They don't even get the warnings about breaking aliasing rules! 
<BLOCKQUOTE TYPE=CITE>
<PRE>

I'd probably add -fwrapv as well as that preserves the semantics of
integer operations. The GCC idiots seem to think that it's OK to break
existing code to allow them to perform various marginally useful
optimizations...

/me still remembers spending three days figuring out that -fwrapv was
required to make nickle compile correctly.

</PRE>
</BLOCKQUOTE>
Perhaps a different macro for xserver + any other modules deemed to be in need of -fno-strict-aliasing. I don't think we have a definite list of such modules.<BR>
<BR>
I'll check back to see if I should drop this patch or not. You may want to look at patch #3 as it uses BASE_CFLAGS as their faith is inter-connected.
</BODY>
</HTML>