view gcc/testsuite/g++.dg/graphite/pr42930.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { dg-options "-O1 -floop-block -Wno-return-type" } */

typedef unsigned char byte;
typedef unsigned int uint;
typedef unsigned char uint8;
namespace Common {
class NonCopyable {
};
template<class In, class Out>
Out copy(In first, In last, Out dst) {
 while (first != last)
  *dst++ = *first++;
}
template<class T>
class Array {
 uint _size;
 T *_storage;
public:
 Array<T>& operator=(const Array<T> &array) {
  copy(array._storage, array._storage + _size, _storage);
 }
};
}
namespace Graphics {
struct PixelFormat {
 inline PixelFormat() {
 }
 inline PixelFormat(byte BytesPerPixel,
      byte RBits, byte GBits, byte BBits, byte ABits,
      byte RShift, byte GShift, byte BShift, byte AShift) {
 }
};
};
namespace Cine {
static const Graphics::PixelFormat kLowPalFormat(2, 3, 3, 3, 0, 8, 4, 0, 0);
class Palette {
public:
 struct Color {
  uint8 r, g, b;
 };
 Palette(const Graphics::PixelFormat format = Graphics::PixelFormat(), const uint numColors = 0);
 bool empty() const;
 bool isValid() const;
 Common::Array<Color> _colors;
};
class FWRenderer : public Common::NonCopyable {
 Cine::Palette _activePal;
 void drawCommand();
};
void FWRenderer::drawCommand() {
 if (!_activePal.isValid() || _activePal.empty()) {
  _activePal = Cine::Palette(kLowPalFormat, 16);
 }
}
}