Hello, On 2009 m. June 26 d., Friday 23:01:54 Florian Weimer wrote: > * Modestas Vainius: > > While apparently, VT can't be implemented differently (except \d+), > > what about size_t etc. then? They all can be implemented as regexps > > too the most simple being 'any character'. However, in my opinion, > > exact string matching is worthwhile to keep whenever possible. > > Can't you ship the demangled names in the symbols file? I suppose > this would make rewriting easier.
While it is a good idea worth consideration but I think demangled symbol names are somewhat too ambiguous to be used in general. See below: $ grep '^ ' /var/lib/dpkg/info/libphonon4.symbols | c++filt | sort | uniq -c | grep '^[[:space:]]*[2-9]' | sort -n 2 non-virtual thunk to Phonon::AbstractAudioOutput::~AbstractAudioOutput()@Base 4:4.2.0 2 non-virtual thunk to Phonon::Effect::~Effect()@Base 4:4.2.0 2 non-virtual thunk to Phonon::EffectWidget::~EffectWidget()@Base 4:4.2.0 2 non-virtual thunk to Phonon::Experimental::Visualization::~Visualization()@Base 4:4.2.0 2 non-virtual thunk to Phonon::MediaObject::~MediaObject()@Base 4:4.2.0 2 non-virtual thunk to Phonon::SeekSlider::~SeekSlider()@Base 4:4.2.0 2 non-virtual thunk to Phonon::VideoPlayer::~VideoPlayer()@Base 4:4.2.0 2 non-virtual thunk to Phonon::VolumeSlider::~VolumeSlider()@Base 4:4.2.0 2 Phonon::AbstractAudioOutput::AbstractAudioOutput(Phonon::AbstractAudioOutputPrivate&, QObject*)@Base 4:4.2.0 2 Phonon::AbstractMediaStream::AbstractMediaStream(Phonon::AbstractMediaStreamPrivate&, QObject*)@Base 4:4.2.0 2 Phonon::AbstractMediaStream::AbstractMediaStream(QObject*)@Base 4:4.2.0 2 Phonon::AbstractVideoOutput::AbstractVideoOutput(Phonon::AbstractVideoOutputPrivate&)@Base 4:4.2.0 2 Phonon::AudioOutput::AudioOutput(Phonon::Category, QObject*)@Base 4:4.2.0 2 Phonon::AudioOutput::AudioOutput(QObject*)@Base 4:4.2.0 2 Phonon::Effect::Effect(Phonon::EffectPrivate&, QObject*)@Base 4:4.2.0 2 Phonon::Effect::Effect(Phonon::ObjectDescription<(Phonon::ObjectDescriptionType)1> const&, QObject*)@Base 4:4.2.0 2 Phonon::EffectParameter::~EffectParameter()@Base 4:4.2.0 2 Phonon::EffectParameter::EffectParameter()@Base 4:4.2.0 2 Phonon::EffectParameter::EffectParameter(int, QString const&, QFlags<Phonon::EffectParameter::Hint>, QVariant const&, QVariant const&, QVariant const&, QList<QVariant> const&, QString const&)@Base 4:4.2.0 2 Phonon::EffectParameter::EffectParameter(Phonon::EffectParameter const&)@Base 4:4.2.0 2 Phonon::EffectWidget::EffectWidget(Phonon::Effect*, QWidget*)@Base 4:4.2.0 2 Phonon::Experimental::AbstractAudioDataOutput::AbstractAudioDataOutput()@Base 4:4.3.0 2 Phonon::Experimental::AbstractVideoDataOutput::AbstractVideoDataOutput()@Base 4:4.3.0 2 Phonon::Experimental::AbstractVideoDataOutput::AbstractVideoDataOutput(Phonon::Experimental::AbstractVideoDataOutputPrivate&)@Base 4:4.3.0 2 Phonon::Experimental::AudioDataOutput::AudioDataOutput(QObject*)@Base 4:4.2.0 2 Phonon::Experimental::AvCapture::AvCapture(QObject*)@Base 4:4.3.0 2 Phonon::Experimental::MediaSource::MediaSource(Phonon::Experimental::MediaSource const&)@Base 4:4.2.0 2 Phonon::Experimental::MediaSource::MediaSource(Phonon::ObjectDescription<(Phonon::ObjectDescriptionType)65536> const&)@Base 4:4.2.0 2 Phonon::Experimental::MediaSource::MediaSource(QList<Phonon::MediaSource> const&)@Base 4:4.2.0 2 Phonon::Experimental::VideoDataOutput2::VideoDataOutput2(QObject*)@Base 4:4.3.0 2 Phonon::Experimental::VideoDataOutput::VideoDataOutput(QObject*)@Base 4:4.2.0 2 Phonon::Experimental::Visualization::Visualization(QObject*)@Base 4:4.2.0 2 Phonon::GlobalConfig::GlobalConfig()@Base 4:4.3.0 2 Phonon::MediaController::MediaController(Phonon::MediaObject*)@Base 4:4.2.0 2 Phonon::MediaNode::MediaNode(Phonon::MediaNodePrivate&)@Base 4:4.2.0 2 Phonon::MediaNodePrivate::MediaNodePrivate(Phonon::MediaNodePrivate::CastId)@Base 4:4.2.0 2 Phonon::MediaObject::MediaObject(QObject*)@Base 4:4.2.0 2 Phonon::MediaSource::~MediaSource()@Base 4:4.2.0 2 Phonon::MediaSource::MediaSource()@Base 4:4.2.0 2 Phonon::MediaSource::MediaSource(Phonon::AbstractMediaStream*)@Base 4:4.2.0 2 Phonon::MediaSource::MediaSource(Phonon::DiscType, QString const&)@Base 4:4.2.0 2 Phonon::MediaSource::MediaSource(Phonon::MediaSource const&)@Base 4:4.2.0 2 Phonon::MediaSource::MediaSource(Phonon::MediaSourcePrivate&)@Base 4:4.2.0 2 Phonon::MediaSource::MediaSource(QIODevice*)@Base 4:4.2.0 2 Phonon::MediaSource::MediaSource(QString const&)@Base 4:4.2.0 2 Phonon::MediaSource::MediaSource(QUrl const&)@Base 4:4.2.0 2 Phonon::ObjectDescriptionData::~ObjectDescriptionData()@Base 4:4.2.0 2 Phonon::ObjectDescriptionData::ObjectDescriptionData(int, QHash<QByteArray, QVariant> const&)@Base 4:4.2.0 2 Phonon::ObjectDescriptionData::ObjectDescriptionData(Phonon::ObjectDescriptionPrivate*)@Base 4:4.2.0 2 Phonon::ObjectDescriptionModelData::~ObjectDescriptionModelData()@Base 4:4.2.0 2 Phonon::ObjectDescriptionModelData::ObjectDescriptionModelData(QAbstractListModel*)@Base 4:4.2.0 2 Phonon::Packet::~Packet()@Base 4:4.3.0 2 Phonon::Packet::Packet()@Base 4:4.3.0 2 Phonon::Packet::Packet(Phonon::Packet const&)@Base 4:4.3.0 2 Phonon::Packet::Packet(Phonon::PacketPool&)@Base 4:4.3.0 2 Phonon::Packet::Packet(Phonon::PacketPrivate&)@Base 4:4.3.0 2 Phonon::PacketPool::~PacketPool()@Base 4:4.3.0 2 Phonon::PacketPool::PacketPool(int, int)@Base 4:4.3.0 2 Phonon::PacketPool::PacketPool(Phonon::PacketPool const&)@Base 4:4.3.0 2 Phonon::Path::~Path()@Base 4:4.2.0 2 Phonon::Path::Path()@Base 4:4.2.0 2 Phonon::Path::Path(Phonon::Path const&)@Base 4:4.2.0 2 Phonon::SeekSlider::SeekSlider(Phonon::MediaObject*, QWidget*)@Base 4:4.2.0 2 Phonon::SeekSlider::SeekSlider(QWidget*)@Base 4:4.2.0 2 Phonon::StreamInterface::StreamInterface()@Base 4:4.2.0 2 Phonon::VideoPlayer::VideoPlayer(Phonon::Category, QWidget*)@Base 4:4.2.0 2 Phonon::VideoPlayer::VideoPlayer(QWidget*)@Base 4:4.3.0 2 Phonon::VideoWidget::VideoWidget(Phonon::VideoWidgetPrivate&, QWidget*)@Base 4:4.2.0 2 Phonon::VideoWidget::VideoWidget(QWidget*)@Base 4:4.2.0 2 Phonon::VolumeFaderEffect::VolumeFaderEffect(QObject*)@Base 4:4.2.0 2 Phonon::VolumeSlider::VolumeSlider(Phonon::AudioOutput*, QWidget*)@Base 4:4.2.0 2 Phonon::VolumeSlider::VolumeSlider(QWidget*)@Base 4:4.2.0 2 typeinfo for Phonon::abstractvideoout...@base 4:4.2.0 2 typeinfo name for Phonon::abstractvideoout...@base 4:4.2.0 2 vtable for Phonon::abstractvideoout...@base 4:4.2.0 3 Phonon::AbstractAudioOutput::~AbstractAudioOutput()@Base 4:4.2.0 3 Phonon::AbstractMediaStream::~AbstractMediaStream()@Base 4:4.2.0 3 Phonon::AbstractMediaStreamPrivate::~AbstractMediaStreamPrivate()@Base 4:4.2.0 3 Phonon::Effect::~Effect()@Base 4:4.2.0 3 Phonon::EffectWidget::~EffectWidget()@Base 4:4.2.0 3 Phonon::Experimental::AbstractAudioDataOutput::~AbstractAudioDataOutput()@Base 4:4.3.0 3 Phonon::Experimental::AbstractVideoDataOutput::~AbstractVideoDataOutput()@Base 4:4.3.0 3 Phonon::Experimental::Visualization::~Visualization()@Base 4:4.2.0 3 Phonon::GlobalConfig::~GlobalConfig()@Base 4:4.3.0 3 Phonon::MediaController::~MediaController()@Base 4:4.2.0 3 Phonon::MediaNode::~MediaNode()@Base 4:4.2.0 3 Phonon::MediaNodePrivate::~MediaNodePrivate()@Base 4:4.2.0 3 Phonon::MediaObject::~MediaObject()@Base 4:4.2.0 3 Phonon::MediaSourcePrivate::~MediaSourcePrivate()@Base 4:4.2.0 3 Phonon::SeekSlider::~SeekSlider()@Base 4:4.2.0 3 Phonon::StreamInterface::~StreamInterface()@Base 4:4.2.0 3 Phonon::VideoPlayer::~VideoPlayer()@Base 4:4.2.0 3 Phonon::VolumeSlider::~VolumeSlider()@Base 4:4.2.0 -- Modestas Vainius <modes...@vainius.eu>
signature.asc
Description: This is a digitally signed message part.