Package: libagg-dev
Version: 2.5+dfsg1-11
Severity: normal
Tags: patch upstream

Dear Maintainer,

compiling with clang-3.9 creates the following build errors:

 /usr/include/agg2/agg_scanline_u.h:476:30: error: type 'base_type' (aka 
'agg::scanline_u8') is not a direct or virtual base of 
'scanline32_u8_am<AlphaMask>'
  ...
and 
 /usr/include/agg2/agg_renderer_outline_aa.h:1378:45: error: binding value of 
type 'const agg::line_profile_aa' to reference to type 'agg::line_profile_aa' 
drops 'const' qualifier

The first seems to be caused by a typo in an typedef, the second one is a 
non-const function returning a const member. The included patch solves this. 
Compiling with gcc does not result in these compiler errors, although they are 
correct and should probably be reported by gcc as well (and might be in a 
future version of gcc).

Regards,
Karsten

-- System Information:
Debian Release: stretch/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.8.0-2-amd64 (SMP w/12 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-- no debconf information
diff -pur ./agg_renderer_outline_aa.h 
/usr/include/agg2/agg_renderer_outline_aa.h
--- ./agg_renderer_outline_aa.h 2017-01-12 17:04:16.532015539 +0100
+++ /usr/include/agg2/agg_renderer_outline_aa.h 2017-01-12 17:04:40.883424303 
+0100
@@ -1375,7 +1375,7 @@ namespace agg
         //---------------------------------------------------------------------
         void profile(const line_profile_aa& prof) { m_profile = &prof; }
         const line_profile_aa& profile() const { return *m_profile; }
-        line_profile_aa& profile() { return *m_profile; }
+//        line_profile_aa& profile() { return *m_profile; }
 
         //---------------------------------------------------------------------
         int subpixel_width() const { return m_profile->subpixel_width(); }
diff -pur ./agg_scanline_u.h /usr/include/agg2/agg_scanline_u.h
--- ./agg_scanline_u.h  2017-01-12 17:04:06.080269041 +0100
+++ /usr/include/agg2/agg_scanline_u.h  2017-01-12 17:05:07.162785345 +0100
@@ -467,7 +467,7 @@ namespace agg
     class scanline32_u8_am : public scanline32_u8
     {
     public:
-        typedef scanline_u8           base_type;
+        typedef scanline32_u8         base_type;
         typedef AlphaMask             alpha_mask_type;
         typedef base_type::cover_type cover_type;
         typedef base_type::coord_type coord_type;

Reply via email to