- Removed -fno-strict-aliasing from the GCC flags for ZDoom and fixed the

issues that caused its inclusion. Is an optimized GCC build any faster
  for being able to use strict aliasing rules? I dunno. It's still slower
  than a VC++ build.
  
  I did run into two cases where TAutoSegIterator caused intractable problems
  with breaking strict aliasing rules, so I removed the templating from it,
  and the caller is now responsible for casting the probe value from void *.
- Removed #include "autosegs.h" from several files that did not need it
  (in particular, dobject.h when not compiling with VC++).


SVN r1743 (trunk)
This commit is contained in:
Randy Heit 2009-08-02 03:38:57 +00:00
commit 93202a5488
35 changed files with 298 additions and 189 deletions

View file

@ -41,6 +41,7 @@
#include "m_swap.h"
#include "mus2midi.h"
#include "doomdef.h"
static const BYTE StaticMIDIhead[] =
{ 'M','T','h','d', 0, 0, 0, 6,
@ -52,7 +53,7 @@ static const BYTE StaticMIDIhead[] =
0, 255, 81, 3, 0x07, 0xa1, 0x20
};
static const BYTE MUSMagic[4] = { 'M','U','S',0x1a };
static const DWORD MUSMagic = MAKE_ID('M','U','S',0x1a);
static const BYTE CtrlTranslate[15] =
{
@ -122,7 +123,7 @@ bool ProduceMIDI (const BYTE *musBuf, TArray<BYTE> &outFile)
long trackLen;
// Do some validation of the MUS file
if (*(DWORD *)MUSMagic != musHead->Magic)
if (MUSMagic != musHead->Magic)
return false;
if (LittleShort(musHead->NumChans) > 15)