On Tue, Sep 20, 2011 at 04:13:37PM -0500, Bollinger, John C wrote:
> Hello All,

Hi,

> 
> As I wrote a few minutes ago, I am attempting to build PDFedit v 0.4.5
> on CentOS 5, using the distro's provided GCC 4.1.2 toolchain.  

Don't want to blame gcc here but 4.1.x was plain wrong. I would
encourage you to use something newer.

Anyway,

> The method CPageContents::addInlineImage() is giving me some trouble,
> the bulk of which I raised in my previous mail.  In addition, however,
> I see some worrisome warnings in the same method:
> 
> g++ -c -g -O2   -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing 
> -fexceptions   -fstack-protector -pipe -posix -ansi -std=c++98 -pedantic -I. 
> -I/home/jbolling/rpm/BUILD/pdfedit-0.4.5/src 
> -I/home/jbolling/rpm/BUILD/pdfedit-0.4.5/src/xpdf/  -I/usr/include 
> -I/usr/include/freetype2  -I/usr/include -o cpagecontents.o cpagecontents.cc
> cpagecontents.cc: In member function 'void 
> pdfobjects::CPageContents::addInlineImage(const std::vector<char, 
> std::allocator<char> >&, const libs::Point&, const libs::Point&)':
> cpagecontents.cc:543: warning: passing 'const double' for argument 1 to 
> 'pdfobjects::CObjectSimple<Tp>::CObjectSimple(const typename 
> pdfobjects::PropertyTraitSimple<Tp>::value&) [with pdfobjects::PropertyType 
> Tp = pInt]'
> [...]
> cpagecontents.cc:544: warning: passing 'const double' for argument 1 to 
> 'pdfobjects::CObjectSimple<Tp>::CObjectSimple(const typename 
> pdfobjects::PropertyTraitSimple<Tp>::value&) [with pdfobjects::PropertyType 
> Tp = pInt]'
> 
> These arise from the following two lines of code:
> 
>         image_dict.addProperty ("W", CInt (image_size.x));
>         image_dict.addProperty ("H", CInt (image_size.y));
> 
> Evidently, image_size.x and image_size.y are of type (const double),
> but they are passed to a constructor expecting an int&.  I'm neither
> sure what is needed, nor sure what actually happens here (and that in
> itself is a minor problem).  Given that we're dealing with references,
> however, I can't think of an approach the compiler could take to the
> issue that would be likely to have a satisfactory result.

The warning is bogus. Pointer should just cast real to int (truncate it)
and then provide a reference to a temporal int variable.

> 
> The most obvious fix would be to change the CInts to CReals, but I
> don't know whether that would cause trouble elsewhere in the program.

PDF specification says that both Width and Height are integers so CInt
is appropriate.

> 
> 
> Best,
> 
> John Bollinger
> 
> 
> Email Disclaimer:  www.stjude.org/emaildisclaimer
> 
> 
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2dcopy1
> _______________________________________________
> Pdfedit-support mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/pdfedit-support

-- 
Michal Hocko

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Pdfedit-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pdfedit-support

Reply via email to