Bug 1032181
Summary: | Templated types are causing "Could not find a typemap for C type" | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> | ||||||
Component: | perl-ExtUtils-ParseXS | Assignee: | Petr Pisar <ppisar> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 20 | CC: | perl-devel, ppisar | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | perl-ExtUtils-ParseXS-3.18-292.fc20 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | |||||||||
: | 1078438 (view as bug list) | Environment: | |||||||
Last Closed: | 2014-03-20 07:09:19 UTC | Type: | Bug | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 1032056 | ||||||||
Attachments: |
|
Description
Miro Hrončok
2013-11-19 16:48:04 UTC
The patch moves tidy_type() from ExtUtils::ParseXS::Utilities to ExtUtils::Typemaps. The patch improves tidy_type(). The patch removes _tidy_type() from ExtUtils::Typemaps. ExtUtils::ParseXS::Utilities is declared as not a public API explicitly. The patch is based on perl commit: commit ae7fdf584559a304eb5992a58cd58349cc7c58da Author: Steffen Mueller <smueller> 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! The key change is: + # for templated C++ types, do some bit of flawed canonicalization + # wrt. templates at least + if (/[<>]/) { + s/\s*([<>])\s*/$1/g; + s/>>/> >/g; + } in tidy_type(). Created attachment 826591 [details]
Minimal fix
This ports only the fix without breaking API.
perl-ExtUtils-ParseXS-3.18-292.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/perl-ExtUtils-ParseXS-3.18-292.fc20 Thanks a lot for the minimal fix. perl-ExtUtils-ParseXS-3.18-292.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report. I guess only F20 was concerned. |