Hello,

  I have a project that isn't part of Fedora yet - though really I
should add it at this point. Its php-cpp. It allows me to write c++
extensions for PHP. Its worked well for a couple years. I upgraded to
F32 beta and now when compiling anything that includes its headers
compilation fails and I'm not entirely sure why. 

g++ -MT pdf-image.o -MMD -MP -MF .d/pdf-image.Td -Wall -g -c -O2
-std=c++11 -fPIC `pkg-config poppler-cpp fontconfig openssl --
cflags`    -DVERSION=\"0.11.16\"  -c -o pdf-image.o pdf-image.cpp
In file included from /usr/include/phpcpp.h:38,
                 from pdf-image.cpp:8:
/usr/include/phpcpp/throwable.h:29:1: error: expected class-name before
‘{’ token

I've attached the header. Any gcc experts out there able to tell me
what's wrong with the header format that used to compile but no longer
does?

In case it is relevant PHPCPP_EXPORT has the following definition:
    #define PHPCPP_EXPORT __attribute__ ((visibility ("default")))

Sincerely,
-- 
Nathanael
/**
 *  Throwable.h
 *
 *  Base class for exceptions and errors, where an error is a runtime
 *  problem with the program (like file-does-not-exist), and an error
 *  is a more fatal programming problem (like call-to-private-method).
 *
 *  @author Jasper van Eck <jasper.van...@copernica.com>
 *  @author Emiel Bruijntjes <emiel.bruijnt...@copernica.com>
 *  @copyright 2013 - 2019 Copernica BV
 */
#include <exception>
#include <string>

/**
 *  Forward declarations
 */
struct _zend_object;

/**
 *  Set up namespace
 */
namespace Php {

/**
 *  Class definition
 */
class PHPCPP_EXPORT Throwable : public std::runtime_error
{
protected:
    /**
     *  The exception code
     *  @var long int
     */
    long int _code = -1;
    

protected:
    /**
     *  Protected constructor - only derived classes can instantiate
     *  @param  message     The exception message
     */
    Throwable(const std::string &message) : std::runtime_error(message) {}
    
    /**
     *  Another protected constructor
     *  @param  object
     */
    Throwable(struct _zend_object *object);

public:
    /**
     *  Destructor
     */
    virtual ~Throwable() = default;
    
    /**
     *  Rethrow the exception / make sure that it ends up in PHP space
     */
    virtual void rethrow() = 0;
     
    /**
     *  Returns the exception code
     *  @return The exception code
     */
    long int code() const _NOEXCEPT
    {
        // expose the code
        return _code;
    }
};

/**
 *  End of namespace
 */
}
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to