Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 876725 Details for
Bug 1078438
Templated types are causing "Could not find a typemap for C type"
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Upstream fix ported to ExtUtils-ParseXS-3.18
ExtUtils-ParseXS-3.18-EU-ParseXS-Attempt-to-canonicalize-C-types-in-tidy_t.patch (text/plain), 3.26 KB, created by
Petr Pisar
on 2014-03-20 07:42:54 UTC
(
hide
)
Description:
Upstream fix ported to ExtUtils-ParseXS-3.18
Filename:
MIME Type:
Creator:
Petr Pisar
Created:
2014-03-20 07:42:54 UTC
Size:
3.26 KB
patch
obsolete
>From 28c286718f7d2c46b9ff310bb4178b7f2258bb25 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> >Date: Wed, 20 Nov 2013 12:49:57 +0100 >Subject: [PATCH] EU::ParseXS: Attempt to canonicalize C++ types in tidy_type >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >This is a 3.18 port of perl commit: > >Author: Steffen Mueller <smueller@cpan.org> >Date: Wed May 22 21:49:06 2013 +0200 > > EU::ParseXS: Attempt to canonicalize C++ types in tidy_type > > Includes moving tidy_type to ExtUtils::Typemaps where it seems to > belong. It's a pretty poor canonicalizer, but better than nothing! > ><https://rt.cpan.org/Public/Bug/Display.html?id=86367> ><https://bugzilla.redhat.com/show_bug.cgi?id=1032181> > >Signed-off-by: Petr PÃsaÅ <ppisar@redhat.com> >--- > lib/ExtUtils/ParseXS/Utilities.pm | 7 +++++++ > lib/ExtUtils/Typemaps.pm | 7 +++++++ > t/103-tidy_type.t | 27 +++++++++++++++------------ > 3 files changed, 29 insertions(+), 12 deletions(-) > >diff --git a/lib/ExtUtils/ParseXS/Utilities.pm b/lib/ExtUtils/ParseXS/Utilities.pm >index d0089f8..f64af35 100644 >--- a/lib/ExtUtils/ParseXS/Utilities.pm >+++ b/lib/ExtUtils/ParseXS/Utilities.pm >@@ -201,6 +201,13 @@ String cleaned up. > sub tidy_type { > local ($_) = @_; > >+ # for templated C++ types, do some bit of flawed canonicalization >+ # wrt. templates at least >+ if (/[<>]/) { >+ s/\s*([<>])\s*/$1/g; >+ s/>>/> >/g; >+ } >+ > # rationalise any '*' by joining them into bunches and removing whitespace > s#\s*(\*+)\s*#$1#g; > s#(\*+)# $1 #g; >diff --git a/lib/ExtUtils/Typemaps.pm b/lib/ExtUtils/Typemaps.pm >index 2768ef0..fc4e413 100644 >--- a/lib/ExtUtils/Typemaps.pm >+++ b/lib/ExtUtils/Typemaps.pm >@@ -973,6 +973,13 @@ sub _parse { > sub _tidy_type { > local $_ = shift; > >+ # for templated C++ types, do some bit of flawed canonicalization >+ # wrt. templates at least >+ if (/[<>]/) { >+ s/\s*([<>])\s*/$1/g; >+ s/>>/> >/g; >+ } >+ > # rationalise any '*' by joining them into bunches and removing whitespace > s#\s*(\*+)\s*#$1#g; > s#(\*+)# $1 #g ; >diff --git a/t/103-tidy_type.t b/t/103-tidy_type.t >index a043383..fb44aa9 100644 >--- a/t/103-tidy_type.t >+++ b/t/103-tidy_type.t >@@ -1,23 +1,26 @@ > #!/usr/bin/perl > use strict; > use warnings; >-use Test::More tests => 3; >+use Test::More; > use lib qw( lib ); > use ExtUtils::ParseXS::Utilities qw( > tidy_type > ); > >-my $input; >- >-$input = ' * ** '; >-is( tidy_type($input), '***', >- "Got expected value for '$input'" ); >+my @tests = ( >+ [' * ** ', '***'], >+ [' * ** ', '***'], >+ [' * ** foobar * ', '*** foobar *'], >+ ['unsigned int', 'unsigned int'], >+ ['std::vector<int>', 'std::vector<int>'], >+ ['std::vector< unsigned int >', 'std::vector<unsigned int>'], >+ ['std::vector< vector<unsigned int> >', 'std::vector<vector<unsigned int> >'], >+ ['std::map< map <unsigned int, int>, int>', 'std::map<map<unsigned int, int>, int>'], >+); > >-$input = ' * ** '; >-is( tidy_type($input), '***', >- "Got expected value for '$input'" ); >+plan tests => scalar(@tests); > >-$input = ' * ** foobar * '; >-is( tidy_type($input), '*** foobar *', >- "Got expected value for '$input'" ); >+foreach my $test (@tests) { >+ is(tidy_type($test->[0]), $test->[1], "Tidying '$test->[0]'"); >+} > >-- >1.8.3.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1078438
: 876725 |
876726