Commit 5e122f145f3f7358c7fbdf60f1872cf065dc0200
1 parent
c63fb86c
Ignore things from std:: in the ABI
Showing
1 changed file
with
8 additions
and
1 deletions
check_abi
| @@ -88,7 +88,14 @@ class Main: | @@ -88,7 +88,14 @@ class Main: | ||
| 88 | m = re.match(r'^[0-9a-f]+ (.) (.+)@@LIBQPDF_\d+\s*$', line) | 88 | m = re.match(r'^[0-9a-f]+ (.) (.+)@@LIBQPDF_\d+\s*$', line) |
| 89 | if not m: | 89 | if not m: |
| 90 | continue | 90 | continue |
| 91 | - symbols.add(m.group(2)) | 91 | + symbol = m.group(2) |
| 92 | + if re.match(r'^((void|int|bool|(.*? for)) )?std::', symbol): | ||
| 93 | + # Calling different methods of STL classes causes | ||
| 94 | + # different template instantiations to appear. | ||
| 95 | + # Standard library methods that sneak into the binary | ||
| 96 | + # interface are not considered part of the qpdf ABI. | ||
| 97 | + continue | ||
| 98 | + symbols.add(symbol) | ||
| 92 | return symbols | 99 | return symbols |
| 93 | 100 | ||
| 94 | def dump(self, options): | 101 | def dump(self, options): |