cxxfilt 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -5
- data/cxxfilt.gemspec +2 -2
- data/ext/cxxfilt/ansidecl.h +7 -89
- data/ext/cxxfilt/cp-demangle.c +980 -361
- data/ext/cxxfilt/cp-demangle.h +9 -2
- data/ext/cxxfilt/cp-demint.c +4 -1
- data/ext/cxxfilt/cplus-dem.c +19 -4589
- data/ext/cxxfilt/d-demangle.c +645 -309
- data/ext/cxxfilt/demangle.h +58 -51
- data/ext/cxxfilt/environ.h +1 -1
- data/ext/cxxfilt/extconf.rb +1 -0
- data/ext/cxxfilt/libiberty.h +52 -20
- data/ext/cxxfilt/rust-demangle.c +1508 -252
- data/ext/cxxfilt/safe-ctype.c +1 -1
- data/ext/cxxfilt/safe-ctype.h +2 -2
- data/ext/cxxfilt/xexit.c +1 -1
- data/ext/cxxfilt/xmalloc.c +10 -8
- data/ext/cxxfilt/xmemdup.c +4 -4
- data/lib/cxxfilt/version.rb +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2981f7125b95498ce8ee846a42667f6b106d2ec3e17a6d9665f74036a9fabfe
|
4
|
+
data.tar.gz: 36d49d7958297670b24c2be0ce3f1974dd4e9af56e1abbe4310319df22d6ce5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b9056e2acec1aacc55ad8a43750d907da12a96a19b9a331edbd0a7ddf26a6a4ba41898d1c3dd954d830c7a24973c0c90d2ede15c706991d889ded44b5764bb1
|
7
|
+
data.tar.gz: db96c2461586e06fb9aa4459e4e97332018a22244ca403c941c49e131b8790fc3824f11d32d7f47b4d71b7e183334b8441028bad0a94be6bda73b7a9cb5b9a16
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cxxfilt (0.1.
|
4
|
+
cxxfilt (0.1.5)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -13,7 +13,7 @@ GEM
|
|
13
13
|
coderay (~> 1.1.0)
|
14
14
|
method_source (~> 0.8.1)
|
15
15
|
slop (~> 3.4)
|
16
|
-
rake (
|
16
|
+
rake (13.2.1)
|
17
17
|
rake-compiler (1.0.4)
|
18
18
|
rake
|
19
19
|
rspec (3.6.0)
|
@@ -35,12 +35,12 @@ PLATFORMS
|
|
35
35
|
ruby
|
36
36
|
|
37
37
|
DEPENDENCIES
|
38
|
-
bundler (~> 2.
|
38
|
+
bundler (~> 2.6)
|
39
39
|
cxxfilt!
|
40
40
|
pry
|
41
|
-
rake (~>
|
41
|
+
rake (~> 13.2)
|
42
42
|
rake-compiler
|
43
43
|
rspec (~> 3.0)
|
44
44
|
|
45
45
|
BUNDLED WITH
|
46
|
-
2.
|
46
|
+
2.6.8
|
data/cxxfilt.gemspec
CHANGED
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.require_paths = ["lib", "ext"]
|
22
22
|
spec.extensions = ["ext/cxxfilt/extconf.rb"]
|
23
23
|
|
24
|
-
spec.add_development_dependency "bundler", "~> 2.
|
25
|
-
spec.add_development_dependency "rake", "~>
|
24
|
+
spec.add_development_dependency "bundler", "~> 2.6"
|
25
|
+
spec.add_development_dependency "rake", "~> 13.2"
|
26
26
|
spec.add_development_dependency "rake-compiler"
|
27
27
|
spec.add_development_dependency "pry"
|
28
28
|
spec.add_development_dependency "rspec", "~> 3.0"
|
data/ext/cxxfilt/ansidecl.h
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
/*
|
2
|
-
Copyright (C) 1991-
|
1
|
+
/* Compiler compatibility macros
|
2
|
+
Copyright (C) 1991-2025 Free Software Foundation, Inc.
|
3
3
|
This file is part of the GNU C Library.
|
4
4
|
|
5
5
|
This program is free software; you can redistribute it and/or modify
|
@@ -16,18 +16,7 @@ You should have received a copy of the GNU General Public License
|
|
16
16
|
along with this program; if not, write to the Free Software
|
17
17
|
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
18
18
|
|
19
|
-
/*
|
20
|
-
|
21
|
-
ANSI C is assumed if __STDC__ is #defined.
|
22
|
-
|
23
|
-
Macro ANSI C definition Traditional C definition
|
24
|
-
----- ---- - ---------- ----------- - ----------
|
25
|
-
PTR `void *' `char *'
|
26
|
-
const not defined `'
|
27
|
-
volatile not defined `'
|
28
|
-
signed not defined `'
|
29
|
-
|
30
|
-
For ease of writing code which uses GCC extensions but needs to be
|
19
|
+
/* For ease of writing code which uses GCC extensions but needs to be
|
31
20
|
portable to other compilers, we provide the GCC_VERSION macro that
|
32
21
|
simplifies testing __GNUC__ and __GNUC_MINOR__ together, and various
|
33
22
|
wrappers around __attribute__. Also, __extension__ will be #defined
|
@@ -62,24 +51,10 @@ So instead we use the macro below and test it against specific values. */
|
|
62
51
|
#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
|
63
52
|
#endif /* GCC_VERSION */
|
64
53
|
|
65
|
-
#if defined (__STDC__) || defined(__cplusplus) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32)
|
66
|
-
/* All known AIX compilers implement these things (but don't always
|
67
|
-
define __STDC__). The RISC/OS MIPS compiler defines these things
|
68
|
-
in SVR4 mode, but does not define __STDC__. */
|
69
|
-
/* eraxxon@alumni.rice.edu: The Compaq C++ compiler, unlike many other
|
70
|
-
C++ compilers, does not define __STDC__, though it acts as if this
|
71
|
-
was so. (Verified versions: 5.7, 6.2, 6.3, 6.5) */
|
72
|
-
|
73
|
-
#define PTR void *
|
74
|
-
|
75
|
-
#undef const
|
76
|
-
#undef volatile
|
77
|
-
#undef signed
|
78
|
-
|
79
54
|
/* inline requires special treatment; it's in C99, and GCC >=2.7 supports
|
80
55
|
it too, but it's not in C89. */
|
81
56
|
#undef inline
|
82
|
-
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__))
|
57
|
+
#if (!defined(__cplusplus) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__))
|
83
58
|
/* it's a keyword */
|
84
59
|
#else
|
85
60
|
# if GCC_VERSION >= 2007
|
@@ -89,22 +64,6 @@ So instead we use the macro below and test it against specific values. */
|
|
89
64
|
# endif
|
90
65
|
#endif
|
91
66
|
|
92
|
-
#else /* Not ANSI C. */
|
93
|
-
|
94
|
-
#define PTR char *
|
95
|
-
|
96
|
-
/* some systems define these in header files for non-ansi mode */
|
97
|
-
#undef const
|
98
|
-
#undef volatile
|
99
|
-
#undef signed
|
100
|
-
#undef inline
|
101
|
-
#define const
|
102
|
-
#define volatile
|
103
|
-
#define signed
|
104
|
-
#define inline
|
105
|
-
|
106
|
-
#endif /* ANSI C. */
|
107
|
-
|
108
67
|
/* Define macros for some gcc attributes. This permits us to use the
|
109
68
|
macros freely, and know that they will come into play for the
|
110
69
|
version of gcc in which they are supported. */
|
@@ -320,7 +279,7 @@ So instead we use the macro below and test it against specific values. */
|
|
320
279
|
/* Attribute `warn_unused_result' was valid as of gcc 3.3. */
|
321
280
|
#ifndef ATTRIBUTE_WARN_UNUSED_RESULT
|
322
281
|
# if GCC_VERSION >= 3003
|
323
|
-
# define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((
|
282
|
+
# define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__))
|
324
283
|
# else
|
325
284
|
# define ATTRIBUTE_WARN_UNUSED_RESULT
|
326
285
|
# endif
|
@@ -356,53 +315,12 @@ So instead we use the macro below and test it against specific values. */
|
|
356
315
|
#define ENUM_BITFIELD(TYPE) unsigned int
|
357
316
|
#endif
|
358
317
|
|
359
|
-
#if __cpp_constexpr >= 200704
|
318
|
+
#if defined(__cplusplus) && __cpp_constexpr >= 200704
|
360
319
|
#define CONSTEXPR constexpr
|
361
320
|
#else
|
362
321
|
#define CONSTEXPR
|
363
322
|
#endif
|
364
323
|
|
365
|
-
/* C++11 adds the ability to add "override" after an implementation of a
|
366
|
-
virtual function in a subclass, to:
|
367
|
-
(A) document that this is an override of a virtual function
|
368
|
-
(B) allow the compiler to issue a warning if it isn't (e.g. a mismatch
|
369
|
-
of the type signature).
|
370
|
-
|
371
|
-
Similarly, it allows us to add a "final" to indicate that no subclass
|
372
|
-
may subsequently override the vfunc.
|
373
|
-
|
374
|
-
Provide OVERRIDE and FINAL as macros, allowing us to get these benefits
|
375
|
-
when compiling with C++11 support, but without requiring C++11.
|
376
|
-
|
377
|
-
For gcc, use "-std=c++11" to enable C++11 support; gcc 6 onwards enables
|
378
|
-
this by default (actually GNU++14). */
|
379
|
-
|
380
|
-
#if defined __cplusplus
|
381
|
-
# if __cplusplus >= 201103
|
382
|
-
/* C++11 claims to be available: use it. Final/override were only
|
383
|
-
implemented in 4.7, though. */
|
384
|
-
# if GCC_VERSION < 4007
|
385
|
-
# define OVERRIDE
|
386
|
-
# define FINAL
|
387
|
-
# else
|
388
|
-
# define OVERRIDE override
|
389
|
-
# define FINAL final
|
390
|
-
# endif
|
391
|
-
# elif GCC_VERSION >= 4007
|
392
|
-
/* G++ 4.7 supports __final in C++98. */
|
393
|
-
# define OVERRIDE
|
394
|
-
# define FINAL __final
|
395
|
-
# else
|
396
|
-
/* No C++11 support; leave the macros empty. */
|
397
|
-
# define OVERRIDE
|
398
|
-
# define FINAL
|
399
|
-
# endif
|
400
|
-
#else
|
401
|
-
/* No C++11 support; leave the macros empty. */
|
402
|
-
# define OVERRIDE
|
403
|
-
# define FINAL
|
404
|
-
#endif
|
405
|
-
|
406
324
|
/* A macro to disable the copy constructor and assignment operator.
|
407
325
|
When building with C++11 and above, the methods are explicitly
|
408
326
|
deleted, causing a compile-time error if something tries to copy.
|
@@ -419,7 +337,7 @@ So instead we use the macro below and test it against specific values. */
|
|
419
337
|
|
420
338
|
so that most attempts at copy are caught at compile-time. */
|
421
339
|
|
422
|
-
#if __cplusplus >= 201103
|
340
|
+
#if defined(__cplusplus) && __cplusplus >= 201103
|
423
341
|
#define DISABLE_COPY_AND_ASSIGN(TYPE) \
|
424
342
|
TYPE (const TYPE&) = delete; \
|
425
343
|
void operator= (const TYPE &) = delete
|