office-gobmx/external/libcmis/c++17.patch.0
Stephan Bergmann ae16870b2c Build as C++17 when GCC/Clang supports it
...and the gperf being used no longer emits "register" in C++ code.

Unlike Clang with -Wdynamic-exception-spec ignored, at least GCC 7.2
-std=gnu++17 always makes dynamic exception specs hard errors, which would cause
errors both when building StaticLibrary_libcmis and when including
libcmis/libcmis.hxx in ucb/source/ucp/cmis/.  So patch away all dynamic
exception specifications from all external/libcmis include files indirectly
included via libcmis/libcmis.hxx, and (to silence the remaining dynamic
exception specifications in the innards of external/libcmis, which I did not
feel like also patching away) build StaticLibrary_libcmis as C++03 if necessary,
and wait for upstream libcmis to eventually be ported to C++17.

And external/firebird needs to be built with CXXFLAGS_CXX11 (which amounts to
C++17 with this patch) since 9206a08ada "Upgrade
to ICU 60.1", so the relevant dynamic exception specifications had to be patched
away from its innards.

Change-Id: I3a0c9ec83c7c1d413559459631970f69ab977f31
Reviewed-on: https://gerrit.libreoffice.org/43851
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-26 18:15:55 +01:00

412 lines
17 KiB
Text

--- src/libcmis/allowable-actions.cxx
+++ src/libcmis/allowable-actions.cxx
@@ -62,7 +62,7 @@
}
}
- ObjectAction::Type ObjectAction::parseType( string type ) throw ( Exception )
+ ObjectAction::Type ObjectAction::parseType( string type )
{
Type value = DeleteObject;
if ( type == "canDeleteObject" )
--- src/libcmis/allowable-actions.hxx
+++ src/libcmis/allowable-actions.hxx
@@ -92,7 +92,7 @@
/** Parses the permission name into one of the enum values or throws
an exception for invalid input strings.
*/
- static Type parseType( std::string type ) throw ( Exception );
+ static Type parseType( std::string type );
};
--- src/libcmis/document.hxx
+++ src/libcmis/document.hxx
@@ -56,7 +56,7 @@
@return the parents folder if any.
*/
- virtual std::vector< boost::shared_ptr< Folder > > getParents( ) throw ( Exception ) = 0;
+ virtual std::vector< boost::shared_ptr< Folder > > getParents( ) = 0;
/** Get the content stream without using a temporary file.
@@ -74,7 +74,7 @@
guaranteed.
*/
virtual boost::shared_ptr< std::istream > getContentStream( std::string streamId = std::string( ) )
- throw ( Exception ) = 0;
+ = 0;
/** Set or replace the content stream of the document.
@@ -88,7 +88,7 @@
capability.
*/
virtual void setContentStream( boost::shared_ptr< std::ostream > os, std::string contentType,
- std::string filename, bool overwrite = true ) throw ( Exception ) = 0;
+ std::string filename, bool overwrite = true ) = 0;
/** Get the content mime type.
*/
@@ -107,12 +107,12 @@
\return the Private Working Copy document
*/
- virtual boost::shared_ptr< Document > checkOut( ) throw ( Exception ) = 0;
+ virtual boost::shared_ptr< Document > checkOut( ) = 0;
/** Cancels the checkout if the document is a private working copy, or
throws an exception.
*/
- virtual void cancelCheckout( ) throw ( Exception ) = 0;
+ virtual void cancelCheckout( ) = 0;
/** Check in the private working copy and create a new version or throw
an exception.
@@ -131,9 +131,9 @@
virtual boost::shared_ptr< Document > checkIn( bool isMajor, std::string comment,
const std::map< std::string, PropertyPtr >& properties,
boost::shared_ptr< std::ostream > stream,
- std::string contentType, std::string fileName ) throw ( Exception ) = 0;
+ std::string contentType, std::string fileName ) = 0;
- virtual std::vector< boost::shared_ptr< Document > > getAllVersions( ) throw ( Exception ) = 0;
+ virtual std::vector< boost::shared_ptr< Document > > getAllVersions( ) = 0;
// virtual methods form Object
virtual std::vector< std::string > getPaths( );
--- src/libcmis/folder.cxx
+++ src/libcmis/folder.cxx
@@ -40,7 +40,7 @@
return paths;
}
- libcmis::FolderPtr Folder::getFolderParent( ) throw ( libcmis::Exception )
+ libcmis::FolderPtr Folder::getFolderParent( )
{
if ( getAllowableActions( ).get() && !getAllowableActions()->isAllowed( libcmis::ObjectAction::GetFolderParent ) )
throw libcmis::Exception( string( "GetFolderParent not allowed on node " ) + getId() );
--- src/libcmis/folder.hxx
+++ src/libcmis/folder.hxx
@@ -59,20 +59,20 @@
virtual std::vector< std::string > getPaths( );
- virtual ::boost::shared_ptr< Folder > getFolderParent( ) throw ( Exception );
- virtual std::vector< ObjectPtr > getChildren( ) throw ( Exception ) = 0;
+ virtual ::boost::shared_ptr< Folder > getFolderParent( );
+ virtual std::vector< ObjectPtr > getChildren( ) = 0;
virtual std::string getParentId( );
virtual std::string getPath( );
virtual bool isRootFolder( );
virtual ::boost::shared_ptr< Folder > createFolder( const std::map< std::string, PropertyPtr >& properties )
- throw ( libcmis::Exception ) = 0;
+ = 0;
virtual ::boost::shared_ptr< Document > createDocument( const std::map< std::string, PropertyPtr >& properties,
- boost::shared_ptr< std::ostream > os, std::string contentType, std::string fileName ) throw ( Exception ) = 0;
+ boost::shared_ptr< std::ostream > os, std::string contentType, std::string fileName ) = 0;
virtual std::vector< std::string > removeTree( bool allVersion = true, UnfileObjects::Type unfile = UnfileObjects::Delete,
- bool continueOnError = false ) throw ( Exception ) = 0;
+ bool continueOnError = false ) = 0;
virtual std::string toString( );
};
--- src/libcmis/object.cxx
+++ src/libcmis/object.cxx
@@ -226,7 +226,6 @@
}
ObjectPtr Object::addSecondaryType( string id, PropertyPtrMap properties )
- throw ( Exception )
{
// First make sure the cmis:secondaryObjectTypeIds property can be defined
map< string, PropertyTypePtr >& propertyTypes = getTypeDescription( )->
@@ -253,7 +252,7 @@
return updateProperties( newProperties );
}
- ObjectPtr Object::removeSecondaryType( string id ) throw ( Exception )
+ ObjectPtr Object::removeSecondaryType( string id )
{
// First make sure the cmis:secondaryObjectTypeIds property can be defined
map< string, PropertyTypePtr >& propertyTypes = getTypeDescription( )->
@@ -297,12 +296,12 @@
return m_typeDescription;
}
- vector< RenditionPtr> Object::getRenditions( string /*filter*/ ) throw ( Exception )
+ vector< RenditionPtr> Object::getRenditions( string /*filter*/ )
{
return m_renditions;
}
- string Object::getThumbnailUrl( ) throw ( Exception )
+ string Object::getThumbnailUrl( )
{
string url;
vector< RenditionPtr > renditions = getRenditions( );
--- src/libcmis/object.hxx
+++ src/libcmis/object.hxx
@@ -129,8 +129,7 @@
*/
virtual boost::shared_ptr< Object > addSecondaryType(
std::string id,
- PropertyPtrMap properties )
- throw ( Exception );
+ PropertyPtrMap properties );
/** Convenience function removing a secondary type from the object.
@@ -154,8 +153,7 @@
to throw a constraint exception if it doesn't allow the
operation.
*/
- virtual boost::shared_ptr< Object > removeSecondaryType( std::string id )
- throw ( Exception );
+ virtual boost::shared_ptr< Object > removeSecondaryType( std::string id );
/** Gives access to the properties of the object.
@@ -179,8 +177,7 @@
\attention
The streamId of the rendition is used in getContentStream( )
*/
- virtual std::vector< RenditionPtr> getRenditions( std::string filter = std::string( ) )
- throw ( Exception );
+ virtual std::vector< RenditionPtr> getRenditions( std::string filter = std::string( ) );
virtual AllowableActionsPtr getAllowableActions( ) { return m_allowableActions; }
/** Update the object properties and return the updated object.
@@ -191,21 +188,21 @@
are still two different instances to ease memory handling.
*/
virtual boost::shared_ptr< Object > updateProperties(
- const PropertyPtrMap& properties ) throw ( Exception ) = 0;
+ const PropertyPtrMap& properties ) = 0;
virtual ObjectTypePtr getTypeDescription( );
/** Reload the data from the server.
*/
- virtual void refresh( ) throw ( Exception ) = 0;
+ virtual void refresh( ) = 0;
virtual time_t getRefreshTimestamp( ) { return m_refreshTimestamp; }
- virtual void remove( bool allVersions = true ) throw ( Exception ) = 0;
+ virtual void remove( bool allVersions = true ) = 0;
- virtual void move( boost::shared_ptr< Folder > source, boost::shared_ptr< Folder > destination ) throw ( Exception ) = 0;
+ virtual void move( boost::shared_ptr< Folder > source, boost::shared_ptr< Folder > destination ) = 0;
- virtual std::string getThumbnailUrl( ) throw ( Exception );
+ virtual std::string getThumbnailUrl( );
/** Dump the object as a string for debugging or display purpose.
*/
--- src/libcmis/object-type.cxx
+++ src/libcmis/object-type.cxx
@@ -293,22 +293,22 @@
}
}
- void ObjectType::refresh( ) throw ( Exception )
+ void ObjectType::refresh( )
{
throw Exception( "ObjectType::refresh() shouldn't be called" );
}
- ObjectTypePtr ObjectType::getParentType( ) throw ( Exception )
+ ObjectTypePtr ObjectType::getParentType( )
{
throw Exception( "ObjectType::getParentType() shouldn't be called" );
}
- ObjectTypePtr ObjectType::getBaseType( ) throw ( Exception )
+ ObjectTypePtr ObjectType::getBaseType( )
{
throw Exception( "ObjectType::getBaseType() shouldn't be called" );
}
- vector< ObjectTypePtr > ObjectType::getChildren( ) throw ( Exception )
+ vector< ObjectTypePtr > ObjectType::getChildren( )
{
throw Exception( "ObjectType::getChildren() shouldn't be called" );
}
--- src/libcmis/object-type.hxx
+++ src/libcmis/object-type.hxx
@@ -94,7 +94,7 @@
This method needs to be implemented in subclasses or it will
do nothing
*/
- virtual void refresh( ) throw ( Exception );
+ virtual void refresh( );
virtual time_t getRefreshTimestamp( ) const;
std::string getId( ) const;
@@ -104,9 +104,9 @@
std::string getQueryName( ) const;
std::string getDescription( ) const;
- virtual boost::shared_ptr< ObjectType > getParentType( ) throw ( Exception );
- virtual boost::shared_ptr< ObjectType > getBaseType( ) throw ( Exception );
- virtual std::vector< boost::shared_ptr< ObjectType > > getChildren( ) throw ( Exception );
+ virtual boost::shared_ptr< ObjectType > getParentType( );
+ virtual boost::shared_ptr< ObjectType > getBaseType( );
+ virtual std::vector< boost::shared_ptr< ObjectType > > getChildren( );
/** Get the parent type id without extracting the complete parent type from
the repository. This is mainly provided for performance reasons.
--- src/libcmis/session-factory.cxx
+++ src/libcmis/session-factory.cxx
@@ -57,7 +57,7 @@
Session* SessionFactory::createSession( string bindingUrl, string username,
string password, string repository, bool noSslCheck,
- libcmis::OAuth2DataPtr oauth2, bool verbose ) throw ( Exception )
+ libcmis::OAuth2DataPtr oauth2, bool verbose )
{
Session* session = NULL;
@@ -138,7 +138,7 @@
}
vector< RepositoryPtr > SessionFactory::getRepositories( string bindingUrl,
- string username, string password, bool verbose ) throw ( Exception )
+ string username, string password, bool verbose )
{
vector< RepositoryPtr > repos;
--- src/libcmis/session-factory.hxx
+++ src/libcmis/session-factory.hxx
@@ -128,7 +128,7 @@
std::string password = std::string( ),
std::string repositoryId = std::string( ),
bool noSslCheck = false,
- OAuth2DataPtr oauth2 = OAuth2DataPtr(), bool verbose = false ) throw ( Exception );
+ OAuth2DataPtr oauth2 = OAuth2DataPtr(), bool verbose = false );
/**
Gets the informations of the repositories on the server.
@@ -142,7 +142,7 @@
static std::vector< RepositoryPtr > getRepositories( std::string bindingUrl,
std::string username = std::string( ),
std::string password = std::string( ),
- bool verbose = false ) throw ( Exception );
+ bool verbose = false );
};
}
--- src/libcmis/session.hxx
+++ src/libcmis/session.hxx
@@ -47,7 +47,7 @@
/** Get the current repository.
*/
- virtual RepositoryPtr getRepository( ) throw ( Exception ) = 0;
+ virtual RepositoryPtr getRepository( ) = 0;
virtual std::vector< RepositoryPtr > getRepositories( ) = 0;
@@ -61,27 +61,27 @@
/** Get the Root folder of the repository
*/
- virtual FolderPtr getRootFolder() throw ( Exception )= 0;
+ virtual FolderPtr getRootFolder() = 0;
/** Get a CMIS object from its ID.
*/
- virtual ObjectPtr getObject( std::string id ) throw ( Exception ) = 0;
+ virtual ObjectPtr getObject( std::string id ) = 0;
/** Get a CMIS object from one of its path.
*/
- virtual ObjectPtr getObjectByPath( std::string path ) throw ( Exception ) = 0;
+ virtual ObjectPtr getObjectByPath( std::string path ) = 0;
/** Get a CMIS folder from its ID.
*/
- virtual libcmis::FolderPtr getFolder( std::string id ) throw ( Exception ) = 0;
+ virtual libcmis::FolderPtr getFolder( std::string id ) = 0;
/** Get a CMIS object type from its ID.
*/
- virtual ObjectTypePtr getType( std::string id ) throw ( Exception ) = 0;
+ virtual ObjectTypePtr getType( std::string id ) = 0;
/** Get all the CMIS base object types known by the server.
*/
- virtual std::vector< ObjectTypePtr > getBaseTypes( ) throw ( Exception ) = 0;
+ virtual std::vector< ObjectTypePtr > getBaseTypes( ) = 0;
/** Enable or disable the SSL certificate verification.
--- src/libcmis/xml-utils.cxx
+++ src/libcmis/xml-utils.cxx
@@ -361,7 +361,6 @@
string getXmlNodeAttributeValue( xmlNodePtr node,
const char* attributeName,
const char* defaultValue )
- throw ( Exception )
{
xmlChar* xmlStr = xmlGetProp( node, BAD_CAST( attributeName ) );
if ( xmlStr == NULL )
@@ -450,7 +449,7 @@
return str;
}
- bool parseBool( string boolStr ) throw ( Exception )
+ bool parseBool( string boolStr )
{
bool value = false;
if ( boolStr == "true" || boolStr == "1" )
@@ -462,7 +461,7 @@
return value;
}
- long parseInteger( string intStr ) throw ( Exception )
+ long parseInteger( string intStr )
{
char* end;
errno = 0;
@@ -481,7 +480,7 @@
return value;
}
- double parseDouble( string doubleStr ) throw ( Exception )
+ double parseDouble( string doubleStr )
{
char* end;
errno = 0;
--- src/libcmis/xml-utils.hxx
+++ src/libcmis/xml-utils.hxx
@@ -132,8 +132,7 @@
*/
std::string getXmlNodeAttributeValue( xmlNodePtr node,
const char* attributeName,
- const char* defaultValue = NULL )
- throw ( Exception );
+ const char* defaultValue = NULL );
/** Parse a xsd:dateTime string and return the corresponding UTC posix time.
*/
@@ -142,11 +141,11 @@
/// Write a UTC time object to an xsd:dateTime string
std::string writeDateTime( boost::posix_time::ptime time );
- bool parseBool( std::string str ) throw ( Exception );
+ bool parseBool( std::string str );
- long parseInteger( std::string str ) throw ( Exception );
+ long parseInteger( std::string str );
- double parseDouble( std::string str ) throw ( Exception );
+ double parseDouble( std::string str );
/** Trim spaces on the left and right of a string.
*/