Snap for 8564071 from d7e59a5af28625feb2b9fb90317635444f7f7bbb to mainline-cellbroadcast-release Change-Id: I4ea7636afe6371f2681f57108da718841263c408
diff --git a/.clang-format b/.clang-format index 1b422df..d09d739 100644 --- a/.clang-format +++ b/.clang-format
@@ -2,17 +2,24 @@ --- BasedOnStyle: GNU Standard: c++11 -AlignConsecutiveDeclarations: true +AlignConsecutiveDeclarations: false +AllowShortBlocksOnASingleLine: Always +AllowShortEnumsOnASingleLine: true +AllowShortFunctionsOnASingleLine: All +AllowShortLambdasOnASingleLine: All AlwaysBreakAfterReturnType: All BreakConstructorInitializers: BeforeColon ConstructorInitializerAllOnOneLineOrOnePerLine: true ConstructorInitializerIndentWidth: 2 +Cpp11BracedListStyle: true IndentWidth: 2 AlignAfterOpenBracket: Align +BinPackArguments: false BinPackParameters: false BreakStringLiterals: false PointerAlignment: Left SortUsingDeclarations: false +SpaceAfterCStyleCast: true SpaceBeforeParens: ControlStatements TabWidth: 8 UseTab: Always
diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..b07ed48 --- /dev/null +++ b/.mailmap
@@ -0,0 +1,7 @@ +# A few commits have been pushed with 'Author: NAME via Libabigail <libabigail@sourceware.org>'. +# Map these to the respective 'Signed-off-by's. +Ben Woodard <woodard@redhat.com> Ben Woodard via Libabigail <libabigail@sourceware.org> +Guillermo E. Martinez <guillermo.e.martinez@oracle.com> Guillermo E. Martinez via Libabigail <libabigail@sourceware.org> +Jose E. Marchesi <jose.marchesi@oracle.com> Jose E. Marchesi via Libabigail <libabigail@sourceware.org> +Matthias Maennich <maennich@google.com> Matthias Maennich via libabigail <libabigail@sourceware.org> +Xiao Jia <xiaoj@google.com> Xiao Jia via libabigail <libabigail@sourceware.org>
diff --git a/ABIXML-FORMAT-VERSIONS b/ABIXML-FORMAT-VERSIONS new file mode 100644 index 0000000..811771a --- /dev/null +++ b/ABIXML-FORMAT-VERSIONS
@@ -0,0 +1,67 @@ +2.1 version +=========== + +This occurred in libabigail 2.1. The IR doesn't contain no-op +qualified types anymore. These were the ancient way to represent +qualified type that were edited by libabigail to avoid spurious +diagnostics. E.g, const references or const void type. In those +cases, we were replacing these by qualified types that were no-ops. +Those no-ops qualified types further needed to be stripped off in the +diff IR to avoid emitting spurious changes. It turned out stripping +out those no-op qualified types was causing some difficulties in the +algorithms that propagate type diff node categorization. + +For instance, variable diff type node would have the categorization of +its diff->type_diff() be different from what we could see from the +change observed between its diff->first_subject()->get_type() and +diff->second_subject()->get_type(). This is because diff->type_diff() +strips the no-op qualified types to create a new diff IR node, whereas +looking at the difference between diff->first_subject->get_type() and +diff->second_subject()->get_type() gives a different perspective. + +So looking at the "changes" carried by 'diff' could yield a result +suggesting that there was a change to be diagnosed, carried by the +difference between diff->first_subject()->get_type() and +diff->second_subject()->get_type() -- a difference between two no-ops +qualified types -- whereas actually looking at diff->type_diff() (that +should be equivalent) yields a different information because it's +stripped off of the no-op qualified type. + +Just removing the no-op qualified types removed all those issues +altogether. So in concrete terms, when we see a const reference, it's +replaced by a reference (because a reference is always const) and +when we see a const void, it's replaced by void. As simple as that. + +But then the emitted ABIXML won't carry any no-op qualified type +anymore. Older versions of ABIXML might still carry those, and so +abidiff-ing those against their original binary might yield some +spurious diagnostics. Hence the minor version bump. + +relevant commit: +---------------- +commit 8a4f72005bc96fecf63414784cf94857eddbd124 +Author: Dodji Seketeli <dodji@redhat.com> +Date: Thu Nov 4 10:59:32 2021 +0100 + + Bug 28450 - Fix cloned member function handling in DWARF +2.0 version +=========== + +This occured in libabigail 2.0. The interpretation of +DW_AT_bit_offset (DWARF 5) changed so the value of the +'layout-offset-in-bits' property of the 'data-member' element might +now have changed in an incompatible way. + +relevant commit: +---------------- +commit 23046152e0843bc2f141e37dcce047305c3f4379 +Author: Dodji Seketeli <dodji@redhat.com> +Date: Thu Oct 22 16:04:08 2020 +0200 + + Bump ABIXML format version to 2.0 + + +1.0 version +=========== + +This was the initial version of abixml.
diff --git a/Android.bp b/Android.bp index d743ebb..09e7d16 100644 --- a/Android.bp +++ b/Android.bp
@@ -16,28 +16,7 @@ default_applicable_licenses: ["external_libabigail_license"], } -// Added automatically by a large-scale-change that took the approach of -// 'apply every license found to every target'. While this makes sure we respect -// every license restriction, it may not be entirely correct. -// -// e.g. GPL in an MIT project might only apply to the contrib/ directory. -// -// Please consider splitting the single license below into multiple licenses, -// taking care not to lose any license_kind information, and overriding the -// default license using the 'licenses: [...]' property on targets as needed. -// -// For unused files, consider creating a 'fileGroup' with "//visibility:private" -// to attach the license to, and including a comment whether the files may be -// used in the current project. -// -// large-scale-change included anything that looked like it might be a license -// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. -// -// Please consider removing redundant or irrelevant files from 'license_text:'. -// -// large-scale-change filtered out the below license kinds as false-positives: -// SPDX-license-identifier-LGPL-3.0 -// See: http://go/android-license-faq +// http://go/android-license-faq license { name: "external_libabigail_license", visibility: [":__subpackages__"], @@ -45,11 +24,9 @@ "SPDX-license-identifier-Apache-2.0", "SPDX-license-identifier-BSL-1.0", "SPDX-license-identifier-MIT", - "legacy_unencumbered", ], license_text: [ - "LICENSE.txt", - "license-change-2020.txt", + "LICENSE", ], } @@ -57,13 +34,13 @@ name: "libabigail_defaults", cflags: [ "-DABIGAIL_ROOT_SYSTEM_LIBDIR=\"lib\"", + "-DUSE_ANDROID_BUILD_NUMBER", "-fexceptions", "-Wno-implicit-fallthrough", ], local_include_dirs: [ "src", - "include", ], static_libs: [ @@ -72,19 +49,21 @@ "libicuuc", "libicuuc_stubdata", "libxml2", + "libbuildversion", "libz", ], - generated_headers: ["android_build_version"], - visibility: [ - "//visibility:private", + "//external/stg", ], compile_multilib: "64", target: { darwin: { enabled: false, }, + musl: { + static_libs: ["libfts"], + }, }, } @@ -95,8 +74,19 @@ "src/*.cc", ], exclude_srcs: [ + "src/abg-ctf-reader.cc", "src/abg-viz-*", ], + export_include_dirs: ["include"], +} + +cc_library_headers { + name: "libabigail_src_headers", + host_supported: true, + visibility: ["//external/stg"], + export_include_dirs: [ + "src", + ], } cc_binary_host { @@ -121,14 +111,13 @@ ], } -genrule { - name: "android_build_version", - cmd: "$(location) $(location .) $(out)", - out: [ - "android_build_version.h", +cc_binary_host { + name: "abitidy", + defaults: ["libabigail_defaults"], + srcs: [ + "tools/abitidy.cc", ], - srcs : ["."], - tool_files: [ - "android_build_version.sh" - ] + static_libs: [ + "libabigail", + ], }
diff --git a/CONTRIBUTING b/CONTRIBUTING index 7e3e856..5ab7bcc 100644 --- a/CONTRIBUTING +++ b/CONTRIBUTING
@@ -63,25 +63,28 @@ tarball of the project that you can download from the internet) then you can do: - make distcheck + make distcheck-fast This actually builds the tarball, then untars it, configure/compile the untarred source code and launches the regression checks from there. +Here, "make distcheck-fast" is a variant of the standard "make distcheck". +It compresses with "--fast" instead of default "--best", and is +significantly faster, given the size of the distribution. You very likely +want to use that one for local regression testing. (However, don't use +"make distcheck-fast" to create artifacts for distribution.) + You can also launch this in parallel by doing: - make -jN -lN distcheck + make -jN -lN distcheck-fast with N being the number of processor core you have on your system. -Please make sure you always launch "make distcheck" before sending a +Please make sure you always launch "make distcheck-fast" before sending a patch, so that you are sure that we can always build a tarball after your patch is applied to the source tree. -A variant of distcheck is "make distcheck-fast". It's like "make -distcheck" but it's faster. You can just use that one. - A complementary regression checking target is "check-self-compare". You invoke it by doing "make check-self-compare". That target analyzes the ABI of the libabigail.so shared object, serializes it @@ -89,68 +92,13 @@ representation gathered from the libabigail.so binary against the one gathered from the ABIXML format. The two should be equal if everything goes right. This is an important regression test. The -problem is that it can takes twice as much time as make distcheck. So -we've put it into its own separate target. +problem is that it can take a considerable amount of time. +So we've put it into its own separate target. So, to be complete the regression checking command to run against your -patch should be: "make check-self-compare distcheck -j16", if you have +patch should be: "make check-self-compare distcheck-fast -j16", if you have a machine with a 16 threads processors, for instance. -Coding language and style -========================== - -The coding style is self evident when reading the source code. So -please, stick to and mimic what is already in there for the sake of -consistency at very least. Just for history, it's derived from the -style of the C++ standard library from the GNU project. - -As of libabigail 2.0, the language we use is C++ 11. The level -supported is the one supported by the GCC 4.8.x series of compilers. -This should be old and well tested enough to be supported by your -current favorite compiler. - -Initially, the code base of the project was written in C++03, with the -TR1 extensions. That heritage is well visible in the code base as it -is today. - -Please do not rush and send gazillions of patches that just re-write -tons of code into your favorite C++ 11 flavour du jour. We will -likely reject those patches. We want to keep the history of the code -base in such a way that tools like "git blame <sourcefile> are still -useful. - -So we'll accept patches changing parts of the code base to more recent -C++ 11 constructs only if you happen to add functionality or fix -things in that area. If it makes "cultural common" sense to adopt -those constructs. What I mean by "cultural" is that must make sense -in relative to the culture of the project. And yes, that is -subjective. Sorry. - -As a generic rule, we tend to favor the lowest possible level of -abstraction that makes sense without requiring future maintainers of -the project to have a PhD in design patterns. We are not impressed by -design patterns. We use them where they make clear sense, but we -don't idolize them. Put it another way, we will always favor the one -who *READS* and debug the code over the one who writes it. To put -things in a hypothetical perspective, we'll rather accept a repetitive -code that stays simple to read and debug over a highly abstract one -using meta programming to save a few lines of repetitive code located -in a very small number of places. - -Really, in this project, we care about low level binary analysis -stuff. Issues in that area can be hard to reproduce and quite -challenging to debug. So having tons of abstraction layers in the -code base have proven to be a maintenance burden over the years, from -our experience in working on similar projects. So please help us -avoid those mistakes that we make just for the pleasure of writing -what can look as "pleasant code" at a first naive sight. - -That being said, we also love cleanly designed APIs that are fairly -re-usable and well documented. And we also praise abstraction and -modularisation that we recognize as being the most basic tools of any -engineer. So we like to think about ourselves as well rounded people -who care about maintaining things for a long time to come :-) - Launching regression tests in Valgrind -------------------------------------- @@ -226,6 +174,81 @@ tests/data/Makefile.am file, in the EXTRA_DIST variable. Look at how things are organized in that file, and please do things similarly. +fedabipkgdiff testing +--------------------- + +This depends on the Python koji and a few support modules. If these are +not available, 'configure' disables fedabipkgdiff and its 'make check' +testing. + +Debian and Ubuntu, for example, don't provide packages for the Python +koji module. If you'd like to run fedabipkgdiff testing without manually +doing a proper Koji installation, you may simply download Koji sources +(<https://pagure.io/koji>, releases, or Git clone) and point to these via +the Python search path. For example, tested 2021-12-11: + + wget https://pagure.io/koji/archive/koji-1.27.0/koji-koji-1.27.0.tar.gz + tar -xzf koji-koji-1.27.0.tar.gz + export PYTHONPATH="$PWD"/koji-koji-1.27.0 + +A libabigail 'configure' run then enables fedabipkgdiff and its +'make check' testing. + +Coding language and style +========================== + +The coding style is self evident when reading the source code. So +please, stick to and mimic what is already in there for the sake of +consistency at very least. Just for history, it's derived from the +style of the C++ standard library from the GNU project. + +As of libabigail 2.0, the language we use is C++ 11. The level +supported is the one supported by the GCC 4.8.x series of compilers. +This should be old and well tested enough to be supported by your +current favorite compiler. + +Initially, the code base of the project was written in C++03, with the +TR1 extensions. That heritage is well visible in the code base as it +is today. + +Please do not rush and send gazillions of patches that just re-write +tons of code into your favorite C++ 11 flavour du jour. We will +likely reject those patches. We want to keep the history of the code +base in such a way that tools like "git blame <sourcefile> are still +useful. + +So we'll accept patches changing parts of the code base to more recent +C++ 11 constructs only if you happen to add functionality or fix +things in that area. If it makes "cultural common" sense to adopt +those constructs. What I mean by "cultural" is that must make sense +in relative to the culture of the project. And yes, that is +subjective. Sorry. + +As a generic rule, we tend to favor the lowest possible level of +abstraction that makes sense without requiring future maintainers of +the project to have a PhD in design patterns. We are not impressed by +design patterns. We use them where they make clear sense, but we +don't idolize them. Put it another way, we will always favor the one +who *READS* and debug the code over the one who writes it. To put +things in a hypothetical perspective, we'll rather accept a repetitive +code that stays simple to read and debug over a highly abstract one +using meta programming to save a few lines of repetitive code located +in a very small number of places. + +Really, in this project, we care about low level binary analysis +stuff. Issues in that area can be hard to reproduce and quite +challenging to debug. So having tons of abstraction layers in the +code base have proven to be a maintenance burden over the years, from +our experience in working on similar projects. So please help us +avoid those mistakes that we make just for the pleasure of writing +what can look as "pleasant code" at a first naive sight. + +That being said, we also love cleanly designed APIs that are fairly +re-usable and well documented. And we also praise abstraction and +modularisation that we recognize as being the most basic tools of any +engineer. So we like to think about ourselves as well rounded people +who care about maintaining things for a long time to come :-) + Sign your work ==============
diff --git a/ChangeLog b/ChangeLog index c810dea..30918b4 100644 --- a/ChangeLog +++ b/ChangeLog
@@ -1,3 +1,3555 @@ +2021-10-04 Dodji Seketeli <dodji@redhat.com> + + Update NEWS file for 2.0 + * NEWS: Update for 2.0 + +2021-09-23 Dodji Seketeli <dodji@redhat.com> + + Bug 27086 - Consider all C++ virtual destructors when there are many + * src/abg-dwarf-reader.c (build_or_get_fn_decl_if_not_suppressed): + Do not try to re-use a virtual destructor of a class, based on its + signature. Several different of these can have the same + signature, inside a given class. + * tests/data/test-types-stability/PR27086-libstdc++.so.6.0.26: + Add new binary test input. + * tests/data/Makefile.am: Add the new test input to source + distribution. + * tests/test-types-stability.cc (elf_paths): Add the test input + above to this harness. + +2021-09-23 Dodji Seketeli <dodji@redhat.com> + + dwarf-reader: Indent + * src/abg-dwarf-reader.cc (finish_member_function_reading): Fix + indentation. + +2021-09-22 Dodji Seketeli <dodji@redhat.com> + + Bug 27970 - Duplicated member functions cause spurious self comparison changes + * src/abg-dwarf-reader.cc (fixup_functions_with_no_symbols): When + the function decl is finally associated to its (publicly defined) + ELF symbol, mark it as being exported. + (finish_member_function_reading): Don't risk marking a virtual + function as being non-virtual when updating its properties. + (build_or_get_fn_decl_if_not_suppressed): Update comment. If the + member function is already present in the class, do not create a + new one; rather, reuse the existing one. It's going to be later + updated by finish_member_function_reading. + * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Adjust. + * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: Likewise. + * tests/data/test-diff-filter/test41-report-0.txt: Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: + Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: + Likewise. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. + * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. + +2021-09-21 Dodji Seketeli <dodji@redhat.com> + + abipkgdiff: Do not erase working dirs before we are done using them + * tools/abipkgdiff.cc (compare_prepared_userspace_packages): + Removing working directories "early" prevents e.g, + dwarf_reader::get_soname_of_elf_file from accessing those files. + So do not remove them until the very end. + * tests/data/test-diff-pkg/libxcrypt-4.1.1-6.el8.x86_64--libxcrypt-4.1.1-6.el8.x86_64-output-1.txt: + Adjust. + +2021-09-14 Dodji Seketeli <dodji@redhat.com> + + Bug 28316 - Failure to represent typedef named anonymous enums + * include/abg-fwd.h (scope_anonymous_or_typedef_named) + (is_anonymous_or_typedef_named): Declare new functions. + * include/abg-ir.h (decl_base::set_has_anonymous_parent): Remove + declaration. + (decl_base::{get,set}_naming_typedef): Declare new member + functions. + * src/abg-ir.cc (update_qualified_name): Define static function. + (decl_base::priv::naming_typedef_): Define new data member. + (decl_base::priv::has_anonymous_parent_): Remove data member. + (decl_base::priv::priv): Adjust constructor. + (decl_base::get_has_anonymous_parent): Rather than storing a flag + for this, dynamically look at if the scope is anonymous. + (decl_base::set_has_anonymous_parent): Remove definition. + (decl_base::{get,set}_naming_typedef): Define new member + functions. + (scope_anonymous_or_typedef_named) + (is_anonymous_or_typedef_named): Define new functions. + (get_decl_name_for_comparison): Define new sub-routine for the + decl_base overload of equals. + (equals): In the overload for decl_base, use the new + get_decl_name_for_comparison. It helps to ensure that all + anonymous decls of the same kind have the same name for the + purpose of comparison. It also ensures that non anonymous decls + that are part of anonymous scopes should be compared only by + looking at their non-qualified names. In the overload for + class_or_union, adjust. + (scope_decl::add_member_decl): No more need to flag the fast that + the parent scope is anonymous here. + (get_debug_representation): Fix a thinko. + (class_or_union::get_naming_typedef): Remove member function as + it's now handled by decl_base::get_naming_typedef. + * src/abg-dwarf-reader.cc (build_typedef_type): When a typedef is + a naming typedef, then mark the named decl as being typedef-named. + (maybe_canonicalize_type): Delay canonicalization of anonymous + types because they can be typedef-named later. + * src/abg-reader.cc (read_naming_typedef_id_string) + (maybe_set_naming_typedef): Define new static function. + (build_class_decl): Use it here, rather than reading the + "naming-typedef-id" by hand. + (build_enum_type_decl, build_union_decl): Read the + "naming-typedef-id" property. + * src/abg-writer.cc (write_naming_typedef): Make this accept + decl_base_sptr, rather than just class_decl_sptr. + (write_enum_type_decl): Write the naming-typedef-id property if + needed. + * tests/data/test-abidiff-exit/test-PR28316-report.txt: New test + reference output. + * tests/data/test-abidiff-exit/test-PR28316-v{0,1}.cc: Source code + of new binary test input. + * tests/data/test-abidiff-exit/test-PR28316-v{0,1}.o: New binary + test input files. + * tests/data/Makefile.am: Add the new test files to the source + distribution. + * tests/test-abidiff-exit.cc: Add the new test files above to this + harness. + * tests/data/test-annotate/libtest23.so.abi: Adjust. + * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise. + * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-annotate/test13-pr18894.so.abi: Likewise. + * tests/data/test-annotate/test14-pr18893.so.abi: Likewise. + * tests/data/test-annotate/test15-pr18892.so.abi: Likewise. + * tests/data/test-annotate/test21-pr19092.so.abi: Likewise. + * tests/data/test-diff-dwarf/test15-enum-report.txt: Likewise. + * tests/data/test-diff-filter/test19-enum-report-1.txt: Likewise. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt: + Likewise. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt: + Likewise. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt: + Likewise. + * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt: + Likewise. + * tests/data/test-diff-pkg/PR24690/PR24690-report-0.txt: Likewise. + * tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt: + Likewise. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt: + Likewise. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt: + Likewise. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt: + Likewise. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt: + Likewise. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: + Likewise. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise. + * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: + Likewise. + * tests/data/test-read-dwarf/libtest23.so.abi: Likewise. + * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi: + Likewise. + * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. + * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise. + * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: + Likewise. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. + +2021-09-17 Dodji Seketeli <dodji@redhat.com> + + abipkgdiff: Fix showing added/removed files + * tools/abipkgdiff.cc (compare_prepared_userspace_packages): Do + not return early if there are no binaries to compare. Also add + more verbose messages. + * tests/data/test-diff-pkg/libxcrypt-4.1.1-6.el8.x86_64--libxcrypt-4.1.1-6.el8.x86_64-output-1.txt: + New reference output file. + * tests/data/test-diff-pkg/libxcrypt-4.1.1-6.el8.x86_64--libxcrypt-compat-4.4.18-3.el9.x86_64-report-1.txt: + New reference output file. + * tests/data/test-diff-pkg/libxcrypt-4.1.1-6.el8.x86_64.rpm: New + binary input file. + * tests/data/test-diff-pkg/libxcrypt-4.4.18-3.el9.x86_64.rpm: Likewise. + * tests/data/test-diff-pkg/libxcrypt-compat-4.4.18-3.el9.x86_64.rpm: Likewise. + * tests/data/test-diff-pkg/libxcrypt-compat-debuginfo-4.4.18-3.el9.x86_64.rpm: Likewise. + * tests/data/test-diff-pkg/libxcrypt-debuginfo-4.1.1-6.el8.x86_64.rpm: Likewise. + * tests/data/test-diff-pkg/libxcrypt-debuginfo-4.4.18-3.el9.x86_64.rpm: Likewise. + * tests/data/Makefile.am: Add the new testing files to source + distribution. + * tests/test-diff-pkg.cc (in_out_specs): Add these binary packages + to this testing harness. + +2021-09-09 Dodji Seketeli <dodji@redhat.com> + + RHBZ1944102 - self comparing ABI of protobuf-3.14.0-2.el9 failed + * src/abg-reader.cc (read_size_and_alignment): Use atoll to read + long long values, not atoi. + +2021-09-08 Dodji Seketeli <dodji@redhat.com> + + RHBZ1951496 - ir: Acknowledge that "void type" is not canonicalized + * src/abg-ir.cc (is_allowed_non_canonicalized_type): Define new + static function. + (hash_as_canonical_type_or_constant): Use it. + +2021-09-08 Dodji Seketeli <dodji@redhat.com> + + writer: Avoid sigsev on types with no translation unit + * src/abg-writer.cc (referenced_type_should_be_emitted): Don't + crash on types with no associated translation unit. + +2021-09-08 Dodji Seketeli <dodji@redhat.com> + + xml-reader: Get back to original way of building qualified types + * src/abg-reader.cc (build_qualified_type_decl): Create the + underlying type first, then create the qualified type. + This helps fix bug + +2021-09-08 Dodji Seketeli <dodji@redhat.com> + + ir: Fix canonical type propagation cancelling + * src/abg-ir.cc (return_comparison_result): When the comparison of + the current type sub-object fails, clear the potentially + propagated canonical type and remove it from the set of types with + non confirmed propagated canonical types. + +2021-09-08 Dodji Seketeli <dodji@redhat.com> + + ir: Avoid infinite loop during type canonicalization + * src/abg-ir-priv.h + (environment::priv::collect_types_that_depends_on): Don't try to + collect a type that has already been collected. + +2021-09-07 Dodji Seketeli <dodji@redhat.com> + + writer: escape enum linkage name in abixml + * src/abg-writer.cc (write_enum_type_decl): Escape linkage name. + +2021-09-07 Dodji Seketeli <dodji@redhat.com> + + RHBZ-1944096 - assertion failure during self comparison of systemd + * src/abg-reader.cc (build_enum_type_decl): When strtoll detects + an underflow or overflo, it sets errno to ERANGE. So take that + into account. + +2021-09-03 Dodji Seketeli <dodji@redhat.com> + + Bug 27985 - abidiff: bad array types in report + * src/abg-ir.cc (array_type_def::get_qualified_name): Use the + cache for temporary qualified names when the type is not yet + canonicalized. That way, the cache for (non-temporary) qualified + names is used only for canonicalized types. + * tests/data/test-abidiff/test-PR27985-report.txt: Reference + output for the new test. + * tests/data/test-abidiff/test-PR27985-v{0,1}.c: Source code for + the new test binary inputs. + * tests/data/test-abidiff/test-PR27985-v{0,1}.o: New test binary inputs. + * tests/data/test-abidiff/test-PR27985-v{0,1}.o.abi: New test + abixml input. + * tests/data/Makefile.am: Add the new test materials above to + source distribution. + * tests/test-abidiff.cc (specs): Add the tests above to the harness. + * tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt: + Adjust. + * tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt: + Adjust. + +2021-08-27 Giuliano Procida <gprocida@google.com> + + abg-writer: faster referenced type emission tests + * src/abg-writer.cc (write_translation_unit): Reorder + referenced type emission tests for efficiency. Consolidate + related comments. + Reviewed-by: Matthias Maennich <maennich@google.com> + +2021-08-10 Dodji Seketeli <dodji@redhat.com> + + RHBZ 1925886 - Compare anonymous types without qualified names + * include/abg-fwd.h (is_anonymous_type): Constify this function. + * src/abg-ir.cc (equals): In the overload for decl_base, do not + take scope of anonymous types into account. In the overload for + array_type_def do not peel of typedefs. This is not directly + related to anonymous types, but it make comparison more robust + against naming typedefs used for anonymous types in array + elements. + (get_type_name): Do not take into account the scope of anonymous + types when building internal representation of types. Note that + the internal representation is what is used for canonicalization. + This means that all anonymous types are compared against each + others during type canonicalization. + * src/abg-reader.cc (build_class_decl): Do not try to re-use + anonymous types, just like we already do for DWARF. + * tests/data/test-annotate/test17-pr19027.so.abi: Adjust. + * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: + Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: + Likewise. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. + * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. + * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise. + * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: + Likewise. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. + +2021-07-29 Dodji Seketeli <dodji@redhat.com> + + Bug 27236 - Don't forget to emit some referenced types + * include/abg-writer.h (write_translation_unit): Add a new + parameter that says if we are emitting the last TU. + * src/abg-writer.cc (write_translation_unit::{type_is_emitted, + decl_only_type_is_emitted}): Constify these methods. + (write_context::has_non_emitted_referenced_types): Define new + member function using the const methods above. + (write_translation_unit): When emitting the last TU, emit all the + referenced types. + (write_corpus): Set signal when emitting the last translation + unit. + +2021-07-29 Dodji Seketeli <dodji@redhat.com> + + Bug 27236 - Allow updating classes from abixml + * src/abg-reader.cc (build_class_decl): Keep going when the class + has already been built. The rest of the code knows how to add new + stuff. + * tests/data/test-abidiff/test-PR18791-report0.txt: Adjust. + +2021-07-29 Dodji Seketeli <dodji@redhat.com> + + Bug 27236 - Fix the canonical type propagation optimization + * include/abg-ir.h (pointer_set): This typedef is now for an + unordered_set<uintptr_t> rather than an unordered_set<size_t>. + (environment::priv_): Make this public so that code in free form + function from abg-ir.cc can access it. + * src/abg-ir-priv.h (struct type_base::priv): Move this private + structure here, from abg-ir.cc. + (type_base::priv::{depends_on_recursive_type_, + canonical_type_propagated_}): Added these two new data members. + (type_base::priv::priv): Initialize the two new data members. + (type_base::priv::{depends_on_recursive_type, + set_depends_on_recursive_type, + set_does_not_depend_on_recursive_type, canonical_type_propagated, + set_canonical_type_propagated, clear_propagated_canonical_type}): + Define new member functions. + (struct environment::priv): Move this struct here, from abg-ir.cc. + (environment::priv::{types_with_non_confirmed_propagated_ct_, + left_type_comp_operands_, right_type_comp_operands_}): New data + members. + (environment::priv::{mark_dependant_types, + mark_dependant_types_compared_until, confirm_ct_propagation, + collect_types_that_depends_on, cancel_ct_propagation, + remove_from_types_with_non_confirmed_propagated_ct}): New member + functions. + * src/abg-ir.cc (struct environment::priv, struct) + (type_base::priv, struct class_or_union::priv): Move these struct + to include/abg-ir-priv.h. + (push_composite_type_comparison_operands) + (pop_composite_type_comparison_operands) + (mark_dependant_types_compared_until) + (maybe_cancel_propagated_canonical_type): Define new functions. + (notify_equality_failed, mark_types_as_being_compared): Re-indent. + (is_comparison_cycle_detected, return_comparison_result): Define + new function templates. + (RETURN_TRUE_IF_COMPARISON_CYCLE_DETECTED): Define new macro. + (equals(const function_type& l, const function_type& r)): Redefine + the RETURN macro using the new return_comparison_result function + template. Use the new RETURN_TRUE_IF_COMPARISON_CYCLE_DETECTED + and mark_types_as_being_compared functions. + (equals(const class_or_union& l, const class_or_union&, change_kind*)): + Likewise. + (equals(const class_decl& l, const class_decl&, change_kind*)): + Likewise. Because this uses another equal() function to compare + the class_or_union part the type, ensure that no canonical type + propagation occurs at that point. + (types_are_being_compared): Remove as it's not used anymore. + (maybe_propagate_canonical_type): Use the new + environment::priv::propagate_ct() function here. + (method_matches_at_least_one_in_vector): Ensure the + right-hand-side operand of the equality stays on the right. This + is important because the equals() functions expect that. + * src/abg-reader.cc (build_type): Ensure all types are + canonicalized. + * tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt: + Adjust. + * tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt: + Likewise. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt: + Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: + Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: + Likewise. + * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise. + +2021-06-30 Dodji Seketeli <dodji@redhat.com> + + Bug 27995 - Self comparison error from abixml file + * doc/manuals/abidiff.rst: Add documentation for the --debug + option. + * src/abg-ir.cc (equals): In the overload for decl_base consider + the internal version of qualified decl name. In the overload for + pointer_type_def do not peel typedefs off from the compared + pointed-to types. In the overload for typedef_decl compare the + typedef as a decl as well. In the overload for var_decl, compare + variables that have the same ELF symbols without taking into + account their qualified name, rather than their name. Stop + comparing data member without considering their names. + In the overload for class_or_union, when a decl-only class that is + ODR-relevant is compared against another type, assume that + equality if names are equal. This is useful in environments where + some TUs are ODR-relevant and others aren't. + (*::get_pretty_representation): Update doxygen comments. + (enum_type_decl::get_pretty_representation): Return an internal + pretty representation that is stable across all anonymous enums. + (var_decl::get_anon_dm_reliable_name): Use the non-internal pretty + representation for anonymous data members. + (function_type::priv::temp_internal_cached_name_): New data + member. + (function_type::get_cached_name): Cache the internal name after + the function type is canonicalized. Make sure internal name and + non-internal name are cached separately. + (class_or_union::find_anonymous_data_member): Look for the anonymous + data member by looking at its non-internal name. + ({class, union}_decl::get_pretty_representation): Use something like "class + __anonymous_{union,struct}__" for all anonymous classes, so that they can + all be compared against each other during type canonicalization. + (type_has_sub_type_changes): Use non-internal pretty + representation. + (hash_type_or_decl, function_decl_is_less_than:): Use internal + pretty representation for comparison here. + * src/abg-reader.cc (read_context::maybe_canonicalize_type): Don't + early canonicalize array types. + * src/abg-writer.cc (annotate): Use non-internal pretty + representation. + * tests/data/test-diff-filter/test-PR27995-report-0.txt: New + reference report. + * tests/data/test-diff-filter/test-PR27995.abi: New test input + abixml file. + * tests/data/Makefile.am: Add test-PR27995.abi, + test-PR27995-report-0.txt to the source distribution. + * tests/data/test-annotate/libtest23.so.abi: Adjust. + * tests/data/test-diff-dwarf/test6-report.txt: Adjust. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Adjust. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: Adjust. + * tests/data/test-diff-filter/test41-report-0.txt: Adjust. + * tests/data/test-diff-filter/test43-decl-only-def-change-leaf-report-0.txt: Adjust. + * tests/data/test-diff-filter/test8-report.txt: Adjust. + * tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt: + Adjust. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt: + Adjust. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt: + Adjust. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt: + Adjust. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: + Adjust. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: + Adjust. + * tests/data/test-diff-suppr/test39-opaque-type-report-0.txt: Adjust. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Adjust. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Adjust. + * tests/data/test-read-dwarf/libtest23.so.abi: Adjust. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Adjust. + * tests/data/test-read-dwarf/test11-pr18828.so.abi: Adjust. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Adjust. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Adjust. + * tests/test-diff-filter.cc (in_out_specs): Add the + test-PR27995.abi to the test harness. + * tools/abidiff.cc (options::do_debug): New data member. + (options::options): Initialize it. + (parse_command_line): Parse --debug. + (main): Activate self comparison debug if the user provided + --debug. + +2021-06-25 Dodji Seketeli <dodji@redhat.com> + + ir: Tighten type comparison optimization for Linux kernel binaries + * src/abg-ir.cc (types_defined_same_linux_kernel_corpus_public): + Ensure that anonymous classes with naming typedefs have identical + typedef names. + +2021-06-25 Dodji Seketeli <dodji@redhat.com> + + ir: Tighten the test for anonymous data member + * src/abg-ir.cc: (is_anonymous_data_member): Consider + decl_base::get_is_anonymous as well. + +2021-06-24 Dodji Seketeli <dodji@redhat.com> + + ir: Improve the debugging facilities + * src/abg-ir.cc (maybe_compare_as_member_decls): Add a missing + ABG_RETURN + (get_debug_representation): Display the name of class and enums, + not their pretty representation. + +2021-07-10 Giuliano Procida <gprocida@google.com> + + PR28060 - Invalid offset for bitfields + * src/abg-dwarf-reader.cc (read_and_convert_DW_at_bit_offset): + Update documentation. + (die_member_offset): Treat DW_AT_bit_offset as an optional + adjustment to DW_AT_data_member_location. + * tests/data/test-annotate/test13-pr18894.so.abi: Update. + * tests/data/test-annotate/test15-pr18892.so.abi: Update. + * tests/data/test-annotate/test17-pr19027.so.abi: Update. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Update. + * tests/data/test-annotate/test21-pr19092.so.abi: Update. + * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi: + Regenerate. + * tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt: + Report now empty. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Update. + * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: + Update. + * tests/data/test-read-dwarf/test13-pr18894.so.abi: Update. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Update. + * tests/data/test-read-dwarf/test17-pr19027.so.abi: Update. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Update. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Update. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: + Update. + +2021-07-07 Giuliano Procida <gprocida@google.com> + + abg-ir.h: add declaration of operator<< for elf_symbol::visibility + * include/abg-ir.h (operator<<(elf_symbol::visibility): Add + declaration. + +2021-07-06 Giuliano Procida <gprocida@google.com> + + ir: remove "is Linux string constant" property from elf_symbol + * include/abg-ir.h (elf_symbol::elf_symbol): Drop + is_linux_string_cst argument. + (elf_symbol::create): Likewise. + (elf_symbol::get_is_linux_string_cst): Drop method. + * src/abg-dwarf-reader.cc (lookup_symbol_from_sysv_hash_tab): + Remove code that gets the index of the __ksymtab_strings + section. Drop corresponding elf_symbol::create argument. + (lookup_symbol_from_gnu_hash_tab): Likewise. + (lookup_symbol_from_symtab): Likewise. + (create_default_fn_sym): Drop false is_linux_string_cst + argument to elf_symbol::create. + * src/abg-ir.cc (elf_symbol::priv::is_linux_string_cst_): Drop + member variable. + (elf_symbol::priv default ctor): Drop initialisation of + is_linux_string_cst_. + (elf_symbol::priv normal ctor): Drop is_linux_string_cst + argument and corresponding is_linux_string_cst_ + initialisation. + (elf_symbol::elf_symbol ctor): Drop is_linux_string_cst + argument and corresponding forwarding to priv ctor. + (elf_symbol::create): Drop is_linux_string_cst argument and + corresponding forwarding to ctor. + (elf_symbol::get_is_linux_string_cst): Drop method. + * src/abg-reader.cc (build_elf_symbol): Drop false + is_linux_string_cst argument to elf_symbol::create. + * src/abg-symtab-reader.cc (symtab::load): Likewise. + +2021-07-05 Matthias Maennich <maennich@google.com> + + Consistently use std::unique_ptr for private implementations (pimpl) + * include/abg-comparison.h (diff_maps): use unique_ptr for priv_ + (diff_context): Likewise. + (diff_traversable_base): Likewise. + (type_diff_base): Likewise. + (decl_diff_base): Likewise. + (distinct_diff): Likewise. + (var_diff): Likewise. + (pointer_diff): Likewise. + (reference_diff): Likewise. + (array_diff): Likewise. + (qualified_type_diff): Likewise. + (enum_diff): Likewise. + (class_or_union_diff): Likewise. + (class_diff): Likewise. + (base_diff): Likewise. + (scope_diff): Likewise. + (fn_parm_diff): Likewise. + (function_type_diff): Likewise. + (function_decl_diff): Likewise. + (typedef_diff): Likewise. + (translation_unit_diff): Likewise. + (diff_stats): Likewise. + (diff_node_visitor): Likewise. + * include/abg-corpus.h (corpus): Likewise. + (exported_decls_builder): Likewise. + (corpus_group): Likewise. + * include/abg-ini.h (property): Likewise. + (property_value): Likewise. + (string_property_value): Likewise. + (list_property_value): Likewise. + (tuple_property_value): Likewise. + (simple_property): Likewise. + (list_property): Likewise. + (tuple_property): Likewise. + (config): Likewise. + (section): Likewise. + (function_call_expr): Likewise. + * include/abg-interned-str.h (interned_string_pool): Likewise. + * include/abg-ir.h (environment): Likewise. + (location_manager): Likewise. + (type_maps): Likewise. + (translation_unit): Likewise. + (elf_symbol::version): Likewise. + (type_or_decl_base): Likewise. + (scope_decl): Likewise. + (qualified_type_def): Likewise. + (pointer_type_def): Likewise. + (array_type_def): Likewise. + (subrange_type): Likewise. + (enum_type_decl): Likewise. + (enum_type_decl::enumerator): Likewise. + (typedef_decl): Likewise. + (dm_context_rel): Likewise. + (var_decl): Likewise. + (function_decl::parameter): Likewise. + (function_type): Likewise. + (method_type): Likewise. + (template_decl): Likewise. + (template_parameter): Likewise. + (type_tparameter): Likewise. + (non_type_tparameter): Likewise. + (template_tparameter): Likewise. + (type_composition): Likewise. + (function_tdecl): Likewise. + (class_tdecl): Likewise. + (class_decl::base_spec): Likewise. + (ir_node_visitor): Likewise. + * include/abg-suppression.h (suppression_base): Likewise. + (type_suppression::insertion_range): Likewise. + (type_suppression::insertion_range::boundary): Likewise. + (type_suppression::insertion_range::integer_boundary): Likewise. + (type_suppression::insertion_range::fn_call_expr_boundary): Likewise. + (function_suppression): Likewise. + (function_suppression::parameter_spec): Likewise. + (file_suppression): Likewise. + * include/abg-tools-utils.h (temp_file): Likewise. + (timer): Likewise. + * include/abg-traverse.h (traversable_base): Likewise. + * include/abg-workers.h (queue): Likewise. + * src/abg-comparison.cc (diff_context): add default destructor. + (diff_maps): Likewise. + (corpus_diff): Likewise. + (diff_node_visitor): Likewise. + (class_or_union_diff::get_priv): adjust return type. + (class_diff::get_priv): adjust return type. + * src/abg-corpus.cc (corpus): add default destructor. + * src/abg-ir.cc (location_manager): Likewise. + (type_maps): Likewise. + (elf_symbol::version): Likewise. + (array_type_def::subrange_type): Likewise. + (enum_type_decl::enumerator): Likewise. + (function_decl::parameter): Likewise. + (class_decl::base_spec): Likewise. + (ir_node_visitor): Likewise. + +2021-06-14 Matthias Maennich <maennich@google.com> + + symtab-reader: add support for binaries compiled with CFI + * src/abg-symtab-reader.cc (symtab::load_): use new + add_alternative_address_lookups method. + (add_alternative_address_lookups): New method. + * src/abg-symtab-reader.h (add_alternative_address_lookups): new + function declaration. + * tests/data/test-read-dwarf/test-libaaudio.so: New test data. + * tests/data/test-read-dwarf/test-libaaudio.so.abi: New test data. + * tests/data/Makefile.am: Add the two new tests input to source + distribution. + * tests/test-read-dwarf.cc: New test case. + Reported-by: Dan Albert <danalbert@google.com> + Reviewed-by: Giuliano Procida <gprocida@google.com> + +2021-06-14 Matthias Maennich <maennich@google.com> + + elf-helpers: refactor find_symbol_table_section + * src/abg-elf-helpers.cc(find_section): New overload. + (find_symtab_section): New function. + (find_dynsym_section): New function. + (find_symbol_table_section): Use new find_*_section functions. + * src/abg-elf-helpers.h(find_section): New overload declaration. + (find_symtab_section): New function declaration. + (find_dynsym_section): New function declaration. + Reviewed-by: Giuliano Procida <gprocida@google.com> + +2021-06-18 Dodji Seketeli <dodji@redhat.com> + + Bug 27980 - Fix updating of type scope upon type canonicalization + * src/abg-ir.cc (canonicalize): Update the + scope_decl::get_canonical_types() of canonical type of the + containing type of the newly canonicalized type. + * src/abg-writer.cc (write_union_decl): Write the canonical types + contained in the current union scope, just like we do for classes. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust. + * tests/data/test-types-stability/pr27980-libc.so: New binary + input file. + * tests/data/Makefile.am: Add the test input file above to source + distribution. + * tests/test-types-stability.cc (elf_paths): Add the new test + input file to this test harness. + +2021-05-27 Giuliano Procida <gprocida@google.com> + + abg-reader: Create a fresh corpus object per corpus + * src/abg-reader.cc (read_corpus_from_input): Always create a + fresh corpus object for each abi-corpus XML element. + +2021-05-27 Giuliano Procida <gprocida@google.com> + + abg-reader: Ensure corpus always has a symtab reader + * src/abg-reader.cc (read_symbol_db_from_input): Fix + documentation for this function. Allow "successful parsing" to + include the case where no symbols were present in the input. + (read_corpus_from_input): Unconditionally set a symtab reader + on the corpus object. Unconditionally parse the abi-instr of a + corpus. + +2021-05-27 Giuliano Procida <gprocida@google.com> + + dwarf-reader: Create new corpus unconditionally + * src/abg-dwarf-reader.cc (read_debug_info_into_corpus): + Create new corpus object unconditionally. + +2021-06-09 Ben Woodard via Libabigail <libabigail@sourceware.org> + + Fix trivial typo when printing version string + * tools/abicompat.cc (main): Add a newline after version string. + +2021-06-10 Dodji Seketeli <dodji@redhat.com> + + Revert "Fix trivial typo when printing version string" + * tools/abicompat.cc: + +2021-06-09 Ben Woodard via Libabigail <libabigail@sourceware.org> + + Fix trivial typo when printing version string + * tools/abicompat.cc: + +2021-06-10 Dodji Seketeli <dodji@redhat.com> + + doc: Fix typo + * doc/manuals/libabigail-concepts.rst: Fix typo. + +2021-06-09 Dodji Seketeli <dodji@redhat.com> + + abg-reader: Fix typo + * src/abg-reader.cc + (read_context::maybe_check_abixml_canonical_type_stability): Fix + typo. + +2021-06-09 Dodji Seketeli <dodji@redhat.com> + + abidw: Remove temporary .typeid files when using --debug-abidiff + * tools/abidw.cc (load_corpus_and_write_abixml): Remove temporary + typeid file after its use. + +2021-06-08 Dodji Seketeli <dodji@redhat.com> + + Fix recursive array type definition + * include/abg-ir.h (array_type_def::update_size): Declare new + private member function. + (array_type_def::array_type_def): Declare ... + * src/abg-ir.cc (array_type_def::array_type_def): ... a new + constructor that takes no element type. + (array_type_def::update_size): Define this helper private member + function. + (array_type_def::get_subrange_representation): Adjust for this to + work when there is no element type setup yet. + (array_type_def::{set_element_type, append_subranges}): Update the + size and name of the array. + * src/abg-reader.cc (build_array_type_def): Create the array type + before the element type so that the later can re-use the former. + +2021-06-07 Dodji Seketeli <dodji@redhat.com> + + rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10' + * include/abg-ir.h + (environment::use_enum_binary_only_equality): Declare + accessors. (type_or_decl_base::{s,g}et_is_artificial): + Likewise. (decl_base::{s,g}et_is_artificial): Remove + accessors. * src/abg-ir.cc + (environment::priv::use_enum_binary_only_equality): Define new + data member. + (environment::priv::use_enum_binary_only_equality): Define + accessors. (type_or_decl_base::priv::is_artificial_): Define + new data member. It has actually moved here from + decl_base::priv::is_artificial_. + (type_or_decl_base::priv::priv): Initialize it. + (type_or_decl_base::{g,s}et_is_artificial): Define accessors. + (decl_base::is_artificial_): Move this to + type_or_decl_base::is_artificial_. + (maybe_adjust_canonical_type): In a given class of equivalence + of function types, if there is one non-artificial function + type, then the entire class of equivalence is considered + non-artificial; so flag the canonical function type as being + non-artificial. (is_enumerator_present_in_enum): Define new + static function. (equals): Re-arrange the overload for enums + so the order of the enumerators doesn't count in the + comparison. Also, two enums with different numbers of + enumerators can still be equal, with the right redundancy. In + the overload for var_decl, avoid taking into account the names + of data members in the comparison. + (enum_type_decl::enumerator::operator==): In the binary-level + comparison mode, only compare the value of enumerators, not + their name. * src/abg-comparison.cc (compute_diff): In the + overload for enum_type_decl, if the enums compare different + using binary-level comparison, then use source-level + comparison to build the diff-IR. * src/abg-dwarf-reader.cc + (read_context::compare_before_canonicalisation): Compare enums + using binary-level comparison. (add_or_update_class_type): If + we are looking at the definition of an existing declaration + that has been already defined then use the previous + definition, in case we are going to need to update the + definition. Also, update the size only if it's needed. + (build_function_type): By default, consider the newly built + function type as artificial. (build_ir_node_from_die): When + looking at a DW_TAG_subroutine_type DIE, consider the built + function type as non-artificial. * src/abg-reader.cc + (read_context::maybe_check_abixml_canonical_type_stability): + Don't consider declaration-only classes in an ODR context + because they don't have canonical types. + (build_function_decl): Flag the function type of the function + as artificial. (build_class_decl): Make sure to reuse class + types that were already created. * src/abg-writer.cc + (write_translation_unit): Allow emitting empty classes. Make + sure referenced types are emitting in the translation unit + where they belong. Avoid emitting artificial function types. + * + tests/data/test-alt-dwarf-file/rhbz1951526/rhbz1951526-report-0.txt: + New test reference output. * + tests/data/test-alt-dwarf-file/rhbz1951526/usr/bin/gimp-2.10: + New reference test binary input. * + tests/data/test-alt-dwarf-file/rhbz1951526/usr/lib/debug/.dwz/gimp-2.10.22-2.el9.1.aarch64: + Likewise. * + tests/data/test-alt-dwarf-file/rhbz1951526/usr/lib/debug/usr/bin/gimp-2.10-2.10.22-2.el9.1.aarch64.debug: + Likewise. * tests/data/Makefile.am: Add the new test files to + source directory. * tests/test-alt-dwarf-file.cc: Add the new + test inputs to this test harness. * + tests/data/test-abidiff/test-PR18791-report0.txt: Adjust. * + tests/data/test-abidiff/test-enum0-report.txt: Likewise. * + tests/data/test-annotate/libtest23.so.abi: Likewise. * + tests/data/test-annotate/libtest24-drop-fns-2.so.abi: + Likewise. * + tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-annotate/test-anonymous-members-0.o.abi: + Likewise. * tests/data/test-annotate/test13-pr18894.so.abi: + Likewise. * tests/data/test-annotate/test14-pr18893.so.abi: + Likewise. * tests/data/test-annotate/test15-pr18892.so.abi: + Likewise. * tests/data/test-annotate/test17-pr19027.so.abi: + Likewise. * + tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. * + tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. * + tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Likewise. * tests/data/test-annotate/test21-pr19092.so.abi: + Likewise. * + tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi: + Likewise. * + tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt: + Likewise. * tests/data/test-diff-dwarf/test6-report.txt: + Likewise. * + tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: + Likewise. * + tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: + Likewise. * tests/data/test-diff-filter/test8-report.txt: + Likewise. * + tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt: + Likewise. * + tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt: + Likewise. * + tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: + Likewise. * + tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: + Likewise. * + tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: + Likewise. * + tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise. + * + tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: + Likewise. * + tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise. + * tests/data/test-read-dwarf/libtest23.so.abi: Likewise. * + tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi: + Likewise. * + tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: + Likewise. * + tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: + Likewise. * tests/data/test-read-dwarf/test12-pr18844.so.abi: + Likewise. * tests/data/test-read-dwarf/test13-pr18894.so.abi: + Likewise. * tests/data/test-read-dwarf/test14-pr18893.so.abi: + Likewise. * tests/data/test-read-dwarf/test15-pr18892.so.abi: + Likewise. * tests/data/test-read-dwarf/test16-pr18904.so.abi: + Likewise. * tests/data/test-read-dwarf/test17-pr19027.so.abi: + Likewise. * + tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. * + tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. * + tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Likewise. * tests/data/test-read-dwarf/test21-pr19092.so.abi: + Likewise. * + tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: + Likewise. * + tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: + Likewise. * + tests/data/test-read-write/test28-without-std-fns-ref.xml: + Likewise. * + tests/data/test-read-write/test28-without-std-vars-ref.xml: + Likewise. + +2021-06-07 Dodji Seketeli <dodji@redhat.com> + + reader: Canonicalizing a type once is enough + * src/abg-reader.cc (build_type): Don't try to canonicalize the + type here because all the sub-routines of this function (which + actually build the type) already try to canonicalize it. + +2021-06-07 Dodji Seketeli <dodji@redhat.com> + + ir: make 'debug(artefact)' support showing enums + * src/abg-ir.cc (get_debug_representation): Add support for + showing details for enums. Also show declaration-only-ness for + class or unions. + +2021-06-07 Dodji Seketeli <dodji@redhat.com> + + location:expand() shouldn't crash when no location manager available + * src/abg-ir.cc (location::expand): When no location manager is + present, just expand to an empty location. + +2021-06-07 Dodji Seketeli <dodji@redhat.com> + + Add environment::{get_type_id_from_pointer,get_canonical_type_from_type_id} + * include/abg-ir.h (environment::{get_pointer_type_id_map, + get_type_id_from_pointer, get_canonical_type_from_type_id}): + Declare new member functions. + * src/abg-ir.cc (environment::{get_pointer_type_id_map, + get_type_id_from_pointer, get_canonical_type_from_type_id}): + Define member functions. + (environment::priv::pointer_type_id_map_): Move + this data member here from ... + * src/abg-reader.cc (read_context::m_pointer_type_id_map): + ... here. + (read_context::get_pointer_type_id_map): Remove this as it's now + defined in environment::get_pointer_type_id_map. + (read_context::maybe_check_abixml_canonical_type_stability): + Adjust. + (build_type): Likewise. + +2021-06-07 Dodji Seketeli <dodji@redhat.com> + + ir: Enable setting breakpoint on first type inequality + * src/abg-ir.cc (notify_equality_failed): Define new static + function if WITH_DEBUG_SELF_COMPARISON is defined. + (ABG_RETURN_EQUAL, ABG_RETURN_FALSE, ABG_RETURN): Define new macros. + (try_canonical_compare): Use ABG_RETURN_EQUAL rather than just + returning the result of a comparison. + (equals): In all the overloads, use the new ABG_RETURN* macros, + rather than just returning boolean values. + +2021-05-22 Dodji Seketeli <dodji@redhat.com> + + xml reader: Fix recursive qualified & reference type definition + * include/abg-ir.h (qualified_type_def::qualified_type_def): + Declare a constructor with no underlying type. + (reference_type_def::reference_type_def): Declare a constructor + with no pointed-to type. + (reference_type_def::set_pointed_to_type): Declare new method. + * src/abg-ir.cc (qualified_type_def::priv::priv): Define a + constructor that takes no underlying type. + (qualified_type_def::build_name): Make this work even on + incomplete types with no underlying type. In that case, this + behaves like if the underlying type is "void". + (qualified_type_def::qualified_type_def): Define a constructor + that takes no underlying type. + (qualified_type_def::get_size_in_bits): Make this work on + incomplete types with no underlying type. + (qualified_type_def::set_underlying_type): Adjust to properly + update this type when a new underlying type is set. Particularly, + its name and the lookup maps from the type scope. + (reference_type_def::reference_type_def): Define a constructor + that takes no pointed-to type. + (reference_type_def::set_pointed_to_type): Define new function. + * src/abg-reader.cc (build_qualified_type_decl): Construct the + qualified type early before we try to construct its underlying + type. Associate this incomplete type with the type-id. Then try + to construct the underlying type. During its construction, if + this incomplete qualified type is needed due to recursion then it + can be used, leading to just one qualified type being used as it + should be. + (build_reference_type_def): Likewise for building incomplete + reference type first before its pointed-to type. + +2021-05-21 Dodji Seketeli <dodji@redhat.com> + + abixml reader: Fix recursive type definition handling + * include/abg-ir.h (pointer_type_def::pointer_type_def): Declare a + constructor with no pointed-to type. + (pointer_type_def::set_pointed_to_type): Declare new method. + (typedef_decl::typedef_decl): Declare a constructor with no + underlying type. + * src/abg-ir.cc (pointer_type_def::pointer_type_def): Define a + constructor with no pointed-to type. The pointed-to type can thus + later be set when it becomes available. + (pointer_type_def::set_pointed_to_type): Define new method. + (pointer_type_def::get_qualified_name): Make this work on a + pointer type that (momentarily) has no pointed-to type. + (typedef_decl::typedef_decl): Define a constructor with no + underlying type. + (typedef_decl::get_size_in_bits): Make this work on a typedef that + has (momentarily) no underlying type. + (typedef_decl::set_underlying_type): Update the size and alignment + of the typedef from its new underlying type. + * src/abg-reader.cc (build_pointer_type_def): Construct the + pointer type early /BEFORE/ we even try to construct its + pointed-to type. Associate this incomplete type with the type-id. + Then try to construct the pointed-to type. During the + construction of the pointed-to type, if this pointer is needed + (due to recursion) then the incomplete pointer type can be used, + leading to just one pointer type used (recursively) as it should + be. + (build_typedef_decl): Likewise for building typedef type early + without its underlying type so that it can used by the underlying + type if needed. + * tests/data/test-diff-pkg/graphviz-2.44.0-18.el9.aarch64-self-check-report-0.txt: + New test reference output. + * tests/data/test-diff-pkg/graphviz-2.44.0-18.el9.aarch64.rpm: New + binary test input. + * tests/data/test-diff-pkg/graphviz-debuginfo-2.44.0-18.el9.aarch64.rpm: Likewise. + * tests/data/Makefile.am: Add the new test material above to + source distribution. + * tests/test-diff-pkg.cc (in_out_specs): Add the test inputs above + to this test harness. + +2021-05-20 Dodji Seketeli <dodji@redhat.com> + + Introduce artificial locations + * include/abg-fwd.h (get_artificial_or_natural_location): Declare + new function. + * include/abg-ir.h (location::location): Initialize & copy ... + (location::is_artificial_): ... a new data member. + (location::{g,s}et_is_artificial): New accessors. + (location::{operator=}): Adjust. + (type_or_decl_base::{set,get,has}_artificial_location): Declare + new member functions. + * src/abg-ir.cc (decl_topo_comp::operator()): In the overload for + decl_base*, use artificial location for topological sort in + priority. Otherwise, use natural location. Otherwise, sort + lexicographically. + (type_topo_comp::operator()): In the overload for type_base*, use + lexicographical sort only for types that don't have location at + all. + (type_or_decl_base::priv::artificial_location_): Define new data + member. + (type_or_decl_base::{set,get,has}_artificial_location): Define new + member functions. + (decl_base::priv): Allow a constructor without location. That one + sets no natural location to the artifact. + (decl_base::decl_base): Use decl_base::set_location in the + constructor now. + (decl_base::set_location): Adjust this to support setting a + natural or an artificial location. + (get_debug_representation): Emit debugging log showing the + location of an artifact, using its artificial location in + priority. + (get_natural_or_artificial_location): Define new function. + * src/abg-reader.cc (read_artificial_location) + (maybe_set_artificial_location): Define new static functions. + (read_location): Read artificial location when no natural location + was found. + (build_namespace_decl, build_function_decl, build_type_decl) + (build_qualified_type_decl, build_pointer_type_def) + (build_reference_type_def, build_subrange_type) + (build_array_type_def, build_enum_type_decl, build_typedef_decl) + (build_class_decl, build_union_decl, build_function_tdecl) + (build_class_tdecl, build_type_tparameter) + (build_non_type_tparameter, build_template_tparameter): Read and + set artificial location. + * src/abg-writer.cc (write_location): Don't serialize artificial + locations. + (write_namespace_decl): Topologically sort member declarations + before serializing them. + * tests/data/test-read-write/test28-without-std-fns-ref.xml: + Adjust. + * tests/data/test-read-write/test28-without-std-vars-ref.xml: + Likewise. + * tests/data/test-annotate/libtest23.so.abi: Likewise. + * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise. + * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-annotate/test0.abi: Likewise. + * tests/data/test-annotate/test13-pr18894.so.abi: Likewise. + * tests/data/test-annotate/test14-pr18893.so.abi: Likewise. + * tests/data/test-annotate/test15-pr18892.so.abi: Likewise. + * tests/data/test-annotate/test17-pr19027.so.abi: Likewise. + * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. + * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Likewise. + * tests/data/test-annotate/test21-pr19092.so.abi: Likewise. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: + Likewise. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise. + * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: + Likewise. + * tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise. + * tests/data/test-read-dwarf/libtest23.so.abi: Likewise. + * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi: Likewise. + * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. + * tests/data/test-read-dwarf/test-suppressed-alias.o.abi: Likewise. + * tests/data/test-read-dwarf/test0.abi: Likewise. + * tests/data/test-read-dwarf/test0.hash.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. + * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise. + * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. + * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise. + * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. + * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Likewise. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: + Likewise. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. + * tests/data/test-read-write/test28-without-std-fns-ref.xml: + Likewise. + * tests/data/test-read-write/test28-without-std-vars-ref.xml: + Likewise. + +2021-05-19 Dodji Seketeli <dodji@redhat.com> + + Detect abixml canonical type instability during abidw --debug-abidiff + * include/abg-ir.h (environment::get_type_id_canonical_type_map): + Declare new data member. + * src/abg-ir.cc (environment::priv::type_id_canonical_type_map_): + Define new data member. + (environment::get_type_id_canonical_type_map): Define new method. + * include/abg-reader.h (load_canonical_type_ids): Declare new + function. + * src/abg-reader.cc (read_context::m_pointer_type_id_map): + Define new data member. + (read_context::{get_pointer_type_id_map, + maybe_check_abixml_canonical_type_stability}): Define new methods. + (read_context::{maybe_canonicalize_type, + perform_late_type_canonicalizing}): Invoke + maybe_perform_self_comparison_canonical_type_check after + canonicalization to perform canonicalization type stability + checking. + (build_type): Associate the pointer value for the newly built type + with the type id string identifying it in the abixml. Once the + abixml representation is dropped from memory and we are about to + perform type canonicalization, we can still know what the type id + of a given type coming from abixml was; it's thus possible to + verify that the canonical type associated to that type id is the + same as the one stored in the typeid file. + (read_type_id_string): Define new static function. + (load_canonical_type_ids): Define new function. + * include/abg-writer.h (write_canonical_type_ids): Likewise. + * src/abg-writer.cc (write_canonical_type_ids): Define new + function overloads. + * tools/abidw.cc (options::type_id_file_path): New data member. + (load_corpus_and_write_abixml): Write and read back the typeid + file. + +2021-05-18 Dodji Seketeli <dodji@redhat.com> + + Detect failed self comparison in type canonicalization of abixml + * doc/manuals/abidw.rst: Add documentation for the --debug-abidiff + option. + * include/abg-ir.h (environment::{set_self_comparison_debug_input, + get_self_comparison_debug_inputs, self_comparison_debug_is_on}): + Declare new methods. + * configure.ac: Define a new --enable-debug-self-comparison option + that is disabled by default. That option defines a new + WITH_DEBUG_SELF_COMPARISON preprocessor macro. + * src/abg-ir.cc + (environment::priv::{first_self_comparison_corpus_, + second_self_comparison_corpus_, self_comparison_debug_on_}): New + data members. Also, re-indent the data members. + (environment::{set_self_comparison_debug_input, + get_self_comparison_debug_inputs, self_comparison_debug_is_on}): + Define new method. + (type_base::get_canonical_type_for): In the "debug self comparison + mode", if a type coming from the second corpus compares different + from its counterpart coming from the first corpus then log a debug + message. + * src/abg-dwarf-reader.cc (read_debug_info_into_corpus): When + loading the first corpus, if the debug self comparison mode is on, + then save that corpus on the side in the environment. + * src/abg-reader.cc (read_corpus_from_input): When loading the + second corpus, if the debug self comparison mode is on, then save + that corpus on the side in the environment. + * tools/abidw.cc: Include the config.h file for preprocessor + macros defined at configure + (options::debug_abidiff): New data member. + (parse_command_line): Parse the --debug-abidiff option. + (load_corpus_and_write_abixml): Switch the self debug mode on when + the --debug-abidiff option is provided. Use a read_context for + the abixml loading. That is going to be useful for subsequent + patches. + +2021-05-17 Dodji Seketeli <dodji@redhat.com> + + Add primitives callable from the command line of the debugger + * include/abg-fwd.h (get_debug_representation, get_data_member) + (debug, debug_equals): Declare new functions. + * include/abg-ir.h (environment{get_canonical_types, + get_canonical_type}): Declare new member functions. + * src/abg-ir.cc (environment::{get_canonical_types, + get_canonical_type}): Define new member functions. + (get_debug_representation, get_data_member) + (debug, debug_equals): Define new functions. + +2021-05-24 Dodji Seketeli <dodji@redhat.com> + + Peel array types when peeling pointers from a type + * src/abg-ir.cc (peel_typedef_pointer_or_reference_type): In the + overloads for type_base_sptr and type_base*, peel array type off + as well. + +2021-05-24 Dodji Seketeli <dodji@redhat.com> + + Fix DWARF type DIE canonicalization + * src/abg-dwarf-reader.cc (compare_dies): When comparing array + type DIEs, take into account the type of the elements of the + arrays. + +2021-05-24 Dodji Seketeli <dodji@redhat.com> + + Miscellaneous indentation and comments cleanups + * src/abg-ir.cc (environment::priv::{config_, canonical_types_, + sorted_canonical_types_, void_type_, variadic_marker_type_}): + Re-indent these data members. + (peel_typedef_pointer_or_reference_type): Fix comment. + (var_decl::var_decl): Likewise. + (function_decl::function_decl): Add a comment. + * src/abg-reader.cc (handle_reference_type_def): Fix indentation + of parameters. + +2021-05-20 Dodji Seketeli <dodji@redhat.com> + + Fix thinko in configure.ac + * configure.ac: Fix a thinko I spotted while looking at something + else. + +2021-04-19 Dodji Seketeli <dodji@redhat.com> + + reader: Use xmlFirstElementChild/xmlNextElementSibling to iterate over children elements + * src/abg-reader.cc (walk_xml_node_to_map_type_ids) + (read_translation_unit, read_translation_unit_from_input) + (read_symbol_db_from_input, build_needed) + (read_elf_needed_from_input, read_corpus_group_from_input) + (build_namespace_decl, build_elf_symbol_db, build_function_decl) + (build_function_type, build_array_type_def, build_enum_type_decl) + (build_class_decl, build_union_decl, build_function_tdecl) + (build_class_tdecl, build_type_composition) + (build_template_tparameter): Use + xmlFirstElementChild/xmlNextElementSibling rather than poking at + xmlNode::children and looping over xmlNode::next by hand. + +2021-04-19 Dodji Seketeli <dodji@redhat.com> + + reader: Use xmlFirstElementChild and xmlNextElementSibling rather than xml::advance_to_next_sibling_element + * include/abg-libxml-utils.h (advance_to_next_sibling_element): + Remove the declaration of this function. + * src/abg-libxml-utils.cc (go_to_next_sibling_element_or_stay) + (advance_to_next_sibling_element): Remove definitions of these functions. + * src/abg-reader.cc (read_translation_unit_from_input) + (read_elf_needed_from_input, read_corpus_group_from_input): Use xmlNextElementSibling instead + of xml::advance_to_next_sibling_element. + (read_corpus_from_input): Likewise. Also, use + xmlFirstElementChild instead of + xml::advance_to_next_sibling_element on the xmlNode::children data + member. + (read_corpus_group_from_input): use xmlFirstElementChild instead + of xml::advance_to_next_sibling_element on the xmlNode::children + data member. + +2021-04-14 Dodji Seketeli <dodji@redhat.com> + + reader: Handle 'abi-corpus' element being possibly empty + * src/abg-reader.cc (read_context::get_corpus_node): Add comment + to this member function. + (read_translation_unit_from_input, read_symbol_db_from_input) + (read_elf_needed_from_input): Start processing the current node of + the corpus that needs to be processed rather than its next + sibling. Once the processing is done, set the new "current node + of the corpus to be processed" properly by skipping to the next + element node to be processed. + (read_corpus_from_input): Don't get out early when the + 'abi-corpus' element is empty. If, however, it has children node, + skip to the first child element and flag it -- using + read_context::set_corpus_node -- as being the element node to be + processed by the processing facilities of the reader. If we are + in a mode where we called xmlTextReaderExpand ourselves to get the + node to process, then it means we need to free that node + indirectly by calling xmlTextReaderNext. In that case, that node + should not be flagged by read_context::set_corpus_node. Add more + comments. + * src/abg-corpus.cc (corpus::is_empty): Do not crash when no + symtab is around. + * src/abg-libxml-utils.cc (go_to_next_sibling_element_or_stay): + Fix typo in comment. + (advance_to_next_sibling_element): Don't crash when given a nil + node. + * tests/data/test-abidiff/test-PR27616-squished-v0.abi: Add new + test input. + * tests/data/test-abidiff/test-PR27616-squished-v1.abi: Likewise. + * tests/data/test-abidiff/test-PR27616-v0.xml: Likewise. + * tests/data/test-abidiff/test-PR27616-v1.xml: Likewise. + * tests/data/Makefile.am: Add the new test inputs above to source + distribution. + * tests/test-abidiff.cc (specs): Add the new tests inputs above to + this harness. + * tools/abilint.cc (main): Support writing corpus groups. + +2021-04-13 Dodji Seketeli <dodji@redhat.com> + + dwarf-reader: properly set artificial-ness in opaque types + * src/abg-dwarf-reader.cc (get_opaque_version_of_type): Propagate + the artificial-ness of the original type here. + * tests/data/test-read-dwarf/PR27700/test-PR27700.abi: Adjust. + +2021-04-12 Dodji Seketeli <dodji@redhat.com> + + dwarf-reader: Canonicalize opaque enums and classes + * src/abg-dwarf-reader.cc (build_ir_node_from_die): Canonicalize + opaque enums and classes. + * tests/data/test-read-dwarf/PR27700/include-dir/priv.h: New test + header file. + * tests/data/test-read-dwarf/PR27700/include-dir/pub.h: Likewise + * tests/data/test-read-dwarf/PR27700/pub-incdir/inc.h: Likewise. + * tests/data/test-read-dwarf/PR27700/test-PR27700.o: New binary + input file. + * tests/data/test-read-dwarf/PR27700/test-PR27700.abi: Reference + abi file of the binary above. + * tests/data/test-read-dwarf/PR27700/test-PR27700.c: Source file + of the binary above. + * tests/data/Makefile.am: Add the test material above to source + distribution. + * tests/test-read-dwarf.cc (InOutSpec::in_public_headers_path): + Add new data member. + (in_out_specs): Adjust to reflect the new data member in the + InOutSpec type. Add a new test input. + (set_suppressions_from_headers): Define new static function. + (test_task::perform): Use the content of the new + InOutSpec::in_public_headers_path to construct and add + "--headers-dir <headers-dir> --drop-private-types" to the options + of the abidw program run. + +2020-07-01 Matthias Maennich <maennich@google.com> + + symtab: Add support for MODVERSIONS (CRC checksums) + * include/abg-ir.h (elf_symbol::elf_symbol): Add CRC parameter. + (elf_symbol::create): Likewise. + (elf_symbol::get_crc): New member method. + (elf_symbol::set_crc): New member method. + * src/abg-comp-filter.cc (crc_changed): New function. + (categorize_harmful_diff_node): Also test for CRC changes. + * src/abg-ir.cc (elf_symbol::priv::crc_): New data member. + * src/abg-ir.cc (elf_symbol::priv::priv): Add CRC parameter. + (elf_symbol::elf_symbol): Likewise. + (elf_symbol::create): Likewise. + (elf_symbol::textually_equals): Add CRC support. + (elf_symbol::get_crc): New member method. + (elf_symbol::set_crc): New member method. + * src/abg-reader.cc (build_elf_symbol): Add CRC support. + * src/abg-reporter-priv.cc (maybe_report_diff_for_symbol): Likewise. + * src/abg-symtab-reader.cc (symtab::load): Likewise. + * src/abg-writer.cc (write_elf_symbol): Likewise. + * tests/data/Makefile.am: Add new test data files. + * tests/data/test-abidiff-exit/test-crc-report.txt: New test file. + * tests/data/test-abidiff-exit/test-crc-v0.abi: Likewise. + * tests/data/test-abidiff-exit/test-crc-v1.abi: Likewise. + * tests/data/test-abidiff/empty-report.txt: New file. + * tests/data/test-abidiff/test-PR18166-libtirpc.so.report.txt: Deleted. + * tests/data/test-abidiff/test-PR24552-report0.txt: Deleted. + * tests/data/test-abidiff/test-crc-0.xml: New test file. + * tests/data/test-abidiff/test-crc-1.xml: Likewise. + * tests/data/test-abidiff/test-crc-2.xml: Likewise. + * tests/data/test-abidiff/test-crc-report.txt: Likewise. + * tests/data/test-abidiff/test-empty-corpus-report.txt: Deleted. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Add CRC values. + * tests/data/test-read-write/test-crc.xml: New test data file. + * tests/data/test-symtab/kernel-modversions/Makefile: New test source. + * tests/data/test-symtab/kernel-modversions/one_of_each.c: Likewise. + * tests/data/test-symtab/kernel-modversions/one_of_each.ko: Likewise. + * tests/test-abidiff-exit.cc: Add new test case. + * tests/test-abidiff.cc: Add new test case. + * tests/test-read-write.cc: Likewise. + * tests/test-symtab.cc (Symtab::KernelSymtabsWithCRC): New test case. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-10-15 Giuliano Procida <gprocida@google.com> + + abg-writer.cc: fix write_elf_symbol_reference loop + * src/abg-writer.cc (write_elf_symbol_reference): Check main + symbol and aliases with more care. + Fixes: commmit ("dwarf-reader/writer: consider aliases when dealing with suppressions") + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-06-28 Matthias Maennich <maennich@google.com> + + dwarf-reader/writer: consider aliases when dealing with suppressions + * src/abg-dwarf-reader.cc(function_is_suppressed): Do not suppress + a function for which there is an alias that is not suppressed. + (variable_is_suppressed): Likewise for variables. + * src/abg-reader.cc (build_elf_symbol): Improve handling of + suppressed aliased symbols when reading from XML. + * src/abg-symtab-reader.cc (load): Likewise. + * src/abg-writer.cc(write_elf_symbol_reference): Fall back to + any aliased symbol if the main symbol is suppressed. + * tests/data/Makefile.am: Add new test files. + * tests/data/test-abidiff-exit/test-missing-alias-report.txt: New test file. + * tests/data/test-abidiff-exit/test-missing-alias.abi: Likewise. + * tests/data/test-abidiff-exit/test-missing-alias.suppr: Likewise. + * tests/test-abidiff-exit.cc: Add support for whitelists and add + new testcase. + * tests/data/test-read-dwarf/test-suppressed-alias.c: New test file. + * tests/data/test-read-dwarf/test-suppressed-alias.o: Likewise. + * tests/data/test-read-dwarf/test-suppressed-alias.o.abi: Likewise. + * tests/data/test-read-dwarf/test-suppressed-alias.suppr: Likewise. + * tests/data/test-read-dwarf/test3-alias-1.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test3-alias-1.suppr: Likewise. + * tests/data/test-read-dwarf/test3-alias-2.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test3-alias-2.suppr: Likewise. + * tests/data/test-read-dwarf/test3-alias-3.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test3-alias-3.suppr: Likewise. + * tests/data/test-read-dwarf/test3-alias-4.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test3-alias-4.suppr: Likewise. + * tests/test-read-dwarf.cc: Add new test cases. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-06-30 Matthias Maennich <maennich@google.com> + + symtab/dwarf-reader: allow hinting of main symbols for aliases + * include/abg-ir.h (elf_symbol::update_main_symbol): New method. + * include/abg-symtab-reader.h (symtab::update_main_symbol): New method. + * src/abg-dwarf-reader.cc + (build_var_decl): Hint symtab about main symbol discovered in DWARF. + (build_function_decl): Likewise. + * src/abg-ir.cc (elf_symbol::get_main_symbol): Lock the weak_ptr + on access in both overloads. + (update_main_symbol): New method to allow updating the main symbol. + * src/abg-symtab-reader.cc (symtab::update_main_symbol): New method. + * data/Makefile.am: Add new test data files. + * tests/data/test-annotate/test15-pr18892.so.abi: Updated test file. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. + * tests/data/test-annotate/test2.so.abi: Likewise. + * tests/data/test-annotate/test3.so.abi: Likewise. + * tests/data/test-diff-dwarf/test12-report.txt: Likewise. + * tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt: Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: Likewise. + * tests/data/test-diff-suppr/test23-alias-filter-4.suppr: Likewise. + * tests/data/test-diff-suppr/test23-alias-filter-report-0.txt: Likewise. + * tests/data/test-diff-suppr/test23-alias-filter-report-2.txt: Likewise. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Likewise. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. + * tests/data/test-read-dwarf/test2.so.abi: Likewise. + * tests/data/test-read-dwarf/test2.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. + * tests/data/test-read-dwarf/test3.so.abi: Likewise. + * tests/data/test-read-dwarf/test3.so.hash.abi: Likewise. + * tests/data/test-symtab/basic/aliases.c: New test source file. + * tests/data/test-symtab/basic/aliases.so: Likewise. + * tests/test-symtab.cc (Symtab::AliasedFunctionSymbols): New test case. + (Symtab::AliasedVariableSymbols): Likewise. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-06-29 Matthias Maennich <maennich@google.com> + + test-symtab: add tests for whitelisted functions + * tests/data/Makefile.am: add new test files + * tests/data/test-symtab/basic/one_function_one_variable_all.whitelist: New test file, + * tests/data/test-symtab/basic/one_function_one_variable_function.whitelist: Likewise. + * tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist: Likewise. + * tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist: Likewise. + * tests/test-symtab.cc (read_corpus): Add support for whitelists. + (assert_symbol_count): Likewise. + (Symtab::SymtabWithWhitelist): New testcase. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-06-02 Matthias Maennich <maennich@google.com> + + dwarf reader: drop (now) unused code related to symbol table reading + * include/abg-dwarf-reader.h (set_ignore_symbol_table): Remove. + (get_ignore_symbol_table): Likewise. + * src/abg-dwarf-reader.cc (add_symbol_to_map): Likewise. + (read_context::options_type::ignore_symbol_table): Likewise. + (read_context::options_type): Adjust. + (read_context::fun_addr_sym_map_): Remove. + (read_context::fun_entry_addr_sym_map_): Likewise. + (read_context::fun_syms_): Likewise. + (read_context::var_addr_sym_map_): Likewise. + (read_context::var_syms_): Likewise. + (read_context::undefined_fun_syms_): Likewise. + (read_context::undefined_var_syms_): Likewise. + (read_context::initialize): Adjust. + (read_context::lookup_elf_symbol_from_index): Remove. + (read_context::fun_entry_addr_sym_map_sptr): Likewise. + (read_context::fun_entry_addr_sym_map): Likewise. + (read_context::fun_syms_sptr): Likewise. + (read_context::fun_syms): Likewise. + (read_context::var_syms_sptr): Likewise. + (read_context::var_syms): Likewise. + (read_context::undefined_fun_syms_sptr): Likewise. + (read_context::undefined_var_syms_sptr): Likewise. + (read_context::load_symbol_maps_from_symtab_section): Likewise. + (read_context::load_symbol_maps): Likewise. + (read_context::maybe_load_symbol_maps): Likewise. + (set_ignore_symbol_table): Likewise. + (get_ignore_symbol_table): Likewise. + (create_default_var_sym): Likewise. + (build_var_decl): Adjust. + (function_is_suppressed): Likewise. + (variable_is_suppressed): Likewise. + (build_function_decl): Likewise. + (add_symbol_to_map): Remove. + (read_corpus_from_elf): Adjust. + (build_corpus_group_from_kernel_dist_under): Likewise. + * tools/abidw.cc (main): Likewise. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-05-21 Matthias Maennich <maennich@google.com> + + abg-corpus: remove symbol maps and their setters + * include/abg-corpus.h (corpus::set_fun_symbol_map): Remove + method declaration. + (corpus::set_undefined_fun_symbol_map): Likewise. + (corpus::set_var_symbol_map): Likewise. + (corpus::set_undefined_var_symbol_map): Likewise. + (corpus::get_fun_symbol_map_sptr): Likewise. + (corpus::get_undefined_fun_symbol_map_sptr): Likewise. + (corpus::get_var_symbol_map_sptr): Likewise. + (corpus::get_undefined_var_symbol_map_sptr): Likewise. + * src/abg-corpus-priv.h (corpus::priv::var_symbol_map): make + private and mutable + (corpus::priv::undefined_var_symbol_map): Likewise. + (corpus::priv::fun_symbol_map): Likewise. + (corpus::priv::undefined_fun_symbol_map): Likewise. + (corpus::priv::get_fun_symbol_map): New method declaration. + (corpus::priv::get_undefined_fun_symbol_map): Likewise. + (corpus::priv::get_var_symbol_map): Likewise. + (corpus::priv::get_undefined_var_symbol_map): Likewise. + * src/abg-corpus.cc (corpus::priv::get_fun_symbol_map): New + method implementation. + (corpus::priv::get_undefined_fun_symbol_map): Likewise. + (corpus::priv::get_var_symbol_map): Likewise. + (corpus::priv::get_undefined_var_symbol_map): Likewise. + (corpus::is_empty): depend on symtab only. + (corpus::set_fun_symbol_map): Remove method. + (corpus::set_undefined_fun_symbol_map): Likewise. + (corpus::set_var_symbol_map): Likewise. + (corpus::set_undefined_var_symbol_map): Likewise. + (corpus::get_fun_symbol_map_sptr): Likewise. + (corpus::get_undefined_fun_symbol_map_sptr): Likewise. + (corpus::get_var_symbol_map_sptr): Likewise. + (corpus::get_undefined_var_symbol_map_sptr): Likewise. + (corpus::get_fun_symbol_map): Use corpus::priv proxy method. + (corpus::get_undefined_fun_symbol_map): Likewise. + (corpus::get_var_symbol_map): Likewise. + (corpus::get_undefined_var_symbol_map): Likewise. + * src/abg-dwarf-reader.cc (read_debug_info_into_corpus): Do not + set corpus symbol maps anymore. + * src/abg-reader.cc (read_corpus_from_input): Likewise. + * tests/test-symtab.cc (assert_symbol_count): Do not access the + corpus symbol maps through sptr anymore. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Adjust + expected test output. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-05-14 Matthias Maennich <maennich@google.com> + + symtab_reader: add support for ppc64 ELFv1 binaries + * src/abg-symtab-reader.cc (symtab::lookup_symbol): fall back to + lookup the address in entry_addr_symbol_map_. + (symtab::load): update the function entry address map for + ppc64 targets. + (symtab::update_function_entry_address_symbol_map): New + function implementation. + * src/abg-symtab-reader.h + (symtab::entry_addr_symbol_map_): New data member. + (symtab::update_function_entry_address_symbol_map): New + function declaration. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-05-12 Matthias Maennich <maennich@google.com> + + abg-elf-helpers: migrate ppc64 specific helpers + * src/abg-dwarf-reader.cc (read_context::opd_section_): Delete. + (read_context::find_opd_section): Delete. + (read_context::read_uint64_from_array_of_bytes): Delete. + (read_context::read_int_from_array_of_bytes): Delete. + (read_context::lookup_ppc64_elf_fn_entry_point_address): Delete. + (read_context::address_is_in_opd_section): Delete. + (read_context::address_is_in_section): Delete. + (read_context::load_symbol_maps_from_symtab_section): Adjust. + * src/abg-elf-helpers.cc (read_int_from_array_of_bytes): New. + (read_uint64_from_array_of_bytes): New. + (lookup_ppc64_elf_fn_entry_point_address): New. + (address_is_in_section): New. + (address_is_in_opd_section): New. + * src/abg-elf-helpers.h + (lookup_ppc64_elf_fn_entry_point_address): New declaration. + (address_is_in_opd_section): New declaration. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-05-06 Matthias Maennich <maennich@google.com> + + Switch kernel stuff over to new symtab and drop unused code + * src/abg-dwarf-reader.cc (read_context::ksymtab_format_): Delete. + (read_context::ksymtab_entry_size_): Likewise. + (read_context::nb_ksymtab_entries_): Likewise. + (read_context::nb_ksymtab_gpl_entries_): Likewise. + (read_context::ksymtab_section_): Likewise. + (read_context::ksymtab_reloc_section_): Likewise. + (read_context::ksymtab_gpl_section_): Likewise. + (read_context::ksymtab_gpl_reloc_section_): Likewise. + (read_context::ksymtab_strings_section_): Likewise. + (read_context::linux_exported_fn_syms): Likewise. + (read_context::linux_exported_var_syms): Likewise. + (read_context::linux_exported_gpl_fn_syms): Likewise. + (read_context::linux_exported_gpl_var_syms): Likewise. + (read_context::initialize): Remove initializations accordingly. + (read_context::find_ksymtab_section): Delete. + (read_context::find_ksymtab_gpl_section): Likewise. + (read_context::find_ksymtab_reloc_section): Likewise. + (read_context::find_ksymtab_gpl_reloc_section): Likewise. + (read_context::find_ksymtab_strings_section): Likewise. + (read_context::find_any_ksymtab_section): Likewise. + (read_context::find_any_ksymtab_reloc_section): Likewise. + (read_context::lookup_elf_symbol_from_index): Adjust. + (read_context::linux_exported_fn_syms): Delete. + (read_context::create_or_get_linux_exported_fn_syms): Likewise. + (read_context::linux_exported_var_syms): Likewise. + (read_context::create_or_get_linux_exported_var_syms): Likewise. + (read_context::linux_exported_gpl_fn_syms): Delete. + (read_context::create_or_get_linux_exported_gpl_fn_syms): Likewise. + (read_context::linux_exported_gpl_var_syms): Likewise. + (read_context::create_or_get_linux_exported_gpl_var_syms): Likewise. + (read_context::try_reading_first_ksymtab_entry): Likewise. + (read_context::try_reading_first_ksymtab_entry_using_pre_v4_19_format): Likewise. + (read_context::try_reading_first_ksymtab_entry_using_v4_19_format): Likewise. + (read_context::get_ksymtab_format_module): Likewise. + (read_context::get_ksymtab_format): Likewise. + (read_context::get_ksymtab_symbol_value_size): Likewise. + (read_context::get_ksymtab_entry_size): Likewise. + (read_context::get_nb_ksymtab_entries): Likewise. + (read_context::get_nb_ksymtab_gpl_entries): Likewise. + (read_context::populate_symbol_map_from_ksymtab): Likewise. + (read_context::populate_symbol_map_from_ksymtab_reloc): Likewise. + (read_context::load_kernel_symbol_table): Likewise. + (read_context::load_ksymtab_symbols): Likewise. + (read_context::load_ksymtab_gpl_symbols): Likewise. + (read_context::load_linux_specific_exported_symbol_maps): Likewise. + (read_context::load_symbol_maps): Do not load kernel symbol maps. + (read_context::maybe_adjust_sym_address_from_v4_19_ksymtab): Delete. + (read_context::add_fn_symbols_to_map): Likewise. + (read_context::add_var_symbols_to_map): Likewise. + (read_context::read_debug_info_into_corpus): Fill export maps + from new symtab. + (read_context::lookup_elf_fn_symbol_from_address): Delete. + (read_context::lookup_elf_var_symbol_from_address): Likewise. + (read_context::lookup_elf_symbol_from_address): Likewise. + (read_context::lookup_public_function_symbol_from_elf): Likewise. + (read_context::fun_entry_addr_sym_map_sptr): Likewise. + (read_context::fun_entry_addr_sym_map): Likewise. + (read_context::var_addr_sym_map): Likewise. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-05-06 Matthias Maennich <maennich@google.com> + + dwarf-reader: read_context: use new symtab in *_symbols_is_exported + * src/abg-dwarf-reader.cc (function_symbol_is_exported): Use new + symtab implementation. + (variable_symbol_is_exported): Likewise. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-05-04 Matthias Maennich <maennich@google.com> + + abg-reader: avoid using the (var|function)_symbol_map + * src/abg-reader.cc (build_elf_symbol_from_reference): drop + last parameter indicating the lookup type and use corpus + symtab for the lookup + (build_function_decl): Adjust accordingly. + (build_var_decl): Likewise. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-05-04 Matthias Maennich <maennich@google.com> + + corpus: make get_unreferenced_(function|variable)_symbols use the new symtab + * src/abg-corpus-priv.h (corpus::priv::unrefed_var_symbols): make + private, mutable and optional. + (corpus::unrefed_fun_symbols): Likewise. + (corpus::priv::get_unreferenced_function_symbols): New method declaration. + (corpus::priv::get_unreferenced_variable_symbols): Likewise. + * src/abg-corpus.cc + (corpus::priv::build_unreferenced_symbols_tables): Delete method. + (corpus::priv::get_unreferenced_function_symbols): New method implementation. + (corpus::priv::get_unreferenced_variable_symbols): Likewise. + (corpus::get_unreferenced_function_symbols): Proxy call to corpus::priv. + (corpus::get_unreferenced_variable_symbols): Likewise. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-04-30 Matthias Maennich <maennich@google.com> + + corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab + * src/abg-corpus-priv.h (corpus::priv::sorted_var_symbols): make + private, mutable and optional. + (corpus::sorted_undefined_var_symbols): Likewise. + (corpus::sorted_fun_symbols): Likewise. + (corpus::sorted_undefined_fun_symbols): Likewise. + (corpus::priv::get_sorted_fun_symbols): New method declaration. + (corpus::priv::get_sorted_undefined_fun_symbols): Likewise. + (corpus::priv::get_sorted_var_symbols): Likewise. + (corpus::priv::get_sorted_undefined_var_symbols): Likewise. + * src/abg-corpus.cc + (corpus::elf_symbol_comp_functor): Delete struct. + (corpus::priv::get_sorted_fun_symbols): New method implementation. + (corpus::priv::get_sorted_undefined_fun_symbols): Likewise. + (corpus::priv::get_sorted_var_symbols): Likewise. + (corpus::priv::get_sorted_undefined_var_symbols): Likewise. + (corpus::get_sorted_fun_symbols): Proxy call to corpus::priv. + (corpus::get_sorted_undefined_fun_symbols): Likewise. + (corpus::get_sorted_var_symbols): Likewise. + (corpus::get_sorted_undefined_var_symbols): Likewise. + * src/abg-writer.cc (write_elf_symbol_aliases): When emitting + aliases for a kernel symbol, ensure to only emit exported, + public aliases. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: update test + data. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-05-19 Matthias Maennich <maennich@google.com> + + Integrate new symtab reader into corpus and read_context + * include/abg-corpus.h (corpus::set_symtab): New method declaration. + (corpus::get_symtab): New method declaration. + * include/abg-fwd.h (symtab_reader::symtab_sptr): New forward + declaration. + * src/abg-corpus-priv.h (corpus::priv::symtab_): New data member. + * src/abg-corpus.cc + (corpus::set_symtab): Likewise. + (corpus::get_symtab): Likewise. + * src/abg-dwarf-reader.cc (read_context::symtab_): New data member. + (read_context::initialize): reset symtab_ as well + (read_context::symtab): new method that loads a symtab on + first access and returns it. + (read_debug_info_into_corpus): also set the new symtab object + on the current corpus. + (read_corpus_from_elf): Also determine (i.e. load) the new + symtab object and contribute to the load status. + * src/abg-reader.cc (read_corpus_from_input): also set the new + type symtab when reading from xml. + * tests/test-symtab.cc: Add test assertions. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2020-04-29 Matthias Maennich <maennich@google.com> + + Refactor ELF symbol table reading by adding a new symtab reader + * src/abg-symtab-reader.h (symtab_filter): New class. + (symtab_iterator): Likewise. + (symtab): Likewise. + (filtered_symtab): Likewise. + * src/abg-symtab-reader.cc (symtab_filter::matches): New. + (symtab::make_filter): Likewise. + (symtab::lookup_symbol): Likewise. + (symbol_sort): Likewise. + (symtab::load): Likewise. + (symtab::load_): Likewise. + Reviewed-by: Giuliano Procida <gprocida@google.com> + Reviewed-by: Dodji Seketeli <dodji@seketeli.org> + +2021-03-29 Matthias Maennich <maennich@google.com> + + clang-format: Minor correction to not break parameters on the first line + * .clang-format: correct function parameter break/indentation + +2021-03-31 Dodji Seketeli <dodji@redhat.com> + + Bug 27598 - abidiff mishandles union member functions + * src/abg-default-reporter.cc (default_reporter::report): Assume + the parent type of the method can be either a class or a union. + * tests/data/test-diff-filter/test-PR27598-report-0.txt: New + reference output for the test. + * tests/data/test-diff-filter/test-PR27598-v{0,1}.cc: New source + code for the input binaries below. + * tests/data/test-diff-filter/test-PR27598-v{0,1}.o: New input + test binaries. + * tests/data/Makefile.am: Add the new test material to source + distribution. + * tests/test-diff-filter.cc (in_out_specs): Add the test inputs + above to this test harness. + +2021-03-25 Dodji Seketeli <dodji@redhat.com> + + Bug 27569 - abidiff misses a function parameter addition + * include/abg-comparison.h (enum diff_category): Add a new + FN_PARM_ADD_REMOVE_CHANGE_CATEGORY enumerator and adjust the + following enumerator values. Update the EVERYTHING_CATEGORY + accordingly. + (function_type_diff::{sorted_deleted_parms, sorted_added_parms}): + Add new member functions. + * src/abg-comparison.cc + (function_type_diff::{sorted_deleted_parms, sorted_added_parms}): + Define new accessors. + (get_default_harmful_categories_bitmap): + Consider changes of the category + FN_PARM_ADD_REMOVE_CHANGE_CATEGORY as harmful. + (operator<<(ostream& o, diff_category c)): Support the new + FN_PARM_ADD_REMOVE_CHANGE_CATEGORY while serializing a category + bitmap. + * src/abg-comp-filter.cc + (has_added_or_removed_function_parameters): Define new static + function. + (categorize_harmful_diff_node): Categorize diff nodes representing + function parameter addition or removal as + FN_PARM_ADD_REMOVE_CHANGE_CATEGORY. + * tests/data/test-diff-filter/test-PR27569-report-0.txt: New test + reference output. + * tests/data/test-diff-filter/test-PR27569-v{0,1}.abi: New test inputs. + * tests/data/Makefile.am: Add the new test inputs to the source + distribution. + * tests/test-diff-filter.cc (in_out_specs): Add the new test + inputs to this test harness. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: + Adjust. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: + Likewise. + * tests/data/test-diff-pkg/libsigc++-2.0-0c2a_2.4.0-1_amd64--libsigc++-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt: + Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: + Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: + Likewise. + +2021-03-15 Giuliano Procida <gprocida@google.com> + + dwarf-reader: Treat union members as public by default. + * src/abg-dwarf-reader.cc (add_or_update_union_type): Replace + "class" with "union" in comments; give union members public + access by default. + (finish_member_function_reading): Give union members public access + by default. + (maybe_set_member_type_access_specifier): Give union members + public access by default. + * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Refresh. + * tests/data/test-annotate/libtest24-drop-fns.so.abi: Refresh. + * tests/data/test-annotate/test-anonymous-members-0.o.abi: + Refresh. + * tests/data/test-annotate/test13-pr18894.so.abi: Refresh. + * tests/data/test-annotate/test14-pr18893.so.abi: Refresh. + * tests/data/test-annotate/test15-pr18892.so.abi: Refresh. + * tests/data/test-annotate/test17-pr19027.so.abi: Refresh. + * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Refresh. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Refresh. + * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Refresh. + * tests/data/test-annotate/test21-pr19092.so.abi: Refresh. + * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi: + Refresh. + * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi: + Refresh. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: + Refresh. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Refresh. + * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi: + Refresh. + * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: + Refresh. + * tests/data/test-read-dwarf/test-PR26568-1.o.abi: Refresh. + * tests/data/test-read-dwarf/test-PR26568-2.o.abi: Refresh. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Refresh. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: + Refresh. + * tests/data/test-read-dwarf/test11-pr18828.so.abi: Refresh. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Refresh. + * tests/data/test-read-dwarf/test13-pr18894.so.abi: Refresh. + * tests/data/test-read-dwarf/test14-pr18893.so.abi: Refresh. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Refresh. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Refresh. + * tests/data/test-read-dwarf/test17-pr19027.so.abi: Refresh. + * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Refresh. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Refresh. + * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Refresh. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Refresh. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: + Refresh. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: + Refresh. + +2021-03-12 Ben Woodard via Libabigail <libabigail@sourceware.org> + + Bug 27512 - Remove broken zip-archive support + * configure.ac: remove --enable-zip-archive option and logic + associated with it. + * include/abg-libzip-utils.h: Remove. + * src/abg-libzip-utils.cc: Likewise. + * include/Makefile.am: remove reference to include/abg-libzip-utils.h + that no longer exists. + * src/Makefile.am: remove reference to src/abg-libzip-utils.cc that no + longer exists. + * relicensing-scripts/file-licenses.orig.txt: remove references to + files that no longer exist. + * relicensing-scripts/files-with-lgplv3.txt: remove references to + files that no longer exist. + * tests/test-write-read-archive.cc: Remove because it tests code + that no longer exists. + * tests/Makefile.am: remove reference to tests that no longer exist. + * include/abg-reader.h: remove conditionally compiled code for zip + archives. + * include/abg-tools-utils.h: remove conditionally compiled code for + zip archives. + * src/abg-corpus.cc: remove conditionally compiled code for zip + archives. + * src/abg-reader.cc: remove conditionally compiled code for zip + archives. + * src/abg-tools-utils.cc: remove conditionally compiled code for zip + archives. + * src/abg-writer.cc: remove conditionally compiled code for zip + archives. + * tools/abidiff.cc: remove conditionally compiled code for zip + archives. + * tools/abilint.cc: remove conditionally compiled code for zip + archives. + * tools/abiar.c: Remove. + * tools/Makefile.am: remove references to abiar a utility that no + longer has a reason for existing. + +2021-03-18 Dodji Seketeli <dodji@redhat.com> + + dwarf-reader: Support more DWARF-5 type DIEs + * src/abg-dwarf-reader.cc (is_type_tag): Support + DW_TAG_coarray_type, DW_TAG_atomic_type and DW_TAG_immutable_type. + * tests/data/test-diff-pkg/elfutils-debuginfo-0.183-1.el9.x86_64.rpm: + Add new binary test input. + * tests/data/test-diff-pkg/elfutils-libs-debuginfo-0.183-1.el9.x86_64.rpm: Likewise. + * tests/data/test-diff-pkg/elfutils-libs-0.183-1.el9.x86_64.rpm: Likewise. + * tests/data/test-diff-pkg/elfutils-libs-debuginfo-0.183-1.el9.x86_64-self-check-report-0.txt: + Add new reference test output. + * tests/test-diff-pkg.cc (in_out_specs): Add the test inputs above + to the harness. + +2021-03-10 Giuliano Procida <gprocida@google.com> + + DWARF reader: Comment ARM32 ELF address interpretation + * src/abg-dwarf-reader.cc + (read_context::load_symbol_maps_from_symtab_section): Add + descriptive comment to ARM32 address handling; shorten + the assignment using &=. + +2021-01-27 Matthias Maennich <maennich@google.com> + + dwarf-reader split: create abg-symtab-reader.{h,cc} and test case + * src/abg-symtab-reader.h: New header file. + * src/abg-symtab-reader.cc: New source file. + * src/Makefile.am: Add new source files. + * tests/Makefile.am: Add new test case runtestsymtabreader. + * tests/test-symtab-reader.cc: New test source file. + Reviewed-by: Giuliano Procida <gprocida@google.com> + +2021-03-09 Giuliano Procida <gprocida@google.com> + + DWARF reader: Interpret ARM32 ELF addresses correctly + * src/abg-dwarf-reader.cc + (read_context::load_symbol_maps_from_symtab_section): Clear + bit zero of ARM32 function addresses. + * src/abg-elf-helpers.cc (architecture_is_arm32): Add new + function. + * src/abg-elf-helpers.h (architecture_is_arm32): Likewise. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Update. + +2021-01-27 Matthias Maennich <maennich@google.com> + + abg-ir: elf_symbol: add is_suppressed field + * include/abg-ir.h (elf_symbol::elf_symbol): Add is_suppressed + parameter. + (elf_symbol::create): Likewise. + (elf_symbol::is_suppressed): New getter declaration. + (elf_symbol::set_is_suppressed): New setter declaration. + * src/abg-ir.cc (elf_symbol::priv::priv): Add is_suppressed + parameter. + (elf_symbol::priv::is_suppressed_): New field. + (elf_symbol::elf_symbol): Add is_suppressed parameter. + (elf_symbol::create): Likewise. + (elf_symbol::is_suppressed): New getter implementation. + (elf_symbol::set_is_suppressed): New setter implementation. + Reviewed-by: Giuliano Procida <gprocida@google.com> + +2021-01-27 Matthias Maennich <maennich@google.com> + + abg-ir: elf_symbol: add is_in_ksymtab field + * include/abg-ir.h (elf_symbol::elf_symbol): Add is_in_ksymtab + parameter. + (elf_symbol::create): Likewise. + (elf_symbol::is_in_ksymtab): New getter declaration. + (elf_symbol::set_is_in_ksymtab): New setter declaration. + * src/abg-ir.cc (elf_symbol::priv::priv): Add is_in_ksymtab + parameter. + (elf_symbol::priv::is_in_ksymtab_): New field. + (elf_symbol::elf_symbol): Add is_in_ksymtab parameter. + (elf_symbol::create): Likewise. + (elf_symbol::is_in_ksymtab): New getter implementation. + (elf_symbol::set_is_in_ksymtab): New setter implementation. + Reviewed-by: Giuliano Procida <gprocida@google.com> + +2021-01-27 Matthias Maennich <maennich@google.com> + + abg-cxx-compat: add simplified version of std::optional + * include/abg-cxx-compat.h (abg_compat::optional): Add new class. + * tests/tests-cxx-compat.cc: Add new test cases. + Reviewed-by: Giuliano Procida <gprocida@google.com> + +2021-03-02 Ben Woodard via Libabigail <libabigail@sourceware.org> + + Fix declaratons of conditionally defined functions + * include/abg-reader.h (read_corpus_from_file): Guard the + declaration of these overloads with #ifdef WITH_ZIP_ARCHIVE. + * tools/abilint.cc: Guard the use of + abigail::xml_reader::read_corpus_from_file with #ifdef + WITH_ZIP_ARCHIVE. + +2021-03-08 Dodji Seketeli <dodji@redhat.com> + + Revert "Fix declaratons of conditionally defined functions" + * include/abg-reader.h: + * tools/abilint.cc: + +2021-03-02 Ben Woodard via Libabigail <libabigail@sourceware.org> + + Fix declaratons of conditionally defined functions + * include/abg-reader.h: + * tools/abilint.cc: + +2021-03-08 Dodji Seketeli <dodji@redhat.com> + + tests/catch.hpp: Add SPDX header back + * tests/lib/catch.hpp: Add SPDX header back. + +2021-02-25 Dodji Seketeli <dodji@redhat.com> + + dwarf-reader: Keep stable order when de-duplicating class definitions + * src/abg-dwarf-reader.cc + (read_context::resolve_declaration_only_classes): Compare the + classes that have the same name across several TU, always in the + same order. + * tests/data/test-annotate/test15-pr18892.so.abi: Adjust. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. + +2021-02-24 Dodji Seketeli <dodji@redhat.com> + + Better sorting of (anonymous) types in ABIXML files + * src/abg-writer.cc (type_ptr_cmp::operator()): Use the internal + pretty representation of types, for comparison. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: + Adjust. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise. + * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: + Likewise. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. + * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise. + * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. + * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise. + * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. + * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. + * tests/data/test-annotate/test13-pr18894.so.abi: Likewise. + * tests/data/test-annotate/test14-pr18893.so.abi: Likewise. + * tests/data/test-annotate/test15-pr18892.so.abi: Likewise. + * tests/data/test-annotate/test17-pr19027.so.abi: Likewise. + * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. + * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Likewise. + * tests/data/test-annotate/test21-pr19092.so.abi: Likewise. + +2021-02-23 Dodji Seketeli <dodji@redhat.com> + + tests: Update to catch.hpp v2.13.4 and fix #2178 + * tests/lib/catch.hpp: Update to v2.13.4 and initialize + sigStackSize to 32768 for now, as suggested by + https://github.com/catchorg/Catch2/issues/2178. + +2021-02-11 Dodji Seketeli <dodji@redhat.com> + + Don't consider type name when comparing typedefs + * include/abg-ir.h (maybe_compare_as_member_decls): Declare new + function. Make it a friend of class decl_base. + * src/abg-dwarf-reader.cc (maybe_canonicalize_type): Don't early + canonicalize typedefs because they can be "part" of a type that is + not yet completed, especially considering that class declaration + resolution is part of type building, stricto sensu. + * src/abg-ir.cc (maybe_compare_as_member_decls): Factorize this + out of ... + (equals): ... the overload for decl_base. Use it in the overload + for typedef_decl. + * tests/data/test-diff-pkg/nmap-7.70-5.el8_testjcc.x86_64-self-check-report-0.txt: + New test reference output. + * tests/data/test-diff-pkg/nmap-7.70-5.el8_testjcc.x86_64.rpm: New + binary input. + * tests/data/test-diff-pkg/nmap-debuginfo-7.70-5.el8_testjcc.x86_64.rpm: Likewise. + * tests/data/Makefile.am: Add these new testing material to source + distribution. + * tests/test-diff-pkg.cc (in_out_specs): Add the new test input to + the harness. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt: + Adjust. + * tests/data/test-diff-suppr/test39-opaque-type-report-0.txt: + Adjust. + +2021-02-10 Dodji Seketeli <dodji@redhat.com> + + Use generic internal type name to canonicalize anonymous enums + * src/abg-ir.cc (has_generic_anonymous_internal_type_name) : + Define new static function. + (get_generic_anonymous_internal_type_name): Use it here. + (decl_base::get_pretty_representation): For internal purposes, + build an anonymous name that is stable. + * tests/data/test-annotate/test21-pr19092.so.abi: Adjust. + * tests/data/test-diff-pkg/PR24690/PR24690-report-0.txt: Adjust. + * tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt: Adjust. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Adjust. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Adjust. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Adjust. + +2021-02-08 Giuliano Procida <gprocida@google.com> + + abg-dwarf-reader: Fix typo in compare_dies_string_attribute_value + * src/abg-dwarf-reader.cc + (compare_dies_string_attribute_value): Typo fix. + +2021-01-27 Giuliano Procida <gprocida@google.com> + + abidiff: do not qualify member names in diff report + * src/abg-reporter-priv.cc (represent_data_member): Do not + qualify member names. (represent): Do not qualify member names. + * tests/data/test-abicompat/test0-fn-changed-report-0.txt: Refresh. + * tests/data/test-abicompat/test0-fn-changed-report-2.txt: Refresh. + * tests/data/test-abicompat/test5-fn-changed-report-0.txt: Refresh. + * tests/data/test-abicompat/test5-fn-changed-report-1.txt: Refresh. + * tests/data/test-abicompat/test6-var-changed-report-0.txt: Refresh. + * tests/data/test-abicompat/test6-var-changed-report-1.txt: Refresh. + * tests/data/test-abicompat/test7-fn-changed-report-0.txt: Refresh. + * tests/data/test-abicompat/test7-fn-changed-report-1.txt: Refresh. + * tests/data/test-abicompat/test7-fn-changed-report-2.txt: Refresh. + * tests/data/test-abicompat/test8-fn-changed-report-0.txt: Refresh. + * tests/data/test-abicompat/test9-fn-changed-report-0.txt: Refresh. + * tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt: + Refresh. + * tests/data/test-abidiff-exit/test-fun-param-report.txt: Refresh. + * tests/data/test-abidiff-exit/test-headers-dirs/test-headers-dir-report-2.txt: + Refresh. + * tests/data/test-abidiff-exit/test-leaf-cxx-members-report.txt: + Refresh. + * tests/data/test-abidiff-exit/test-leaf-peeling-report.txt: Refresh. + * tests/data/test-abidiff-exit/test-leaf-redundant-report.txt: Refresh. + * tests/data/test-abidiff-exit/test-member-size-report0.txt: Refresh. + * tests/data/test-abidiff-exit/test-member-size-report1.txt: Refresh. + * tests/data/test-abidiff-exit/test-net-change-report0.txt: Refresh. + * tests/data/test-abidiff/test-PR18791-report0.txt: Refresh. + * tests/data/test-abidiff/test-qual-type0-report.txt: Refresh. + * tests/data/test-abidiff/test-struct0-report.txt: Refresh. + * tests/data/test-abidiff/test-struct1-report.txt: Refresh. + * tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt: + Refresh. + * tests/data/test-diff-dwarf/test0-report.txt: Refresh. + * tests/data/test-diff-dwarf/test1-report.txt: Refresh. + * tests/data/test-diff-dwarf/test10-report.txt: Refresh. + * tests/data/test-diff-dwarf/test11-report.txt: Refresh. + * tests/data/test-diff-dwarf/test13-report.txt: Refresh. + * tests/data/test-diff-dwarf/test21-redundant-fn-report-0.txt: Refresh. + * tests/data/test-diff-dwarf/test27-local-base-diff-report.txt: + Refresh. + * tests/data/test-diff-dwarf/test3-report.txt: Refresh. + * tests/data/test-diff-dwarf/test32-fnptr-changes-report-0.txt: + Refresh. + * tests/data/test-diff-dwarf/test33-fnref-changes-report-0.txt: + Refresh. + * tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt: + Refresh. + * tests/data/test-diff-dwarf/test37-union-report-0.txt: Refresh. + * tests/data/test-diff-dwarf/test38-union-report-0.txt: Refresh. + * tests/data/test-diff-dwarf/test39-union-report-0.txt: Refresh. + * tests/data/test-diff-dwarf/test4-report.txt: Refresh. + * tests/data/test-diff-dwarf/test40-report-0.txt: Refresh. + * tests/data/test-diff-dwarf/test44-anon-struct-union-report-0.txt: + Refresh. + * tests/data/test-diff-dwarf/test45-anon-dm-change-report-0.txt: + Refresh. + * tests/data/test-diff-dwarf/test46-rust-report-0.txt: Refresh. + * tests/data/test-diff-dwarf/test5-report.txt: Refresh. + * tests/data/test-diff-dwarf/test8-report.txt: Refresh. + * tests/data/test-diff-filter/libtest45-basic-type-change-report-0.txt: + Refresh. + * tests/data/test-diff-filter/test-PR26739-2-report-0.txt: Refresh. + * tests/data/test-diff-filter/test0-report.txt: Refresh. + * tests/data/test-diff-filter/test01-report.txt: Refresh. + * tests/data/test-diff-filter/test1-report.txt: Refresh. + * tests/data/test-diff-filter/test10-report.txt: Refresh. + * tests/data/test-diff-filter/test11-report.txt: Refresh. + * tests/data/test-diff-filter/test13-report.txt: Refresh. + * tests/data/test-diff-filter/test14-0-report.txt: Refresh. + * tests/data/test-diff-filter/test14-1-report.txt: Refresh. + * tests/data/test-diff-filter/test15-0-report.txt: Refresh. + * tests/data/test-diff-filter/test15-1-report.txt: Refresh. + * tests/data/test-diff-filter/test16-report-2.txt: Refresh. + * tests/data/test-diff-filter/test16-report.txt: Refresh. + * tests/data/test-diff-filter/test17-0-report.txt: Refresh. + * tests/data/test-diff-filter/test17-1-report.txt: Refresh. + * tests/data/test-diff-filter/test18-report.txt: Refresh. + * tests/data/test-diff-filter/test2-report.txt: Refresh. + * tests/data/test-diff-filter/test25-cyclic-type-report-0.txt: Refresh. + * tests/data/test-diff-filter/test25-cyclic-type-report-1.txt: Refresh. + * tests/data/test-diff-filter/test26-qualified-redundant-node-report-0.txt: + Refresh. + * tests/data/test-diff-filter/test26-qualified-redundant-node-report-1.txt: + Refresh. + * tests/data/test-diff-filter/test27-redundant-and-filtered-children-nodes-report-0.txt: + Refresh. + * tests/data/test-diff-filter/test27-redundant-and-filtered-children-nodes-report-1.txt: + Refresh. + * tests/data/test-diff-filter/test27-redundant-and-filtered-children-nodes-report-2.txt: + Refresh. + * tests/data/test-diff-filter/test28-redundant-and-filtered-children-nodes-report-0.txt: + Refresh. + * tests/data/test-diff-filter/test28-redundant-and-filtered-children-nodes-report-1.txt: + Refresh. + * tests/data/test-diff-filter/test29-finer-redundancy-marking-report-0.txt: + Refresh. + * tests/data/test-diff-filter/test3-report.txt: Refresh. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt: + Refresh. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt: + Refresh. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt: + Refresh. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: + Refresh. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: + Refresh. + * tests/data/test-diff-filter/test32-ppc64le-struct-change-report0.txt: + Refresh. + * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt: + Refresh. + * tests/data/test-diff-filter/test36-report-0.txt: Refresh. + * tests/data/test-diff-filter/test37-report-0.txt: Refresh. + * tests/data/test-diff-filter/test39/test39-report-0.txt: Refresh. + * tests/data/test-diff-filter/test42-leaf-report-output-0.txt: Refresh. + * tests/data/test-diff-filter/test44-anonymous-data-member-report-0.txt: + Refresh. + * tests/data/test-diff-filter/test44-anonymous-data-member-report-1.txt: + Refresh. + * tests/data/test-diff-filter/test9-report.txt: Refresh. + * tests/data/test-diff-pkg/GtkAda-gl-2.24.2-29.fc29.x86_64--2.24.2-30.fc30.x86_64-report-0.txt: + Refresh. + * tests/data/test-diff-pkg/PR24690/PR24690-report-0.txt: Refresh. + * tests/data/test-diff-pkg/dirpkg-1-report-1.txt: Refresh. + * tests/data/test-diff-pkg/dirpkg-3-report-1.txt: Refresh. + * tests/data/test-diff-pkg/dirpkg-3-report-2.txt: Refresh. + * tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt: + Refresh. + * tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt: + Refresh. + * tests/data/test-diff-pkg/libsigc++-2.0-0c2a_2.4.0-1_amd64--libsigc++-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt: + Refresh. + * tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt: + Refresh. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt: + Refresh. + * tests/data/test-diff-pkg/symlink-dir-test1-report0.txt: Refresh. + * tests/data/test-diff-pkg/tarpkg-0-report-0.txt: Refresh. + * tests/data/test-diff-pkg/tarpkg-1-report-0.txt: Refresh. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: + Refresh. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: + Refresh. + * tests/data/test-diff-suppr/libtest48-soname-abixml-report-1.txt: + Refresh. + * tests/data/test-diff-suppr/test0-type-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test0-type-suppr-report-3.txt: Refresh. + * tests/data/test-diff-suppr/test0-type-suppr-report-5.txt: Refresh. + * tests/data/test-diff-suppr/test0-type-suppr-report-7.txt: Refresh. + * tests/data/test-diff-suppr/test1-typedef-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test1-typedef-suppr-report-2.txt: Refresh. + * tests/data/test-diff-suppr/test11-add-data-member-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test12-add-data-member-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test12-add-data-member-report-2.txt: + Refresh. + * tests/data/test-diff-suppr/test13-suppr-through-pointer-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test13-suppr-through-pointer-report-1.txt: + Refresh. + * tests/data/test-diff-suppr/test14-suppr-non-redundant-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test14-suppr-non-redundant-report-1.txt: + Refresh. + * tests/data/test-diff-suppr/test15-suppr-added-fn-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test15-suppr-added-fn-report-1.txt: + Refresh. + * tests/data/test-diff-suppr/test15-suppr-added-fn-report-5.txt: + Refresh. + * tests/data/test-diff-suppr/test16-suppr-removed-fn-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test16-suppr-removed-fn-report-2.txt: + Refresh. + * tests/data/test-diff-suppr/test16-suppr-removed-fn-report-5.txt: + Refresh. + * tests/data/test-diff-suppr/test17-suppr-added-var-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test17-suppr-added-var-report-2.txt: + Refresh. + * tests/data/test-diff-suppr/test17-suppr-added-var-report-5.txt: + Refresh. + * tests/data/test-diff-suppr/test18-suppr-removed-var-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test18-suppr-removed-var-report-2.txt: + Refresh. + * tests/data/test-diff-suppr/test18-suppr-removed-var-report-5.txt: + Refresh. + * tests/data/test-diff-suppr/test2-struct-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test23-alias-filter-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test23-alias-filter-report-2.txt: Refresh. + * tests/data/test-diff-suppr/test24-soname-report-1.txt: Refresh. + * tests/data/test-diff-suppr/test24-soname-report-10.txt: Refresh. + * tests/data/test-diff-suppr/test24-soname-report-12.txt: Refresh. + * tests/data/test-diff-suppr/test24-soname-report-14.txt: Refresh. + * tests/data/test-diff-suppr/test24-soname-report-16.txt: Refresh. + * tests/data/test-diff-suppr/test24-soname-report-4.txt: Refresh. + * tests/data/test-diff-suppr/test25-typedef-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test26-loc-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test26-loc-suppr-report-3.txt: Refresh. + * tests/data/test-diff-suppr/test29-soname-report-3.txt: Refresh. + * tests/data/test-diff-suppr/test29-soname-report-6.txt: Refresh. + * tests/data/test-diff-suppr/test29-soname-report-8.txt: Refresh. + * tests/data/test-diff-suppr/test3-struct-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test3-struct-suppr-report-1.txt: Refresh. + * tests/data/test-diff-suppr/test3-struct-suppr-report-2.txt: Refresh. + * tests/data/test-diff-suppr/test30-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test31-report-1.txt: Refresh. + * tests/data/test-diff-suppr/test33-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test35-leaf-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test36-leaf-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test4-local-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test4-local-suppr-report-1.txt: Refresh. + * tests/data/test-diff-suppr/test42-negative-suppr-type-report-0.txt: + Refresh. + * tests/data/test-diff-suppr/test42-negative-suppr-type-report-1.txt: + Refresh. + * tests/data/test-diff-suppr/test46-PR25128-report-1.txt: Refresh. + * tests/data/test-diff-suppr/test46-PR25128-report-2.txt: Refresh. + * tests/data/test-diff-suppr/test47-non-reachable-types-report-1.txt: + Refresh. + * tests/data/test-diff-suppr/test47-non-reachable-types-report-2.txt: + Refresh. + * tests/data/test-diff-suppr/test47-non-reachable-types-report-4.txt: + Refresh. + * tests/data/test-diff-suppr/test47-non-reachable-types-report-7.txt: + Refresh. + * tests/data/test-diff-suppr/test5-fn-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test5-fn-suppr-report-1.txt: Refresh. + * tests/data/test-diff-suppr/test5-fn-suppr-report-2.txt: Refresh. + * tests/data/test-diff-suppr/test5-fn-suppr-report-3.txt: Refresh. + * tests/data/test-diff-suppr/test5-fn-suppr-report-4.txt: Refresh. + * tests/data/test-diff-suppr/test5-fn-suppr-report-5.txt: Refresh. + * tests/data/test-diff-suppr/test6-fn-suppr-report-0-1.txt: Refresh. + * tests/data/test-diff-suppr/test6-fn-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test6-fn-suppr-report-1.txt: Refresh. + * tests/data/test-diff-suppr/test6-fn-suppr-report-2.txt: Refresh. + * tests/data/test-diff-suppr/test6-fn-suppr-report-3.txt: Refresh. + * tests/data/test-diff-suppr/test6-fn-suppr-report-4.txt: Refresh. + * tests/data/test-diff-suppr/test7-var-suppr-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test7-var-suppr-report-1.txt: Refresh. + * tests/data/test-diff-suppr/test7-var-suppr-report-2.txt: Refresh. + * tests/data/test-diff-suppr/test7-var-suppr-report-3.txt: Refresh. + * tests/data/test-diff-suppr/test7-var-suppr-report-4.txt: Refresh. + * tests/data/test-diff-suppr/test7-var-suppr-report-7.txt: Refresh. + * tests/data/test-diff-suppr/test7-var-suppr-report-8.txt: Refresh. + * tests/data/test-diff-suppr/test8-redundant-fn-report-0.txt: Refresh. + * tests/data/test-diff-suppr/test8-redundant-fn-report-1.txt: Refresh. + +2021-02-08 Dodji Seketeli <dodji@redhat.com> + + dwarf-reader: Use DW_FORM_line_strp only if it's present + * configure.ac: Define if HAS_DW_FORM_line_strp if the + DW_FORM_line_strp enumerator is present. + * src/abg-dwarf-reader.cc (form_is_DW_FORM_line_strp): Define new + static function. + (compare_dies_string_attribute_value): Use it. + +2021-02-04 Dodji Seketeli <dodji@redhat.com> + + Bug 27267 - Better support for opaque enum types + * src/abg-dwarf-reader.cc (get_opaque_version_of_type): Do not + quit early for enum types, because the code that comes a bit later + can handle enums. Add the newly built enum to its scope for + proper life cycle management. + * tests/data/test-diff-suppr/PR27267/include-dir-v{0,1}/include.h: New + include files for the input test library. + * tests/data/test-diff-suppr/PR27267/libtestpr27267-v{0,1}.so: New + input test library. + * tests/data/test-diff-suppr/PR27267/report-1.txt: New reference + output for the comparison. + * tests/data/test-diff-suppr/PR27267/v{0,1}.c: Source code for the + new input test library. + * tests/data/Makefile.am: Add the new test material above to + source distribution. + * tests/test-diff-suppr.cc (in_out_specs): Add the new test input + above to the test harness. + +2021-02-03 Dodji Seketeli <dodji@redhat.com> + + Bug 27331 - Data member offset change not considered local + * src/abg-ir.cc (equals): In the overload of class_or_union, when + a data member changes without having its type change, then + consider the data change as being local. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt: + Adjust. + * tests/data/test-diff-filter/test-PR27331-report-0.txt: New + reference output. + * tests/data/test-diff-filter/test-PR27331-v{0,1}.c: New test + source files. + * tests/data/test-diff-filter/test-PR27331-v{0,1}.o: New test + binary inputs. + * tests/data/Makefile.am: Add these new test material to source + distribution. + * tests/test-diff-filter.cc (in_out_specs): Add the tests above to + the harness. + +2021-02-02 Dodji Seketeli <dodji@redhat.com> + + Bug 27165 - Better support multi-language binaries + * src/abg-dwarf-reader.cc (get_scope_for_die): Get the language of + the DIE from the compilation unit of the DIE itself. + * tests/data/test-types-stability/PR27165-libzmq.so.5.2.3: New + test input. + * tests/data/test-types-stability/PR27165-libzmq.so.5.2.3.debug: + Debug information for the new test input. + * tests/data/Makefile.am: Add the test inputs above to the source + distribution. + * tests/test-types-stability.cc (elf_paths): Add the new test + inputs to this test harness. + +2020-10-22 Dodji Seketeli <dodji@redhat.com> + + Bump ABIXML format version to 2.0 + * include/abg-corpus.h (corpus::init_format_version): Declare new + private method. + (corpus::set_environment): Make this non-const. + (corpus::{get,set}_format_{major,minor}_version_number): Declare + new accessors. + * src/abg-corpus.cc (corpus::init_format_version): Define new + method. + (corpus::set_environment): By default, initialize the format + version number of the corpus to the one supported by Libabigail. + (corpus::{get,set}_format_{major,minor}_version_number): Define + new accessors. + * include/abg-ir.h: Include abg-config.h to use the + abigail::config. + (environment::get_config): Declare new accessor. + * src/abg-ir.cc (environment::priv::config_): Add new data member. + (environment::get_config): Define new accessor. + * src/abg-config.cc (config::config): Bump the format + version number to "2.0". + * src/abg-corpus-priv.h + (corpus::priv::format_{major,minor}_version_number_): Add new data members. + * src/abg-reader.cc (handle_version_attribute): Define new static + function. + (read_corpus_from_input, read_corpus_group_from_input): Use it to + read the value of the "version" attribute and set the format + version number of the corpus and corpus group accordingly. + * src/abg-writer.cc (write_context::m_config): Remove the config + object because we can now get it from the environment. + (write_context::get_config): Get the config object from the + environment. + (write_translation_unit): Do not emit the version attribute on the + translation unit element anymore. + (write_version_info): Define static function. + (write_corpus, write_corpus_group): Use it to emit version + attribute on both the corpus and corpus group elements. + * tools/abidiff.cc + (emit_incomptatible_format_version_error_message): Define new + static function. + (main): Ensure that corpora and corpus groups being compared have + the same major version number. + * tests/update-test-output.py: Adjust syntax for python3. + * tests/data/test-annotate/libtest23.so.abi: Adjust. + * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise. + * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-annotate/test-anonymous-members-0.o.abi: + Likewise. + * tests/data/test-annotate/test0.abi: Likewise. + * tests/data/test-annotate/test1.abi: Likewise. + * tests/data/test-annotate/test13-pr18894.so.abi: Likewise. + * tests/data/test-annotate/test14-pr18893.so.abi: Likewise. + * tests/data/test-annotate/test15-pr18892.so.abi: Likewise. + * tests/data/test-annotate/test17-pr19027.so.abi: Likewise. + * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. + * tests/data/test-annotate/test2.so.abi: Likewise. + * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Likewise. + * tests/data/test-annotate/test21-pr19092.so.abi: Likewise. + * tests/data/test-annotate/test3.so.abi: Likewise. + * tests/data/test-annotate/test4.so.abi: Likewise. + * tests/data/test-annotate/test5.o.abi: Likewise. + * tests/data/test-annotate/test6.so.abi: Likewise. + * tests/data/test-annotate/test7.so.abi: Likewise. + * tests/data/test-annotate/test8-qualified-this-pointer.so.abi: + Likewise. + * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi: + Likewise. + * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1-report-0.txt: + Likewise. + * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi: + Likewise. + * tests/data/test-diff-suppr/libtest48-soname-abixml-v0.so.abi: + Likewise. + * tests/data/test-diff-suppr/libtest48-soname-abixml-v1.so.abi: + Likewise. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: + Likewise. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. + * tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi: + Likewise. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise. + * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: + Likewise. + * tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise. + * tests/data/test-read-dwarf/libtest23.so.abi: Likewise. + * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi: + Likewise. + * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-read-dwarf/test-PR26568-1.o.abi: Likewise. + * tests/data/test-read-dwarf/test-PR26568-2.o.abi: Likewise. + * tests/data/test-read-dwarf/test0.abi: Likewise. + * tests/data/test-read-dwarf/test0.hash.abi: Likewise. + * tests/data/test-read-dwarf/test1.abi: Likewise. + * tests/data/test-read-dwarf/test1.hash.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. + * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise. + * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. + * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise. + * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: + Likewise. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Likewise. + * tests/data/test-read-dwarf/test2.so.abi: Likewise. + * tests/data/test-read-dwarf/test2.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: + Likewise. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: + Likewise. + * tests/data/test-read-dwarf/test3.so.abi: Likewise. + * tests/data/test-read-dwarf/test3.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test4.so.abi: Likewise. + * tests/data/test-read-dwarf/test4.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test5.o.abi: Likewise. + * tests/data/test-read-dwarf/test5.o.hash.abi: Likewise. + * tests/data/test-read-dwarf/test6.so.abi: Likewise. + * tests/data/test-read-dwarf/test6.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test7.so.abi: Likewise. + * tests/data/test-read-dwarf/test7.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi: + Likewise. + * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi: + Likewise. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. + * tests/data/test-read-write/test0.xml: Likewise. + * tests/data/test-read-write/test1.xml: Likewise. + * tests/data/test-read-write/test10.xml: Likewise. + * tests/data/test-read-write/test11.xml: Likewise. + * tests/data/test-read-write/test12.xml: Likewise. + * tests/data/test-read-write/test13.xml: Likewise. + * tests/data/test-read-write/test14.xml: Likewise. + * tests/data/test-read-write/test15.xml: Likewise. + * tests/data/test-read-write/test16.xml: Likewise. + * tests/data/test-read-write/test17.xml: Likewise. + * tests/data/test-read-write/test18.xml: Likewise. + * tests/data/test-read-write/test19.xml: Likewise. + * tests/data/test-read-write/test2.xml: Likewise. + * tests/data/test-read-write/test20.xml: Likewise. + * tests/data/test-read-write/test21.xml: Likewise. + * tests/data/test-read-write/test22.xml: Likewise. + * tests/data/test-read-write/test23.xml: Likewise. + * tests/data/test-read-write/test24.xml: Likewise. + * tests/data/test-read-write/test25.xml: Likewise. + * tests/data/test-read-write/test26.xml: Likewise. + * tests/data/test-read-write/test27.xml: Likewise. + * tests/data/test-read-write/test28-without-std-fns-ref.xml: + Likewise. + * tests/data/test-read-write/test28-without-std-vars-ref.xml: + Likewise. + * tests/data/test-read-write/test3.xml: Likewise. + * tests/data/test-read-write/test4.xml: Likewise. + * tests/data/test-read-write/test5.xml: Likewise. + * tests/data/test-read-write/test6.xml: Likewise. + * tests/data/test-read-write/test7.xml: Likewise. + * tests/data/test-read-write/test8.xml: Likewise. + * tests/data/test-read-write/test9.xml: Likewise. + +2020-10-20 Dodji Seketeli <dodji@redhat.com> + + Bug 26684 - Support DW_AT_data_bit_offset attribute + * src/abg-dwarf-reader.cc (read_and_convert_DW_at_bit_offset): + Define new static function. + (die_member_offset): Primarily use DW_AT_data_bit_offset if its + present. Otherwise, look for DW_AT_bit_offset. Use the new + read_and_convert_DW_at_bit_offset function to properly interpret + DW_AT_bit_offset if its present. Update comment. + * tests/data/test-diff-filter/test-PR26684-dwarf{4,5}.o: New + binary test inputs. + * tests/data/test-diff-filter/test-PR26684.c: Source code of the + new binary test inputs above. + * tests/data/test-diff-filter/test-PR26684-report-0.txt: New + reference test output. + * tests/data/Makefile.am: Add the new test material above to + source distribution. + * tests/test-diff-filter.cc (in_out_specs): Add the test inputs + above to this test harness. + * tests/data/test-annotate/test13-pr18894.so.abi: Adjust. + * tests/data/test-annotate/test15-pr18892.so.abi: Adjust. + * tests/data/test-annotate/test17-pr19027.so.abi: Adjust. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Adjust. + * tests/data/test-annotate/test21-pr19092.so.abi: Adjust. + * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi: + Adjust. + * tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt: + Adjust. + * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Adjust. + * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: + Adjust. + * tests/data/test-read-dwarf/test13-pr18894.so.abi: Adjust. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Adjust. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust. + * tests/data/test-read-dwarf/test17-pr19027.so.abi: Adjust. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: + Adjust. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Adjust. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: + Adjust. + +2021-01-27 Dodji Seketeli <dodji@redhat.com> + + Bug 27255 - fedabipkgdiff fails on nfs-utils on Fedora 33 + * tools/fedabipkgdiff (RPMCollection::get_sibling_debuginfo): + Update comment. + (RPMCollection::get_matching_debuginfo): Define new function. + (generate_comparison_halves): Use + RPMCollection::get_matching_debuginfo instead of + RPMCollection::get_sibling_debuginfo. + +2021-01-26 Dodji Seketeli <dodji@redhat.com> + + dwarf-reader: Support fast DW_FORM_line_strp string comparison + * src/abg-dwarf-reader.cc (compare_dies_string_attribute_value): + Support DW_FORM_line_strp. + * tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64-self-check-report-0.txt: + New reference test output. + * tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64.rpm: New + test input. + * tests/data/test-diff-pkg/sshpass-debuginfo-1.07-1.fc34.x86_64.rpm: + Likewise. + * tests/data/Makefile.am: Add the new testing material above to + source distribution. + * tests/test-diff-pkg.cc (in_out_specs): Add the test input above + to this harness. + +2021-01-26 Dodji Seketeli <dodji@redhat.com> + + Bug 27232 - fedabipkgdiff fails on gawk from Fedora 33 + * tools/abipkgdiff.cc (options::pkg{1,2}): Add new data members to + store the packages to compare and have them available for the + various functions that may need them down the road. + (package::create_abi_file_path): Add new function. + (compare_to_self): Use the new package::create_abi_file_path to + create the path to the ABI file in a directory not owned by the + package. That should increase our chances of having the rights to + write that one. Make sure to emit error message when the + comparison against self fails. + ({compare_task, self_compare_task}::perform): During the process + of comparison if an internal error happens, report it. Cleanup + the existing reporting a little bit. + (pkg_extraction_task::perform): Fix comment. + * tests/data/test-diff-pkg/libxfce4ui-devel-4.12.1-8.fc27.ppc64-self-report-0.txt: + Adjust. + +2021-01-26 Matthias Maennich <maennich@google.com> + + abipkgdiff: Address operator precedence warning + * tools/abipkgdiff.cc (compare_to_self): address clang warning. + +2021-01-26 Dodji Seketeli <dodji@redhat.com> + + Bug 27233 - fedabipkgdiff fails on package gnupg2 from Fedora 33 + * src/abg-dwarf-reader.cc + (read_context::canonicalize_types_scheduled): Don't forget to + canonicalize types stored in extra_types_to_canonicalize_. + * src/abg-ir.cc (type_base::get_canonical_type_for): Add better + comment. + (hash_as_canonical_type_or_constant): Remove crutch that is + useless now that we canonicalize almost all types in the system. + +2021-01-25 Dodji Seketeli <dodji@redhat.com> + + Bug 27236 - Pointer comparison wrongly fails because of typedef change + * src/abg-ir.cc (equals): In the overloads for pointer_type_def, + reference_type_def and array_type_def, compare the pointed-to-type + modulo typedefs. + * tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt: Adjust. + * tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt: + Adjust. + * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt: + Adjust. + +2021-01-22 Dodji Seketeli <dodji@redhat.com> + + Ignore duplicated functions and those not associated with ELF symbols + * include/abg-ir.h (class_or_union::string_mem_fn_sptr_map_type): + Add a typedef for unordered_map<string, method_decl_sptr>. + (class_or_union::find_member_function_sptr): Declare new function. + * src/abg-ir.cc (class_or_union::priv::mem_fns_map_): Change the + type of this to string_mem_fn_sptr_map_type, so that shared + pointers to functions can be stored in the map, instead of bare + pointers to functions. This is useful to implement + class_or_union::find_member_function_sptr which returns a shared + pointer to function. + (class_or_union::find_member_function_sptr): Define new function. + (class_or_union::find_member_function): Adjust. + (method_decl::set_linkage_name): Use a non-deleting shared pointer + to store the current instance of member function into + class_or_union::priv::mem_fns_map_. + (hash_as_canonical_type_or_constant): As we are seeing more + function types, it appears that some function types are not + canonicalized. I am not sure why exactly, but let's loosen the + assert here for now, I'll chase the root of this later. + * src/abg-dwarf-reader.cc (finish_member_function_reading): + Improve detection of member function 'static-ness' by handling + cases where a this pointer can be const. Also support + DW_AT_object_pointer when it's present. This fixes the occurrence + of spurious change reports about loss of 'static-ness' of member + functions. + (potential_member_fn_should_be_dropped): Define new static + function and ... + (build_ir_node_from_die): ... use it here. When a function DIE + has the same linkage name as an existing function IR, do not + create a new IR for it. Rather, re-use the existing one to + complete it with the properties found on the function DIE. If a + new function doesn't seem to have an associated ELF symbol and is + not meant to be a virtual member function then drop its IR on the + floor as well. + * tests/data/test-annotate/libtest23.so.abi: Adjust. + * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise. + * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-annotate/test0.abi: Likewise. + * tests/data/test-annotate/test1.abi: Likewise. + * tests/data/test-annotate/test14-pr18893.so.abi: Likewise. + * tests/data/test-annotate/test15-pr18892.so.abi: Likewise. + * tests/data/test-annotate/test17-pr19027.so.abi: Likewise. + * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. + * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. + * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. + * tests/data/test-annotate/test21-pr19092.so.abi: Likewise. + * tests/data/test-annotate/test6.so.abi: Likewise. + * tests/data/test-annotate/test8-qualified-this-pointer.so.abi: Likewise. + * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi: Likewise. + * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi: Likewise. + * tests/data/test-diff-dwarf/test0-report.txt: Likewise. + * tests/data/test-diff-dwarf/test28-vtable-changes-report-0.txt: Likewise. + * tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt: Likewise. + * tests/data/test-diff-filter/test0-report.txt: Likewise. + * tests/data/test-diff-filter/test01-report.txt: Likewise. + * tests/data/test-diff-filter/test10-report.txt: Likewise. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt: Likewise. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt: Likewise. + * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt: Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: Likewise. + * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt: Likewise. + * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-1.txt: Likewise. + * tests/data/test-diff-filter/test41-report-0.txt: Likewise. + * tests/data/test-diff-filter/test9-report.txt: Likewise. + * tests/data/test-diff-pkg/libsigc++-2.0-0c2a_2.4.0-1_amd64--libsigc++-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt: Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: Likewise. + * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: Likewise. + * tests/data/test-diff-suppr/test24-soname-report-1.txt: Likewise. + * tests/data/test-diff-suppr/test24-soname-report-10.txt: Likewise. + * tests/data/test-diff-suppr/test24-soname-report-12.txt: Likewise. + * tests/data/test-diff-suppr/test24-soname-report-14.txt: Likewise. + * tests/data/test-diff-suppr/test24-soname-report-16.txt: Likewise. + * tests/data/test-diff-suppr/test24-soname-report-4.txt: Likewise. + * tests/data/test-diff-suppr/test31-report-1.txt: Likewise. + * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Likewise. + * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. + * tests/data/test-read-dwarf/libtest23.so.abi: Likewise. + * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi: Likewise. + * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise. + * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. + * tests/data/test-read-dwarf/test0.abi: Likewise. + * tests/data/test-read-dwarf/test0.hash.abi: Likewise. + * tests/data/test-read-dwarf/test1.abi: Likewise. + * tests/data/test-read-dwarf/test1.hash.abi: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. + * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. + * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. + * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise. + * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. + * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. + * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. + * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise. + * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. + * tests/data/test-read-dwarf/test6.so.abi: Likewise. + * tests/data/test-read-dwarf/test6.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi: Likewise. + * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi: Likewise. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. + +2021-01-20 Dodji Seketeli <dodji@redhat.com> + + Bug 27204 - potential loss of some aliased ELF function symbols + * src/abg-ir.cc (function_decl::get_id): If the elf symbol has + aliases, make the function name be part of the ID so that this ID + differs from the one of the other functions that share a symbol + alias with this one. + * tests/data/test-abidiff/test-PR18791-report0.txt: Adjust. + * tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt: Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise. + * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: Likewise. + * tests/data/test-diff-filter/test41-report-0.txt: Likewise. + * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. + * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. + * tests/data/test-diff-pkg/glibc-2.32-3.fc33.aarch64-self-check-report-0.txt: + New test reference output. + * tests/data/test-diff-pkg/glibc-2.32-3.fc33.aarch64.rpm: New test + input RPM. + * tests/data/test-diff-pkg/glibc-debuginfo-2.32-3.fc33.aarch64.rpm: + Likewise. + * tests/data/Makefile.am: Add the new test material to source + distribution. + * tests/test-diff-pkg.cc (in_out_specs): Add the new test input + RPMs to this test harness. + +2020-12-15 Matthias Maennich <maennich@google.com> + + abg-ir: Optimize calls to std::string::find() for a single char. + * src/abg-ir.cc (elf_symbol::get_name_and_version_from_id): + use character literal overload for single character string::find. + (parse_integral_type): Likewise. + Suggested-by: Chris Kennelly <ckennelly@google.com> + +2021-01-15 Dodji Seketeli <dodji@redhat.com> + + Bug 26992 - Try harder to resolve declaration-only classes + * src/abg-dwarf-reader.cc + (read_context::compare_before_canonicalisation): Define new member + function. + (read_context::resolve_declaration_only_classes): When there are + more than one definition that can resolve a given declaration, if + all those definitions are equal, then resolve the declaration to + those definitions. + (read_context::resolve_declaration_only_enums): Add a comment to + update similarly update this function (or do away with it + completely) later. + * tests/data/test-annotate/test15-pr18892.so.abi: Adjust. + * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. + * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. + * tests/data/test-diff-pkg/cogl-1.22.8-2.fc33.x86_64.rpm: Add new + test input. + * tests/data/test-diff-pkg/cogl-debuginfo-1.22.8-2.fc33.x86_64.rpm: + Likewise. + * tests/data/test-diff-pkg/cogl-1.22.8-2.fc33.x86_64.self-check-report-0.txt: + Likewise. + * tests/test-diff-pkg.cc (in_out_specs): Add the new test inputs + to the test harness. + * tests/data/Makefile.am: Add the new test input files to source + distribution. + +2021-01-11 Dodji Seketeli <dodji@redhat.com> + + mainpage: Update web page for 1.8 release + * doc/website/mainpage.txt: Update web page for 1.8 release + +2020-12-14 Matthias Maennich <maennich@google.com> + + Update catch2 testing framework: v1.12.2 -> v2.13.3 + * tests/lib/catch.hpp: update to v2.13.3 + * tests/test-symtab.cc (TEST_CASE("Symtab::SimpleSymtabs")): Use + the corpus variable to avoid unused variable warnings. + +2020-12-14 Matthias Maennich <maennich@google.com> + + clang-format: define C++ standard to improve formatting + * .clang-format: Set C++11 standard for formatting. + +2020-12-11 Giuliano Procida <gprocida@google.com> + + Refresh ABI cross check test files + * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi: + Refreshed ABI. + * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1-report-0.txt: + File now empty. + +2020-12-14 Matthias Maennich <maennich@google.com> + + Drop unneccessary includes of abg-cxx-compat.h + * include/abg-comparison.h: Remove include of abg-cxx-compat.h. + * include/abg-diff-utils.h: Likewise. + * include/abg-fwd.h: Likewise. + * include/abg-ini.h: Likewise. + * include/abg-interned-str.h: Likewise. + * include/abg-ir.h: Likewise. + * include/abg-libxml-utils.h: Likewise. + * include/abg-libzip-utils.h: Likewise. + * include/abg-regex.h: Likewise. + * include/abg-reporter.h: Likewise. + * include/abg-sptr-utils.h: Likewise. + * include/abg-suppression.h: Likewise. + * include/abg-tools-utils.h: Likewise. + * include/abg-workers.h: Likewise. + * src/abg-comp-filter.cc: Likewise. + * src/abg-comparison-priv.h: Likewise. + * src/abg-corpus.cc: Likewise. + * src/abg-dwarf-reader.cc: Likewise. + * src/abg-hash.cc: Likewise. + * src/abg-ir.cc: Likewise. + * src/abg-reader.cc: Likewise. + * src/abg-suppression.cc: Likewise. + * src/abg-tools-utils.cc: Likewise. + * src/abg-writer.cc: Likewise. + * tests/test-diff-suppr.cc: Likewise. + * tests/test-read-write.cc: Likewise. + * tools/abicompat.cc: Likewise. + * tools/abidw.cc: Likewise. + * tools/abilint.cc: Likewise. + * tools/abipkgdiff.cc: Likewise. + +2020-12-14 Matthias Maennich <maennich@google.com> + + Remove <unordered_set> usages from abg_compat + * include/abg-cxx-compat.h: Drop compatibility for <unordered_set>. + * include/abg-comparison.h: migrate abg_compat use to std. + * include/abg-interned-str.h: Likewise. + * include/abg-suppression.h: Likewise. + * src/abg-comparison-priv.h: Likewise. + * src/abg-dwarf-reader.cc: Likewise. + * tests/test-diff-suppr.cc: Likewise. + * tools/abipkgdiff.cc: Likewise. + +2020-12-14 Matthias Maennich <maennich@google.com> + + Remove <unordered_map> usages from abg_compat + * include/abg-cxx-compat.h: Drop compatibility layer for <unordered_map>. + * include/abg-comparison.h: migrate abg_compat use to std. + * include/abg-cxx-compat.h: Likewise. + * include/abg-fwd.h: Likewise. + * include/abg-ir.h: Likewise. + * src/abg-corpus.cc: Likewise. + * src/abg-dwarf-reader.cc: Likewise. + * src/abg-ir.cc: Likewise. + * src/abg-reader.cc: Likewise. + * src/abg-writer.cc: Likewise. + +2020-12-14 Matthias Maennich <maennich@google.com> + + Remove <memory> usages from abg_compat + * include/abg-cxx-compat.h: Drop compatibility layer for <memory>. + * include/abg-diff-utils.h: migrate abg_compat use to std. + * include/abg-fwd.h: Likewise. + * include/abg-ini.h: Likewise. + * include/abg-interned-str.h: Likewise. + * include/abg-libxml-utils.h: Likewise. + * include/abg-libzip-utils.h: Likewise. + * include/abg-regex.h: Likewise. + * include/abg-reporter.h: Likewise. + * include/abg-sptr-utils.h: Likewise. + * include/abg-tools-utils.h: Likewise. + * include/abg-workers.h: Likewise. + * src/abg-comp-filter.cc: Likewise. + * src/abg-comparison-priv.h: Likewise. + * src/abg-dwarf-reader.cc: Likewise. + * src/abg-ir.cc: Likewise. + * src/abg-reader.cc: Likewise. + * src/abg-suppression.cc: Likewise. + * src/abg-tools-utils.cc: Likewise. + * src/abg-writer.cc: Likewise. + * tests/test-diff-filter.cc: Likewise. + * tests/test-diff-pkg.cc: Likewise. + * tests/test-diff-suppr.cc: Likewise. + * tests/test-read-dwarf.cc: Likewise. + * tests/test-read-write.cc: Likewise. + * tests/test-types-stability.cc: Likewise. + * tests/test-write-read-archive.cc: Likewise. + * tools/abicompat.cc: Likewise. + * tools/abidiff.cc: Likewise. + * tools/abidw.cc: Likewise. + * tools/abilint.cc: Likewise. + * tools/abipkgdiff.cc: Likewise. + +2020-12-14 Matthias Maennich <maennich@google.com> + + Remove <functional> usages from abg_compat + * include/abg-cxx-compat.h: Drop compatibility layer for <functional>. + * include/abg-interned-str.h: migrate abg_compat use to std. + * include/abg-ir.h: Likewise. + * src/abg-hash.cc: Likewise. + * src/abg-ir.cc: Likewise. + +2020-12-14 Matthias Maennich <maennich@google.com> + + Drop C++03 compatibility layer + * include/abg-cxx-compat.h: remove compatibility with pre C++11. + * include/abg-ir.h: Remove mention of std::tr1 from comments. + * include/abg-sptr-utils.h: Likewise. + +2020-12-04 Giuliano Procida <gprocida@google.com> + + Add qualifier / typedef / array / pointer test + * tests/data/Makefile.am: Add new test files + * tests/data/test-abidiff-exit/qualifier-typedef-array-v0.c: + New test file. + * tests/data/test-abidiff-exit/qualifier-typedef-array-v0.o: + New test file. + * tests/data/test-abidiff-exit/qualifier-typedef-array-v1.c: + New test file. + * tests/data/test-abidiff-exit/qualifier-typedef-array-v1.o: + New test file. + * tests/data/test-abidiff-exit/qualifier-typedef-array-report-0.txt: + Plain diff report. + * tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt: + Harmless diff report. + * tests/data/test-abidiff-exit/qualifier-typedef-array-report-2.txt: + Leaf changes report. + * tests/data/test-abidiff-exit/qualifier-typedef-array-report-3.txt: + Harmless leaf changes report. + * tests/test-abidiff-exit.cc: Run new test. + +2020-12-03 Giuliano Procida <gprocida@google.com> + + ir: Arrays are indirect types for type structure similarity purposes + * src/abg-ir.cc (types_have_similar_structure): When examining + array types, always treat element types as being underlying types + of an indirect type. + * tests/data/Makefile.am: Add new test case files. + * tests/data/test-abidiff-exit/test-non-leaf-array-report.txt: + New test case showing correct --leaf-changes-only reporting. + * tests/data/test-abidiff-exit/test-non-leaf-array-v0.c: + Likewise. + * tests/data/test-abidiff-exit/test-non-leaf-array-v0.o: + Likewise. + * tests/data/test-abidiff-exit/test-non-leaf-array-v1.c: + Likewise. + * tests/data/test-abidiff-exit/test-non-leaf-array-v1.o: + Likewise. + * tests/test-abidiff-exit.cc: Run new test case. + +2020-12-04 Dodji Seketeli <dodji@redhat.com> + + ir: Add better comments to types_have_similar_structure + * src/abg-ir.cc (types_have_similar_structure): Arrays are also + indirect types, just like pointers and references, for the purpose + of the concept of "type similarity". Add that to the introductory + comment of the function. Add some more misc comments throughout + the code base. + +2020-12-03 Giuliano Procida <gprocida@google.com> + + abidiff: support --dump-diff-tree with --leaf-changes-only + * src/abg-leaf-reporter.cc (leaf_reporter::report): In the + corpus_diff override, conclude by calling + maybe_dump_diff_tree. + +2020-12-03 Dodji Seketeli <dodji@redhat.com> + + Use C++11 for the code base + * CONTRIBUTING: Enact use of c++11. Also, we favor those who + read/debug/maintain the code as opposed to those who write it ;-) + * configure.ac: Switch to c++11 unconditionally. + * src/Makefile.am: Adjust. + * tests/Makefile.am: Adjust. + +2020-12-03 Dodji Seketeli <dodji@redhat.com> + + CONTRIBUTING: Update instructions about regression tests + * CONTRIBUTING: Update instructions about how to launch regression + tests. + +2020-12-02 Dodji Seketeli <dodji@redhat.com> + + Teach Automake that COPYING* files are gone from sources + * Makefile.am: Teach Automake that COPYING* files are gone and + that LICENSE.txt and license-change-2020.txt were added. + +2020-06-09 Dodji Seketeli <dodji@redhat.com> + + Add a license-change-2020.txt file + * license-change-2020.txt: New file. + +2020-06-09 Dodji Seketeli <dodji@redhat.com> + + Delete COPYING* files + * COPYING: Delete. + * COPYING-GPLV3: Likewise. + * COPYING-LGPLV2: Likewise. + * COPYING-LGPLV3: Likewise. + +2020-06-09 Dodji Seketeli <dodji@redhat.com> + + Add the LICENSE.txt file + * LICENSE.txt: New file coming from + http://llvm.org/foundation/relicensing/LICENSE.txt. + +2020-05-29 Dodji Seketeli <dodji@redhat.com> + + Re-license the project to Apache v2 With LLVM Exception + * abigail.m4: Change the SPDX identifier from "GPL-3.0-or-later + WITH GCC-exception-3.1" to "Apache-2.0 WITH LLVM-exception" + * include/abg-cxx-compat.h: Change the SPDX identifier from + "LGPL-2.0-or-later" to "Apache-2.0 WITH LLVM-exception". + * .clang-format: Change the SPDX identifier from + "LGPL-3.0-or-later" to "Apache-2.0 WITH LLVM-exception". + * Makefile.am: Likewise. + * bash-completion/Makefile.am: Likewise. + * bash-completion/abicompat: Likewise. + * bash-completion/abidiff: Likewise. + * bash-completion/abidw: Likewise. + * bash-completion/abilint: Likewise. + * bash-completion/abinilint: Likewise. + * bash-completion/abipkgdiff: Likewise. + * bash-completion/abisym: Likewise. + * bash-completion/fedabipkgdiff: Likewise. + * configure.ac: Likewise. + * default.abignore: Likewise. + * doc/Makefile.am: Likewise. + * doc/api/libabigail.doxy: Likewise. + * doc/manuals/Makefile.am: Likewise. + * doc/website/libabigail-website.doxy: Likewise. + * include/Makefile.am: Likewise. + * include/abg-comp-filter.h: Likewise. + * include/abg-comparison.h: Likewise. + * include/abg-config.h: Likewise. + * include/abg-corpus.h: Likewise. + * include/abg-diff-utils.h: Likewise. + * include/abg-dwarf-reader.h: Likewise. + * include/abg-fwd.h: Likewise. + * include/abg-hash.h: Likewise. + * include/abg-ini.h: Likewise. + * include/abg-interned-str.h: Likewise. + * include/abg-ir.h: Likewise. + * include/abg-libxml-utils.h: Likewise. + * include/abg-libzip-utils.h: Likewise. + * include/abg-reader.h: Likewise. + * include/abg-regex.h: Likewise. + * include/abg-reporter.h: Likewise. + * include/abg-sptr-utils.h: Likewise. + * include/abg-suppression.h: Likewise. + * include/abg-tools-utils.h: Likewise. + * include/abg-traverse.h: Likewise. + * include/abg-version.h.in: Likewise. + * include/abg-viz-common.h: Likewise. + * include/abg-viz-dot.h: Likewise. + * include/abg-viz-svg.h: Likewise. + * include/abg-workers.h: Likewise. + * include/abg-writer.h: Likewise. + * scripts/dot_to_png.sh: Likewise. + * scripts/dot_to_svg.sh: Likewise. + * scripts/make-verbose.sh: Likewise. + * scripts/svg_to_plain_svg.sh: Likewise. + * scripts/svg_to_png_and_pdf.sh: Likewise. + * src/Makefile.am: Likewise. + * src/abg-comp-filter.cc: Likewise. + * src/abg-comparison-priv.h: Likewise. + * src/abg-comparison.cc: Likewise. + * src/abg-config.cc: Likewise. + * src/abg-corpus-priv.h: Likewise. + * src/abg-corpus.cc: Likewise. + * src/abg-default-reporter.cc: Likewise. + * src/abg-diff-utils.cc: Likewise. + * src/abg-dwarf-reader.cc: Likewise. + * src/abg-elf-helpers.cc: Likewise. + * src/abg-elf-helpers.h: Likewise. + * src/abg-hash.cc: Likewise. + * src/abg-ini.cc: Likewise. + * src/abg-internal.h: Likewise. + * src/abg-ir-priv.h: Likewise. + * src/abg-ir.cc: Likewise. + * src/abg-leaf-reporter.cc: Likewise. + * src/abg-libxml-utils.cc: Likewise. + * src/abg-libzip-utils.cc: Likewise. + * src/abg-reader.cc: Likewise. + * src/abg-regex.cc: Likewise. + * src/abg-reporter-priv.cc: Likewise. + * src/abg-reporter-priv.h: Likewise. + * src/abg-suppression-priv.h: Likewise. + * src/abg-suppression.cc: Likewise. + * src/abg-tools-utils.cc: Likewise. + * src/abg-traverse.cc: Likewise. + * src/abg-viz-common.cc: Likewise. + * src/abg-viz-dot.cc: Likewise. + * src/abg-viz-svg.cc: Likewise. + * src/abg-workers.cc: Likewise. + * src/abg-writer.cc: Likewise. + * tests/Makefile.am: Likewise. + * tests/data/Makefile.am: Likewise. + * tests/lib/catch.cc: Likewise. + * tests/mockfedabipkgdiff.in: Likewise. + * tests/print-diff-tree.cc: Likewise. + * tests/runtestcanonicalizetypes.sh.in: Likewise. + * tests/runtestdefaultsupprs.py.in: Likewise. + * tests/runtestdefaultsupprspy3.sh.in: Likewise. + * tests/runtestfedabipkgdiff.py.in: Likewise. + * tests/runtestfedabipkgdiffpy3.sh.in: Likewise. + * tests/test-abicompat.cc: Likewise. + * tests/test-abidiff-exit.cc: Likewise. + * tests/test-abidiff.cc: Likewise. + * tests/test-alt-dwarf-file.cc: Likewise. + * tests/test-annotate.cc: Likewise. + * tests/test-core-diff.cc: Likewise. + * tests/test-cxx-compat.cc: Likewise. + * tests/test-diff-dwarf-abixml.cc: Likewise. + * tests/test-diff-dwarf.cc: Likewise. + * tests/test-diff-filter.cc: Likewise. + * tests/test-diff-pkg.cc: Likewise. + * tests/test-diff-suppr.cc: Likewise. + * tests/test-diff2.cc: Likewise. + * tests/test-dot.cc: Change the SPDX identifier from + "GPL-3.0-or-later WITH GCC-exception-3.1" to "Apache-2.0 WITH + LLVM-exception" + * tests/test-elf-helpers.cc: Change the SPDX identifier from + "LGPL-3.0-or-later" to "Apache-2.0 WITH LLVM-exception" + * tests/test-ini.cc: Likewise. + * tests/test-ir-walker.cc: Likewise. + * tests/test-kmi-whitelist.cc: Likewise. + * tests/test-lookup-syms.cc: Likewise. + * tests/test-read-dwarf.cc: Likewise. + * tests/test-read-write.cc: Likewise. + * tests/test-svg.cc: Change the SPDX identifier from + "GPL-3.0-or-later WITH GCC-exception-3.1" to "Apache-2.0 WITH + LLVM-exception". + * tests/test-symtab.cc: Change the SPDX identifier from + "LGPL-3.0-or-later" to "Apache-2.0 WITH LLVM-exception" + * tests/test-tools-utils.cc: Likewise. + * tests/test-types-stability.cc: Likewise. + * tests/test-utils.cc: Likewise. + * tests/test-utils.h: Likewise. + * tests/test-write-read-archive.cc: Likewise. + * tests/update-test-output.py: Likewise. + * tools/Makefile.am: Likewise. + * tools/abiar.cc: Likewise. + * tools/abicompat.cc: Likewise. + * tools/abidiff.cc: Likewise. + * tools/abidw.cc: Likewise. + * tools/abilint.cc: Likewise. + * tools/abipkgdiff.cc: Likewise. + * tools/abisym.cc: Likewise. + * tools/binilint.cc: Likewise. + * tools/fedabipkgdiff: Likewise. + * tools/kmidiff.cc: Likewise. + * update-copyright.sh: Likewise. + +2020-05-29 Dodji Seketeli <dodji@redhat.com> + + Add helper files to perform the re-licensing + * relicensing-scripts/file-licenses.orig.txt: New file that + contains the raw set of files with SPDX identifiers denoting + LGPLv3+ files. It's the result of a simple command based on + "find" and "grep". + * relicensing-scripts/files-with-lgplv3.txt: New file + containing the same data as the file above, but massaged to be + easily useable by the script below. + * relicensing-scripts/do-relicensing.sh: This is a simple command + which performs the re-licensing on the files listed in the file + above. + +2020-05-29 Dodji Seketeli <dodji@redhat.com> + + Add replace-spdx-license.sh script + * relicensing-scripts/replace-spdx-license.sh: New script. + +2020-05-27 Dodji Seketeli <dodji@redhat.com> + + Add has-spdx-header.sh script + * relicensing-scripts/has-spdx-header.sh: New script. + +2020-05-29 Dodji Seketeli <dodji@redhat.com> + + Add missing SPDX headers to source files not specifying any license + * Makefile.am: Add a LGPL-3.0-or-later SPDX header prefixed + with '##' so that that the header doesn't get emitted in the + resulting Makefile.in file. Note that the license of Makefile.in + files is "FSF All Permissible License", which virtually compatible + with anything. + * bash-completion/Makefile.am: Likewise. + * doc/Makefile.am: Likewise + * doc/manuals/Makefile.am: Likewise + * include/Makefile.am: Likewise + * src/Makefile.am: Likewise + * tests/Makefile.am: Likewise + * tests/data/Makefile.am: Likewise + * tools/Makefile.am: Likewise + * .clang-format: Add a LGPL-3.0-or-later SPDX header. + * bash-completion/abicompat: Likewise. + * bash-completion/abidiff: Likewise. + * bash-completion/abidw: Likewise. + * bash-completion/abilint: Likewise. + * bash-completion/abinilint: Likewise. + * bash-completion/abipkgdiff: Likewise. + * bash-completion/abisym: Likewise. + * bash-completion/fedabipkgdiff: Likewise. + * configure.ac: Likewise. + * default.abignore: Likewise. + * doc/api/libabigail.doxy: Likewise. + * doc/website/libabigail-website.doxy: Likewise. + * include/abg-version.h.in: Likewise. + * scripts/dot_to_png.sh: Likewise. + * scripts/dot_to_svg.sh: Likewise. + * scripts/make-verbose.sh: Likewise. + * scripts/svg_to_plain_svg.sh: Likewise. + * scripts/svg_to_png_and_pdf.sh: Likewise. + * tests/runtestcanonicalizetypes.sh.in: Likewise. + * tests/runtestdefaultsupprs.py.in: Likewise. + * tests/runtestdefaultsupprspy3.sh.in: Likewise. + * tests/runtestfedabipkgdiffpy3.sh.in: Likewise. + * tests/update-test-output.py: Likewise. + * update-copyright.sh: Likewise. + +2020-03-07 Matthias Maennich <maennich@google.com> + + Replace individual license references with SPDX Identifiers + * abigail.m4: Replace the license header with the SPDX identifier + GPL-3.0-or-later WITH GCC-exception-3.1 + * autoconf-archive/ax_check_python_modules.m4: Correctly set the + SPDX identifier to FSFAP. + * autoconf-archive/ax_compare_version.m4: Replace the license + header with the SPDX identifier FSFAP. + * autoconf-archive/ax_prog_python_version.m4: Likewise. + header with the SPDX identifier FSFAP. + * autoconf-archive/ax_valgrind_check.m4: Likewise. + * gen-changelog.py: Replace the license header with the SPDX + identifier LGPL-2.0-or-later. + * include/abg-comp-filter.h: Replace the license header with the + SPDX identifier LGPL-3.0-or-later. + * include/abg-comparison.h: Likewise. + * include/abg-config.h: Likewise. + * include/abg-corpus.h: Likewise. + * include/abg-cxx-compat.h: Replace the license header with the + SPDX identifier LGPL-2.0-or-later. + * include/abg-diff-utils.h: Replace the license header with the + SPDX identifier LGPL-3.0-or-later + * include/abg-dwarf-reader.h: Likewise. + * include/abg-fwd.h: Likewise. + * include/abg-hash.h: Likewise. + * include/abg-ini.h: Likewise. + * include/abg-interned-str.h: Likewise. + * include/abg-ir.h: Likewise. + * include/abg-libxml-utils.h: Likewise. + * include/abg-libzip-utils.h: Likewise. + * include/abg-reader.h: Likewise. + * include/abg-regex.h: Likewise. + * include/abg-reporter.h: Likewise. + * include/abg-sptr-utils.h: Likewise. + * include/abg-suppression.h: Likewise. + * include/abg-tools-utils.h: Likewise. + * include/abg-traverse.h: Likewise. + * include/abg-viz-common.h: Likewise. + * include/abg-viz-dot.h: Likewise. + * include/abg-viz-svg.h: Likewise. + * include/abg-workers.h: Likewise. + * include/abg-writer.h: Likewise. + * install-sh: Replace the license header with the SPDX identifier MIT. + * ltmain.sh: Replace the license header with the SPDX identifier + GPL-2.0-or-later. Note that this file has the libtool special + exception which allows us to redistribute it under the general + license of the project. + * src/abg-comp-filter.cc: Replace the license header with the SPDX + * src/abg-comparison-priv.h: Likewise. + * src/abg-comparison.cc: Likewise. + * src/abg-config.cc: Likewise. + * src/abg-corpus-priv.h: Likewise. + * src/abg-corpus.cc: Likewise. + * src/abg-default-reporter.cc: Likewise. + * src/abg-diff-utils.cc: Likewise. + * src/abg-dwarf-reader.cc: Likewise. + * src/abg-elf-helpers.cc: Likewise. + * src/abg-elf-helpers.h: Likewise. + * src/abg-regex.cc: Likewise. + * src/abg-hash.cc: Likewise. + * src/abg-ini.cc: Likewise. + * src/abg-internal.h: Likewise. + * src/abg-ir-priv.h: Likewise. + * src/abg-ir.cc: Likewise. + * src/abg-leaf-reporter.cc: Likewise. + * src/abg-libxml-utils.cc: Likewise. + * src/abg-libzip-utils.cc: Likewise. + * src/abg-reader.cc: Likewise. + * src/abg-reporter-priv.cc: Likewise. + * src/abg-reporter-priv.h: Likewise. + * src/abg-sptr-utils.cc: Likewise. + * src/abg-suppression-priv.h: Likewise. + * src/abg-suppression.cc: Likewise. + * src/abg-tools-utils.cc: Likewise. + * src/abg-traverse.cc: Likewise. + * src/abg-viz-common.cc: Likewise. + * src/abg-viz-dot.cc: Likewise. + * src/abg-viz-svg.cc: Likewise. + * src/abg-workers.cc: Likewise. + * src/abg-writer.cc: Likewise. + * tests/lib/catch.cc: Likewise. + * tests/lib/catch.hpp: Add an SPDX identifier BSL-1.0. + * tests/mockfedabipkgdiff.in: Replace the license header with the + SPDX identifier GPL-3.0-or-later. + * tests/print-diff-tree.cc: Likewise. + * tests/runtestfedabipkgdiff.py.in: Replaace the license header + with the SPDW identifier GPL-3.0-or-later. + * tests/test-abicompat.cc: Replace the license header with the + SPDX identifier LGPL-3.0-or-later. + * tests/test-abidiff-exit.cc: Likewise. + * tests/test-abidiff.cc: Likewise. + * tests/test-alt-dwarf-file.cc: Likewise. + * tests/test-annotate.cc: Likewise. + * tests/test-cxx-compat.cc: Likewise. + * tests/test-core-diff.cc: Likewise. + * tests/test-diff-dwarf-abixml.cc: Likewise. + * tests/test-diff-dwarf.cc: Likewise. + * tests/test-diff-filter.cc: Likewise. + * tests/test-diff-pkg.cc: Likewise. + * tests/test-diff-suppr.cc: Likewise. + * tests/test-diff2.cc: Likewise. + * tests/test-dot.cc: Replace the license header with the + SPDX identifier GPL-3.0-with-GCC-exception. + * tests/test-elf-helpers.cc: Replace the license header with the + SPDX identifier LGPL-3.0-or-later. + * tests/test-ini.cc: Likewise. + * tests/test-ir-walker.cc: Likewise. + * tests/test-kmi-whitelist.cc: Likewise. + * tests/test-lookup-syms.cc: Likewise. + * tests/test-read-dwarf.cc: Likewise. + * tests/test-read-write.cc: Likewise. + * tests/test-svg.cc: Replace the license header with the SPDX + identifier GPL-3.0-with-GCC-exception. + * tests/test-symtab.cc: Replace the license header with the SPDX + identifier LGPL-3.0-or-later. + * tests/test-tools-utils.cc: Likewise. + * tests/test-types-stability.cc: Likewise. + * tests/test-utils.cc: Likewise. + * tests/test-utils.h: Likewise. + * tests/test-write-read-archive.cc: Likewise. + * tools/abiar.cc: Likewise. + * tools/abicompat.cc: Likewise. + * tools/abidiff.cc: Likewise. + * tools/abidw.cc: Likewise. + * tools/abilint.cc: Likewise. + * tools/abipkgdiff.cc: Likewise. + * tools/abisym.cc: Likewise. + * tools/binilint.cc: Likewise. + * tools/fedabipkgdiff: Replace the license header with the + SPDX identifier GPL-3.0-or-later. + * tools/kmidiff.cc: Likewise. + +2020-12-01 Dodji Seketeli <dodji@redhat.com> + + Bump version number to 2.0 + * configure.ac: Bump number version to 2.0 + +2020-12-01 Dodji Seketeli <dodji@redhat.com> + + Update NEWS file for 1.8 + * NEWS: Update for 1.8 + +2020-12-01 Dodji Seketeli <dodji@redhat.com> + + Update the Changelog for 1.8 + * Changelog: Update automatically with "make update-changelog' + 2020-12-01 Dodji Seketeli <dodji@redhat.com> Add check-self-compare to release regression testing
diff --git a/METADATA b/METADATA index 1c658c8..c879242 100644 --- a/METADATA +++ b/METADATA
@@ -10,7 +10,7 @@ type: GIT value: "http://sourceware.org/git/libabigail.git" } - version: "acc4bea0b8fed335657878ee849adbd7b4238597" - last_upgrade_date { year: 2021 month: 4 day: 03 } + version: "71633a7c0c7c96c03db8c18826afea26da0f7b4b" + last_upgrade_date { year: 2022 month: 1 day: 10 } license_type: NOTICE }
diff --git a/Makefile.am b/Makefile.am index af17048..65a1b12 100644 --- a/Makefile.am +++ b/Makefile.am
@@ -65,7 +65,7 @@ tag-release: tag-release-only upload-release-only: - scp $(TARBALL) sourceware.org:~ftp/pub/libabigail + scp $(TARBALL) sourceware.org:/var/ftp/pub/libabigail tarball: $(TARBALL)
diff --git a/NEWS b/NEWS index 8613dfb..1132b66 100644 --- a/NEWS +++ b/NEWS
@@ -1,3 +1,160 @@ +2.0 +=== + +Ben Woodard via Libabigail (5): + Fix declaratons of conditionally defined functions + Fix declaratons of conditionally defined functions + Bug 27512 - Remove broken zip-archive support + Fix trivial typo when printing version string + Fix trivial typo when printing version string + +Dodji Seketeli (90): + configure: add --enable-rpm415 option + Add check-self-compare to release regression testing + Bump version number to 2.0 + Add missing SPDX headers to source files not specifying any license + Add has-spdx-header.sh script + Add replace-spdx-license.sh script + Add helper files to perform the re-licensing + Re-license the project to Apache v2 With LLVM Exception + Add the LICENSE.txt file + Delete COPYING* files + Add a license-change-2020.txt file + Teach Automake that COPYING* files are gone from sources + CONTRIBUTING: Update instructions about regression tests + Use C++11 for the code base + ir: Add better comments to types_have_similar_structure + mainpage: Update web page for 1.8 release + Bug 26992 - Try harder to resolve declaration-only classes + Bug 27204 - potential loss of some aliased ELF function symbols + Ignore duplicated functions and those not associated with ELF symbols + Bug 27236 - Pointer comparison wrongly fails because of typedef change + Bug 27233 - fedabipkgdiff fails on package gnupg2 from Fedora 33 + Bug 27232 - fedabipkgdiff fails on gawk from Fedora 33 + dwarf-reader: Support fast DW_FORM_line_strp string comparison + Bug 27255 - fedabipkgdiff fails on nfs-utils on Fedora 33 + Bug 26684 - Support DW_AT_data_bit_offset attribute + Bump ABIXML format version to 2.0 + Bug 27165 - Better support multi-language binaries + Bug 27331 - Data member offset change not considered local + Bug 27267 - Better support for opaque enum types + dwarf-reader: Use DW_FORM_line_strp only if it's present + Use generic internal type name to canonicalize anonymous enums + Don't consider type name when comparing typedefs + tests: Update to catch.hpp v2.13.4 and fix #2178 + Better sorting of (anonymous) types in ABIXML files + dwarf-reader: Keep stable order when de-duplicating class definitions + tests/catch.hpp: Add SPDX header back + Revert "Fix declaratons of conditionally defined functions" + dwarf-reader: Support more DWARF-5 type DIEs + Bug 27569 - abidiff misses a function parameter addition + Bug 27598 - abidiff mishandles union member functions + dwarf-reader: Canonicalize opaque enums and classes + dwarf-reader: properly set artificial-ness in opaque types + reader: Handle 'abi-corpus' element being possibly empty + reader: Use xmlFirstElementChild and xmlNextElementSibling rather than xml::advance_to_next_sibling_element + reader: Use xmlFirstElementChild/xmlNextElementSibling to iterate over children elements + Fix thinko in configure.ac + Miscellaneous indentation and comments cleanups + Fix DWARF type DIE canonicalization + Peel array types when peeling pointers from a type + Add primitives callable from the command line of the debugger + Detect failed self comparison in type canonicalization of abixml + Detect abixml canonical type instability during abidw --debug-abidiff + Introduce artificial locations + abixml reader: Fix recursive type definition handling + xml reader: Fix recursive qualified & reference type definition + ir: Enable setting breakpoint on first type inequality + Add environment::{get_type_id_from_pointer,get_canonical_type_from_type_id} + location:expand() shouldn't crash when no location manager available + ir: make 'debug(artefact)' support showing enums + reader: Canonicalizing a type once is enough + rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10' + Fix recursive array type definition + abidw: Remove temporary .typeid files when using --debug-abidiff + abg-reader: Fix typo + doc: Fix typo + Revert "Fix trivial typo when printing version string" + Bug 27980 - Fix updating of type scope upon type canonicalization + ir: Improve the debugging facilities + ir: Tighten the test for anonymous data member + ir: Tighten type comparison optimization for Linux kernel binaries + Bug 27995 - Self comparison error from abixml file + Bug 27236 - Fix the canonical type propagation optimization + Bug 27236 - Allow updating classes from abixml + Bug 27236 - Don't forget to emit some referenced types + RHBZ 1925886 - Compare anonymous types without qualified names + Bug 27985 - abidiff: bad array types in report + RHBZ-1944096 - assertion failure during self comparison of systemd + writer: escape enum linkage name in abixml + ir: Avoid infinite loop during type canonicalization + ir: Fix canonical type propagation cancelling + xml-reader: Get back to original way of building qualified types + writer: Avoid sigsev on types with no translation unit + RHBZ1951496 - ir: Acknowledge that "void type" is not canonicalized + RHBZ1944102 - self comparing ABI of protobuf-3.14.0-2.el9 failed + abipkgdiff: Fix showing added/removed files + Bug 28316 - Failure to represent typedef named anonymous enums + abipkgdiff: Do not erase working dirs before we are done using them + Bug 27970 - Duplicated member functions cause spurious self comparison changes + dwarf-reader: Indent + Bug 27086 - Consider all C++ virtual destructors when there are many + +Giuliano Procida (17): + abidiff: support --dump-diff-tree with --leaf-changes-only + ir: Arrays are indirect types for type structure similarity purposes + Add qualifier / typedef / array / pointer test + Refresh ABI cross check test files + abidiff: do not qualify member names in diff report + abg-dwarf-reader: Fix typo in compare_dies_string_attribute_value + DWARF reader: Interpret ARM32 ELF addresses correctly + DWARF reader: Comment ARM32 ELF address interpretation + dwarf-reader: Treat union members as public by default. + abg-writer.cc: fix write_elf_symbol_reference loop + dwarf-reader: Create new corpus unconditionally + abg-reader: Ensure corpus always has a symtab reader + abg-reader: Create a fresh corpus object per corpus + ir: remove "is Linux string constant" property from elf_symbol + abg-ir.h: add declaration of operator<< for elf_symbol::visibility + PR28060 - Invalid offset for bitfields + abg-writer: faster referenced type emission tests + +Matthias Maennich (34): + Replace individual license references with SPDX Identifiers + Drop C++03 compatibility layer + Remove <functional> usages from abg_compat + Remove <memory> usages from abg_compat + Remove <unordered_map> usages from abg_compat + Remove <unordered_set> usages from abg_compat + Drop unneccessary includes of abg-cxx-compat.h + clang-format: define C++ standard to improve formatting + Update catch2 testing framework: v1.12.2 -> v2.13.3 + abg-ir: Optimize calls to std::string::find() for a single char. + abipkgdiff: Address operator precedence warning + abg-cxx-compat: add simplified version of std::optional + abg-ir: elf_symbol: add is_in_ksymtab field + abg-ir: elf_symbol: add is_suppressed field + dwarf-reader split: create abg-symtab-reader.{h,cc} and test case + clang-format: Minor correction to not break parameters on the first line + Refactor ELF symbol table reading by adding a new symtab reader + Integrate new symtab reader into corpus and read_context + corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab + corpus: make get_unreferenced_(function|variable)_symbols use the new symtab + abg-reader: avoid using the (var|function)_symbol_map + dwarf-reader: read_context: use new symtab in *_symbols_is_exported + Switch kernel stuff over to new symtab and drop unused code + abg-elf-helpers: migrate ppc64 specific helpers + symtab_reader: add support for ppc64 ELFv1 binaries + abg-corpus: remove symbol maps and their setters + dwarf reader: drop (now) unused code related to symbol table reading + test-symtab: add tests for whitelisted functions + symtab/dwarf-reader: allow hinting of main symbols for aliases + dwarf-reader/writer: consider aliases when dealing with suppressions + symtab: Add support for MODVERSIONS (CRC checksums) + elf-helpers: refactor find_symbol_table_section + symtab-reader: add support for binaries compiled with CFI + Consistently use std::unique_ptr for private implementations (pimpl) + 1.8 === Dodji Seketeli (62):
diff --git a/android_build_version.sh b/android_build_version.sh deleted file mode 100755 index c477ffd..0000000 --- a/android_build_version.sh +++ /dev/null
@@ -1,11 +0,0 @@ -#!/bin/sh - -set -x -set -e - -dir="$1" -out="$2" - -version=$(git -C "$dir" rev-parse --short=8 HEAD)-soong - -echo "#define ANDROID_BUILD_VERSION \"${version}\"" > "$out"
diff --git a/config.h b/config.h index df0e5dc..e5475e6 100644 --- a/config.h +++ b/config.h
@@ -68,8 +68,8 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #define HAVE_INTTYPES_H 1 -/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 +/* Define to 1 if you have the <minix/config.h> header file. */ +/* #undef HAVE_MINIX_CONFIG_H */ /* Defined to 1 if elf.h has R_AARCH64_ABS64 macro defined */ #define HAVE_R_AARCH64_ABS64_MACRO 1 @@ -80,6 +80,9 @@ /* Define to 1 if you have the <stdint.h> header file. */ #define HAVE_STDINT_H 1 +/* Define to 1 if you have the <stdio.h> header file. */ +#define HAVE_STDIO_H 1 + /* Define to 1 if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 @@ -98,6 +101,9 @@ /* Define to 1 if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 +/* Define to 1 if you have the <wchar.h> header file. */ +#define HAVE_WCHAR_H 1 + /* Defined if libdw has the function dwarf_getalt */ #define LIBDW_HAS_DWARF_GETALT 1 @@ -117,7 +123,7 @@ #define PACKAGE_NAME "libabigail" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libabigail 2.0" +#define PACKAGE_STRING "libabigail 2.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libabigail" @@ -126,65 +132,128 @@ #define PACKAGE_URL "http://sourceware.org/libabigail" /* Define to the version of this package. */ -#define PACKAGE_VERSION "2.0" +#define PACKAGE_VERSION "2.1" -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #define STDC_HEADERS 1 /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 +/* Enable general extensions on macOS. */ +#ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# define _HPUX_ALT_XOPEN_SOCKET_API 1 +#endif +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +/* # undef _MINIX */ +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ +#ifndef _NETBSD_SOURCE +# define _NETBSD_SOURCE 1 +#endif +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ +#ifndef _OPENBSD_SOURCE +# define _OPENBSD_SOURCE 1 +#endif +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +/* # undef _POSIX_SOURCE */ +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +/* # undef _POSIX_1_SOURCE */ +#endif +/* Enable POSIX-compatible threading on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ +#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ +# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ +#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ +# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ +#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ +# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ +#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ +# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ +#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ +# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ +#ifndef __STDC_WANT_LIB_EXT2__ +# define __STDC_WANT_LIB_EXT2__ 1 +#endif +/* Enable extensions specified by ISO/IEC 24747:2009. */ +#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ +# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ +#ifndef _XOPEN_SOURCE +/* # undef _XOPEN_SOURCE */ +#endif /* Version number of package */ -#define VERSION "2.0" +#define VERSION "2.1" + +/* Defined if user enables and system has the libctf library */ +/* #undef WITH_CTF */ /* compile the deb package support in abipkgdiff */ #define WITH_DEB 1 +/* compile support of debugging abidw --abidiff */ +/* #undef WITH_DEBUG_SELF_COMPARISON */ + +/* compile support of debugging type canonicalization while using abidw + --debug-tc */ +/* #undef WITH_DEBUG_TYPE_CANONICALIZATION */ + /* compile the rpm package support in abipkgdiff */ #define WITH_RPM 1 -/* has RPM 4.15 at least */ -#define WITH_RPM_4_15 1 +/* has rpm/zstd support */ +#define WITH_RPM_ZSTD 1 /* compile the GNU tar archive support in abipkgdiff */ #define WITH_TAR 1 -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ - -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef _POSIX_SOURCE */
diff --git a/configure.ac b/configure.ac index 495460b..056a851 100644 --- a/configure.ac +++ b/configure.ac
@@ -1,6 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception m4_define([version_major], [2]) -m4_define([version_minor], [0]) +m4_define([version_minor], [1]) AC_INIT([libabigail], [version_major.version_minor], @@ -38,10 +38,14 @@ VERSION_MAJOR=version_major VERSION_MINOR=version_minor VERSION_REVISION=0 +ABIXML_VERSION_MAJOR=2 +ABIXML_VERSION_MINOR=1 AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_REVISION) +AC_SUBST(ABIXML_VERSION_MAJOR) +AC_SUBST(ABIXML_VERSION_MINOR) dnl This VERSION_SUFFIX environment variable is to allow appending dnl arbitrary text to the libabigail version string representation. @@ -60,11 +64,24 @@ ENABLE_RPM=$enableval, ENABLE_RPM=auto) +# '--enable-rpm415' option name preserved for backwards compatibility. AC_ARG_ENABLE(rpm415, AS_HELP_STRING([--enable-rpm415=yes|no|auto], - [enable the support of rpm 4.15 or higher in abipkgdiff (default is auto)]), - ENABLE_RPM415=$enableval, - ENABLE_RPM415=auto) + [enable rpm/zstd in abipkgdiff testing (default is auto)]), + ENABLE_RPM_ZSTD=$enableval, + ENABLE_RPM_ZSTD=auto) + +AC_ARG_ENABLE(debug-self-comparison, + AS_HELP_STRING([--enable-debug-self-comparison=yes|no], + [enable debugging of self comparison with 'abidw --debug-abidiff'(default is no)]), + ENABLE_DEBUG_SELF_COMPARISON=$enableval, + ENABLE_DEBUG_SELF_COMPARISON=no) + +AC_ARG_ENABLE(debug-type-canonicalization, + AS_HELP_STRING([--enable-debug-type-canonicalization=yes|no], + [enable debugging of type canonicalization 'abidw --debug-tc'(default is no)]), + ENABLE_DEBUG_TYPE_CANONICALIZATION=$enableval, + ENABLE_DEBUG_TYPE_CANONICALIZATION=no) AC_ARG_ENABLE(deb, AS_HELP_STRING([--enable-deb=yes|no|auto], @@ -132,6 +149,19 @@ ENABLE_UBSAN=$enableval, ENABLE_UBSAN=no) +dnl check if user has enabled CTF code +AC_ARG_ENABLE(ctf, + AS_HELP_STRING([--enable-ctf=yes|no], + [disable support of ctf files)]), + ENABLE_CTF=$enableval, + ENABLE_CTF=no) + +AC_ARG_ENABLE(cxx17, + AS_HELP_STRING([--enable-cxx17=yes|no], + [enable features that use the C++17 compiler]), + ENABLE_CXX17=$enableval, + ENABLE_CXX17=no) + dnl ************************************************* dnl check for dependencies dnl ************************************************* @@ -147,7 +177,7 @@ AC_LANG_COMPILER_REQUIRE dnl -dnl We use C++11 +dnl We use C++11 or C++17 if enabled dnl CXX_STANDARD=c++11 @@ -238,6 +268,24 @@ AC_SUBST(DW_LIBS) AC_SUBST([ELF_LIBS]) +dnl check for libctf presence if CTF code has been enabled by command line +dnl argument, and then define CTF flag (to build CTF file code) if libctf is +dnl found on the system +CTF_LIBS= +if test x$ENABLE_CTF = xyes; then + LIBCTF= + AC_CHECK_LIB(ctf, ctf_open, [LIBCTF=yes], [LIBCTF=no]) + if test x$LIBCTF = xyes; then + AC_MSG_NOTICE([activating CTF code]) + AC_DEFINE([WITH_CTF], 1, + [Defined if user enables and system has the libctf library]) + CTF_LIBS=-lctf + else + AC_MSG_NOTICE([CTF enabled but no libctf found]) + ENABLE_CTF=no + fi +fi + dnl Check for dependency: libxml LIBXML2_VERSION=2.6.22 PKG_CHECK_MODULES(XML, libxml-2.0 >= $LIBXML2_VERSION) @@ -273,23 +321,40 @@ fi fi -if test x$ENABLE_RPM = xyes -a x$ENABLE_RPM415 = xauto; then - rpmversion=$(rpm --version | sed "s/RPM version //") - AC_MSG_NOTICE([detected rpm version: $rpmversion]) - if [[[ "$rpmversion" > "4.14.0" ]]]; then - ENABLE_RPM415=yes - else - ENABLE_RPM415=no - fi +dnl Point to a rpm/zstd file, that is: +dnl $ rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' [rpm_zstd_file] +dnl zstd +m4_define([rpm_zstd_file], [tests/data/test-diff-pkg/mesa-libGLU-9.0.1-3.fc33.x86_64.rpm]) +AC_CONFIG_SRCDIR([rpm_zstd_file]) +if test x$ENABLE_RPM_ZSTD = xyes -o x$ENABLE_RPM_ZSTD = xauto; then + if test x$ENABLE_RPM = xno; then + if test x$ENABLE_RPM_ZSTD = xyes; then + AC_MSG_ERROR([rpm/zstd support needs rpm support]) + fi + ENABLE_RPM_ZSTD=n/a + else + AC_MSG_CHECKING([for rpm/zstd support]) + rpm2cpio > /dev/null 2>&AS_MESSAGE_LOG_FD "$srcdir"/rpm_zstd_file + if test $? -eq 0; then + enable_rpm_zstd=yes + else + enable_rpm_zstd=no + fi + AC_MSG_RESULT([$enable_rpm_zstd]) + if test x$ENABLE_RPM_ZSTD:$enable_rpm_zstd = xyes:no; then + AC_MSG_ERROR([rpm/zstd support not available]) + fi + ENABLE_RPM_ZSTD=$enable_rpm_zstd + fi fi if test x$ENABLE_RPM = xyes; then AC_DEFINE([WITH_RPM], 1, [compile the rpm package support in abipkgdiff]) AC_MSG_NOTICE([rpm support in abipkgdiff is enabled]); - if test x$ENABLE_RPM415 = xyes; then - AC_DEFINE([WITH_RPM_4_15], 1, [has RPM 4.15 at least]) - AC_MSG_NOTICE([rpm 4.15 support in abipkgdiff tests is enabled]) + if test x$ENABLE_RPM_ZSTD = xyes; then + AC_DEFINE([WITH_RPM_ZSTD], 1, [has rpm/zstd support]) + AC_MSG_NOTICE([rpm/zstd in abipkgdiff testing is enabled]) fi else AC_MSG_NOTICE([rpm support in abipkgdiff is disabled]); @@ -297,6 +362,28 @@ AM_CONDITIONAL(ENABLE_RPM, test x$ENABLE_RPM = xyes) +dnl enable the debugging of self comparison when doing abidw --debug-abidiff <binary> +if test x$ENABLE_DEBUG_SELF_COMPARISON = xyes; then + AC_DEFINE([WITH_DEBUG_SELF_COMPARISON], 1, [compile support of debugging abidw --abidiff]) + AC_MSG_NOTICE([support of debugging self comparison is enabled]) +else + AC_MSG_NOTICE([support of debugging self comparison is disabled]) +fi + +AM_CONDITIONAL(ENABLE_DEBUG_SELF_COMPARISON, test x$ENABLE_DEBUG_SELF_COMPARISON = xyes) + +dnl enable the debugging of type canonicalization when doing abidw --debug-tc <binary> +if test x$ENABLE_DEBUG_TYPE_CANONICALIZATION = xyes; then + AC_DEFINE([WITH_DEBUG_TYPE_CANONICALIZATION], + 1, + [compile support of debugging type canonicalization while using abidw --debug-tc]) + AC_MSG_NOTICE([support of debugging type canonicalization is enabled]) +else + AC_MSG_NOTICE([support of debugging type canonicalization is disabled]) +fi + +AM_CONDITIONAL(ENABLE_DEBUG_TYPE_CANONICALIZATION, test x$ENABLE_DEBUG_TYPE_CANONICALIZATION = xyes) + dnl Check for the dpkg program if test x$ENABLE_DEB = xauto -o x$ENABLE_DEB = xyes; then AC_CHECK_PROG(HAS_DPKG, dpkg, yes, no) @@ -452,11 +539,10 @@ AC_PATH_PROG(WGET, wget, no) if test x$WGET = xno; then - ENABLE_FEDABIPKGDIFF=no + MISSING_FEDABIPKGDIFF_DEP=yes if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then AC_MSG_ERROR(could not find the wget program) else - MISSING_FEDABIPKGDIFF_DEP=yes AC_MSG_NOTICE([could not find the wget program]) AC_MSG_NOTICE([disabling fedabipkgdiff as a result]) fi @@ -486,47 +572,53 @@ argparse logging os re subprocess sys $URLPARSE_MODULE \ xdg koji mock rpm imp tempfile mimetypes shutil six" - if test x$ENABLE_FEDABIPKGDIFF != xno; then - AX_CHECK_PYTHON_MODULES([$REQUIRED_PYTHON_MODULES_FOR_FEDABIPKGDIFF], - [$PYTHON], - [FOUND_ALL_PYTHON_MODULES=yes], - [FOUND_ALL_PYTHON_MODULES=no]) + AX_CHECK_PYTHON_MODULES([$REQUIRED_PYTHON_MODULES_FOR_FEDABIPKGDIFF], + [$PYTHON], + [FOUND_ALL_PYTHON_MODULES=yes], + [FOUND_ALL_PYTHON_MODULES=no]) - if test x$FOUND_ALL_PYTHON_MODULES = xno; then - MISSING_FEDABIPKGDIFF_DEP=yes - if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then - AC_MSG_ERROR([missing python modules: $MISSING_PYTHON_MODULES]); - else - AC_MSG_NOTICE([missing python modules: $MISSING_PYTHON_MODULES]) - AC_MSG_NOTICE([disabling fedabipkgdiff as a result]) - fi - ENABLE_FEDABIPKGDIFF=no + if test x$FOUND_ALL_PYTHON_MODULES = xno; then + MISSING_FEDABIPKGDIFF_DEP=yes + if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then + AC_MSG_ERROR([missing python modules: $MISSING_PYTHON_MODULES]); else - # On some old platforms, the koji client object doesn't have - # the required .read_config method. Alas, that module doesn't - # have any __version__ string either. So we do as well as we - # can to try and detect that case and disable fedabipkgdiff if - # necessary. - AC_MSG_CHECKING([checking if koji client is recent enough ...]) - $PYTHON -c " -import koji -koji.read_config('koji')" - if test $? -eq 0; then - koji_version_check_ok=yes - else - koji_version_check_ok=no - fi - - if test x$koji_version_check_ok = xno; then - AC_MSG_RESULT([no, disabling fedpkgdiff]) - MISSING_FEDABIPKGDIFF_DEP=yes - else - AC_MSG_RESULT(yes) - fi - if test x$MISSING_FEDABIPKGDIFF_DEP = xno; then - ENABLE_FEDABIPKGDIFF=yes - fi + AC_MSG_NOTICE([missing python modules: $MISSING_PYTHON_MODULES]) + AC_MSG_NOTICE([disabling fedabipkgdiff as a result]) fi + else + # On some old platforms, the koji client object doesn't have + # the required .read_config method. Alas, that module doesn't + # have any __version__ string either. So we do as well as we + # can to try and detect that case and disable fedabipkgdiff if + # necessary. + AC_MSG_CHECKING([if koji client is recent enough]) + $PYTHON 2>&AS_MESSAGE_LOG_FD -c " +import koji +try: + koji.read_config('koji') +except koji.ConfigurationError: + # See 'tools/fedabipkgdiff'. + pass" + if test $? -eq 0; then + koji_version_check_ok=yes + else + koji_version_check_ok=no + fi + AC_MSG_RESULT([$koji_version_check_ok]) + if test x$koji_version_check_ok = xno; then + MISSING_FEDABIPKGDIFF_DEP=yes + if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then + AC_MSG_ERROR([unsuitable koji client]) + else + AC_MSG_WARN([disabling fedabipkgdiff]) + fi + fi + fi + + if test x$MISSING_FEDABIPKGDIFF_DEP = xno; then + ENABLE_FEDABIPKGDIFF=yes + else + ENABLE_FEDABIPKGDIFF=no fi fi @@ -575,9 +667,15 @@ AX_VALGRIND_CHECK +dnl Handle conditional use of a C++17 compiler +if test x$ENABLE_CXX17 = xyes; then + CXX_STANDARD=c++17 +fi +AM_CONDITIONAL(ENABLE_CXX17, test x$ENABLE_CXX17 = xyes) + dnl Set the list of libraries libabigail depends on -DEPS_LIBS="$XML_LIBS $ELF_LIBS $DW_LIBS" +DEPS_LIBS="$XML_LIBS $ELF_LIBS $DW_LIBS $CTF_LIBS" AC_SUBST(DEPS_LIBS) if test x$ABIGAIL_DEVEL != x; then @@ -615,6 +713,10 @@ CXXFLAGS="$CXXFLAGS -fsanitize=undefined" fi +dnl Set a few Automake conditionals + +AM_CONDITIONAL([CTF_READER],[test "x$ENABLE_CTF" = "xyes"]) + dnl Set the level of C++ standard we use. CXXFLAGS="$CXXFLAGS -std=$CXX_STANDARD" @@ -913,12 +1015,15 @@ C++ standard level : ${CXX_STANDARD} libdw has the dwarf_getalt function : ${FOUND_DWARF_GETALT_IN_LIBDW} Enable rpm support in abipkgdiff : ${ENABLE_RPM} - Enable rpm 4.15 support in abipkgdiff tests : ${ENABLE_RPM415} + Enable rpm/zstd in abipkgdiff testing : ${ENABLE_RPM_ZSTD} + Enable self comparison debugging : ${ENABLE_DEBUG_SELF_COMPARISON} + Enable type canonicalization debugging : ${ENABLE_DEBUG_TYPE_CANONICALIZATION} Enable deb support in abipkgdiff : ${ENABLE_DEB} Enable GNU tar archive support in abipkgdiff : ${ENABLE_TAR} Enable bash completion : ${ENABLE_BASH_COMPLETION} Enable fedabipkgdiff : ${ENABLE_FEDABIPKGDIFF} Enable python 3 : ${ENABLE_PYTHON3} + Enable CTF front-end : ${ENABLE_CTF} Enable running tests under Valgrind : ${enable_valgrind} Enable build with -fsanitize=address : ${ENABLE_ASAN} Enable build with -fsanitize=memory : ${ENABLE_MSAN}
diff --git a/doc/api/libabigail.doxy b/doc/api/libabigail.doxy index e3136dd..33f0eb4 100644 --- a/doc/api/libabigail.doxy +++ b/doc/api/libabigail.doxy
@@ -683,7 +683,11 @@ # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = LIBABIGAIL_INPUT/src LIBABIGAIL_INPUT/include/ +INPUT = LIBABIGAIL_INPUT/src \ + LIBABIGAIL_INPUT/include \ + LIBABIGAIL_INPUT/tests/test-read-common.cc \ + LIBABIGAIL_INPUT/tests/test-read-common.h + # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
diff --git a/doc/manuals/abidiff.rst b/doc/manuals/abidiff.rst index 74c3ebf..b37ed17 100644 --- a/doc/manuals/abidiff.rst +++ b/doc/manuals/abidiff.rst
@@ -63,6 +63,15 @@ Display a short help about the command and exit. + * ``--debug`` + + In this mode, error messages are emitted for types which fail type canonicalization. + + This is an optional ebugging and sanity check option. To enable + it the libabigail package needs to be configured with + the --enable-debug-self-comparison option. + + * ``--version | -v`` Display the version of the program and exit. @@ -491,6 +500,11 @@ changes. Added or removed functions and variables do not have any diff nodes tree associated to them. + * ``--ctf`` + + When comparing binaries, extract ABI information from CTF debug + information, if present. + * ``--stats`` Emit statistics about various internal things.
diff --git a/doc/manuals/abidw.rst b/doc/manuals/abidw.rst index 4af497b..bdd6204 100644 --- a/doc/manuals/abidw.rst +++ b/doc/manuals/abidw.rst
@@ -5,11 +5,11 @@ abidw reads a shared library in `ELF`_ format and emits an XML representation of its ABI to standard output. The emitted -representation includes all the globally defined functions and -variables, along with a complete representation of their types. It -also includes a representation of the globally defined ELF symbols of -the file. The input shared library must contain associated debug -information in `DWARF`_ format. +representation format, named ``ABIXML``, includes all the globally +defined functions and variables, along with a complete representation +of their types. It also includes a representation of the globally +defined ELF symbols of the file. The input shared library must +contain associated debug information in `DWARF`_ format. When given the ``--linux-tree`` option, this program can also handle a Linux kernel tree. That is, a directory tree that contains both the @@ -39,6 +39,10 @@ Display the version of the program and exit. + * `--abixml-version` + + Display the version of the ABIXML format emitted by this program and exit. + * ``--debug-info-dir | -d`` <*dir-path*> In cases where the debug info for *path-to-elf-file* is in a @@ -167,13 +171,6 @@ representation build by Libabigail to represent the ABI and will not end up in the abi XML file. - * ``--merge-translation-units`` - - With this option translation units for the same language (and - address size) will be merged together as if the functions, - variables and types were all defined together. Note that this - also drops the compilation paths used. - * ``--no-linux-kernel-mode`` Without this option, if abipkgiff detects that the binaries it is @@ -248,6 +245,34 @@ This is a debugging and sanity check option. + * ``--debug-abidiff`` + + Same as ``--abidiff`` but in debug mode. In this mode, error + messages are emitted for types which fail type canonicalization. + + This is an optional debugging and sanity check option. To enable + it the libabigail package needs to be configured with + the --enable-debug-self-comparison option. + + * ``--debug-type-canonicalization | --debug-tc`` + + Debug the type canonicalization process. This is done by using + structural and canonical equality when canonicalizing every single + type. Structural and canonical equality should yield the same + result. If they don't yield the same result for a given type, + then it means that the canonicalization of that type went wrong. + In that case, an error message is emitted and the execution of the + program is aborted. + + This option is available only if the package was configured with + the --enable-debug-type-canonicalization option. + + + * ``--ctf`` + + Extract ABI information from CTF debug information, if present in + the given object. + * ``--annotate`` Annotate the ABIXML output with comments above most elements. The
diff --git a/doc/manuals/abilint.rst b/doc/manuals/abilint.rst index 4cc0b42..4213a22 100644 --- a/doc/manuals/abilint.rst +++ b/doc/manuals/abilint.rst
@@ -90,5 +90,10 @@ Expect the input XML to represent a single translation unit. + * ``--ctf`` + + Extract ABI information from CTF debug information, if present in + the given object. + .. _ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format .. _DWARF: http://www.dwarfstd.org
diff --git a/doc/manuals/libabigail-concepts.rst b/doc/manuals/libabigail-concepts.rst index 2ad3634..c30e87e 100644 --- a/doc/manuals/libabigail-concepts.rst +++ b/doc/manuals/libabigail-concepts.rst
@@ -433,7 +433,11 @@ Suppresses change reports involving a type which has at least one data member inserted at an offset specified by the property value - ``offset-in-bit``. The value ``offset-in-bit`` is either: + ``offset-in-bit``. Please note that if a type has a change in which + at least one of its data members is removed or its size is reduced, + the type will *NOT* be suppressed by the evaluation of this property. + + The value ``offset-in-bit`` is either: - an integer value, expressed in bits, which denotes the offset of the insertion point of the data member, starting @@ -468,11 +472,14 @@ ``has_data_member_inserted_between`` ``=`` {<``range-begin``>, <``range-end``>} Suppresses change reports involving a type which has at least one - data mber inserted at an offset that is comprised in the range - between range-begin`` and ``range-end``. Please note that each of - the lues ``range-begin`` and ``range-end`` can be of the same form as - the :ref:`has_data_member_inserted_at - <suppr_has_data_member_inserted_at_label>` property above. + data member inserted at an offset that is comprised in the range + between ``range-begin`` and ``range-end``. Please note that each of + the values ``range-begin`` and ``range-end`` can be of the same form + as the :ref:`has_data_member_inserted_at + <suppr_has_data_member_inserted_at_label>` property above. Please + also note that if a type has a change in which at least one of its + data members is removed or its size is reduced, the type will *NOT* be + suppressed by the evaluation of this property. Usage examples of this properties are: :: @@ -508,7 +515,10 @@ long as the system can cope with. The values of the boundaries of the ranges are of the same kind as for the :ref:`has_data_member_inserted_at - <suppr_has_data_member_inserted_at_label>` property above. + <suppr_has_data_member_inserted_at_label>` property above. Please + note that if a type has a change in which at least one of its data + members is removed or its size is reduced, the type will *NOT* be + suppressed by the evaluation of this property. Another usage example of this property is thus: ::
diff --git a/doc/website/mainpage.txt b/doc/website/mainpage.txt index ee9a15a..8478664 100644 --- a/doc/website/mainpage.txt +++ b/doc/website/mainpage.txt
@@ -48,14 +48,14 @@ \section license License -The source code of the library is under <a href="http://www.gnu.org/licenses/lgpl.html"> LGPL version 3</a> or later. +The source code of the library is under the <a href="https://spdx.org/licenses/Apache-2.0.html">Apache version 2 license</a> with the <a href="https://spdx.org/licenses/LLVM-exception.html">LLVM exception</a>. \section source Getting the source code You can download compressed tarballs containing the source code of Libabigail at http://mirrors.kernel.org/sourceware/libabigail. The latest released version of is source code is -http://mirrors.kernel.org/sourceware/libabigail/libabigail-1.8.tar.gz. +http://mirrors.kernel.org/sourceware/libabigail/libabigail-2.0.tar.gz. You can also get the source code in a read-only manner from our <a href="http://sourceware.org/git/gitweb.cgi?p=libabigail.git">Git
diff --git a/include/Makefile.am b/include/Makefile.am index 0f3b093..b3b9148 100644 --- a/include/Makefile.am +++ b/include/Makefile.am
@@ -5,6 +5,7 @@ abg-ir.h \ abg-corpus.h \ abg-reader.h \ +abg-elf-reader-common.h \ abg-dwarf-reader.h \ abg-writer.h \ abg-comparison.h \ @@ -27,4 +28,8 @@ abg-viz-svg.h \ abg-regex.h +if CTF_READER +pkginclude_HEADERS += abg-ctf-reader.h +endif + EXTRA_DIST = abg-version.h.in
diff --git a/include/abg-comparison.h b/include/abg-comparison.h index 2bc2979..0ded53b 100644 --- a/include/abg-comparison.h +++ b/include/abg-comparison.h
@@ -10,6 +10,7 @@ /// @file +#include <memory> #include <ostream> #include <unordered_map> #include <unordered_set> @@ -502,13 +503,14 @@ class diff_maps { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: diff_maps(); + ~diff_maps(); + const string_diff_ptr_map& get_type_decl_diff_map() const; @@ -598,7 +600,7 @@ class diff_context { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; diff_sptr has_diff_for(const type_or_decl_base_sptr first, @@ -638,6 +640,8 @@ public: diff_context(); + ~diff_context(); + void set_corpus_diff(const corpus_diff_sptr&); @@ -901,14 +905,12 @@ { friend class diff_context; - struct priv; - typedef shared_ptr<priv> priv_sptr; - // Forbidden diff(); protected: - priv_sptr priv_; + struct priv; + std::unique_ptr<priv> priv_; diff(type_or_decl_base_sptr first_subject, type_or_decl_base_sptr second_subject); @@ -1069,9 +1071,7 @@ class type_diff_base : public diff { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; type_diff_base(); @@ -1092,9 +1092,7 @@ class decl_diff_base : public diff { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; protected: decl_diff_base(decl_base_sptr first_subject, @@ -1122,8 +1120,7 @@ class distinct_diff : public diff { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; protected: distinct_diff(type_or_decl_base_sptr first, @@ -1178,8 +1175,7 @@ class var_diff : public decl_diff_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; protected: var_diff(var_decl_sptr first, @@ -1233,7 +1229,7 @@ class pointer_diff : public type_diff_base { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; protected: pointer_diff(pointer_type_def_sptr first, @@ -1293,7 +1289,7 @@ class reference_diff : public type_diff_base { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; protected: reference_diff(const reference_type_def_sptr first, @@ -1353,7 +1349,7 @@ class array_diff : public type_diff_base { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; protected: array_diff(const array_type_def_sptr first, @@ -1410,8 +1406,7 @@ class qualified_type_diff : public type_diff_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; protected: qualified_type_diff(qualified_type_def_sptr first, @@ -1471,8 +1466,7 @@ class enum_diff : public type_diff_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; void clear_lookup_tables(); @@ -1542,8 +1536,8 @@ { protected: struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + typedef std::unique_ptr<priv> priv_ptr; + priv_ptr priv_; void clear_lookup_tables(void); @@ -1567,7 +1561,7 @@ public: - const class_or_union_diff::priv_sptr& + const class_or_union_diff::priv_ptr& get_priv() const; //TODO: add change of the name of the type. @@ -1662,10 +1656,10 @@ class class_diff : public class_or_union_diff { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + typedef std::unique_ptr<priv> priv_ptr; + priv_ptr priv_; - const priv_sptr& get_priv()const; + const priv_ptr& get_priv()const; void clear_lookup_tables(void); @@ -1797,7 +1791,7 @@ class base_diff : public diff { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; protected: base_diff(class_decl::base_spec_sptr first, @@ -1856,7 +1850,7 @@ class scope_diff : public diff { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; bool lookup_tables_empty() const; @@ -1964,9 +1958,7 @@ class fn_parm_diff : public decl_diff_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; virtual void finish_diff_type(); @@ -2021,8 +2013,7 @@ class function_type_diff: public type_diff_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; void ensure_lookup_tables_populated(); @@ -2099,7 +2090,7 @@ class function_decl_diff : public decl_diff_base { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; void ensure_lookup_tables_populated(); @@ -2207,7 +2198,7 @@ class typedef_diff : public type_diff_base { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; typedef_diff(); @@ -2272,8 +2263,7 @@ class translation_unit_diff : public scope_diff { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; protected: translation_unit_diff(translation_unit_sptr first, @@ -2312,8 +2302,7 @@ class corpus_diff { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; protected: corpus_diff(corpus_sptr first, @@ -2327,7 +2316,7 @@ class diff_stats; - virtual ~corpus_diff() {} + virtual ~corpus_diff(); /// A convenience typedef for a shared pointer to @ref diff_stats typedef shared_ptr<diff_stats> diff_stats_sptr; @@ -2485,9 +2474,7 @@ class corpus_diff::diff_stats { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; diff_stats(); @@ -2634,14 +2621,13 @@ { protected: struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: diff_node_visitor(); - virtual ~diff_node_visitor() {} + virtual ~diff_node_visitor(); diff_node_visitor(visiting_kind k);
diff --git a/include/abg-config.h b/include/abg-config.h index f16f05b..9f86d48 100644 --- a/include/abg-config.h +++ b/include/abg-config.h
@@ -58,20 +58,14 @@ extern "C" { - /// Return the relevant version numbers of the library. - /// - /// \param maj the major version number of the library. - /// - /// \param min the minor version number of the library. - /// - /// \param rev the revision version number of the library. - /// - /// \param suf the version suffix of the library. void abigail_get_library_version(std::string& maj, std::string& min, std::string& rev, std::string& suf); + + void + abigail_get_abixml_version(std::string& maj, std::string& min); } }//end namespace abigail
diff --git a/include/abg-corpus.h b/include/abg-corpus.h index 287f770..652a829 100644 --- a/include/abg-corpus.h +++ b/include/abg-corpus.h
@@ -24,10 +24,6 @@ class corpus { public: - struct priv; - /// Convenience typedef for shared_ptr of corpus::priv - typedef shared_ptr<priv> priv_sptr; - /// A convenience typedef for std::vector<string>. typedef vector<string> strings_type; @@ -50,6 +46,7 @@ ARTIFICIAL_ORIGIN = 0, NATIVE_XML_ORIGIN, DWARF_ORIGIN, + CTF_ORIGIN, LINUX_KERNEL_BINARY_ORIGIN }; @@ -60,11 +57,12 @@ void init_format_version(); public: - shared_ptr<priv> priv_; + struct priv; + std::unique_ptr<priv> priv_; corpus(ir::environment*, const string& path= ""); - virtual ~corpus() {} + virtual ~corpus(); const environment* get_environment() const; @@ -290,21 +288,14 @@ /// parameters needed. class corpus::exported_decls_builder { -public: class priv; - - /// Convenience typedef for shared_ptr<priv> - typedef shared_ptr<priv> priv_sptr; - - friend class corpus; - -private: - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbid default construction. exported_decls_builder(); public: + friend class corpus; exported_decls_builder(functions& fns, variables& vars, @@ -344,9 +335,7 @@ class corpus_group : public corpus { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbid copy corpus_group(const corpus_group&);
diff --git a/include/abg-ctf-reader.h b/include/abg-ctf-reader.h new file mode 100644 index 0000000..3343f0d --- /dev/null +++ b/include/abg-ctf-reader.h
@@ -0,0 +1,40 @@ +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// -*- Mode: C++ -*- +// +// Copyright (C) 2021 Oracle, Inc. +// +// Author: Jose E. Marchesi + +/// @file +/// +/// This file contains the declarations of the entry points to +/// de-serialize an instance of @ref abigail::corpus from a file in +/// elf format, containing CTF information. + +#ifndef __ABG_CTF_READER_H__ +#define __ABG_CTF_READER_H__ + +#include <ostream> +#include "abg-corpus.h" +#include "abg-suppression.h" +#include "abg-elf-reader-common.h" + +namespace abigail +{ +namespace ctf_reader +{ + +class read_context; +typedef shared_ptr<read_context> read_context_sptr; + +read_context_sptr +create_read_context(const std::string& elf_path, + ir::environment *env); +corpus_sptr +read_corpus(read_context *ctxt, elf_reader::status& status); +corpus_sptr +read_corpus(const read_context_sptr &ctxt, elf_reader::status &status); +} // end namespace ctf_reader +} // end namespace abigail + +#endif // ! __ABG_CTF_READER_H__
diff --git a/include/abg-dwarf-reader.h b/include/abg-dwarf-reader.h index 13a5d5e..4c2de77 100644 --- a/include/abg-dwarf-reader.h +++ b/include/abg-dwarf-reader.h
@@ -18,6 +18,7 @@ #include <elfutils/libdwfl.h> #include "abg-corpus.h" #include "abg-suppression.h" +#include "abg-elf-reader-common.h" namespace abigail { @@ -28,42 +29,6 @@ using namespace abigail::ir; -/// The status of the @ref read_corpus_from_elf() call. -enum status -{ - /// The status is in an unknown state - STATUS_UNKNOWN = 0, - - /// This status is for when the call went OK. - STATUS_OK = 1, - - /// This status is for when the debug info could not be read. - STATUS_DEBUG_INFO_NOT_FOUND = 1 << 1, - - /// This status is for when the alternate debug info could not be - /// found. - STATUS_ALT_DEBUG_INFO_NOT_FOUND = 1 << 2, - - /// This status is for when the symbols of the ELF binaries could - /// not be read. - STATUS_NO_SYMBOLS_FOUND = 1 << 3, -}; - -string -status_to_diagnostic_string(status s); - -status -operator|(status, status); - -status -operator&(status, status); - -status& -operator|=(status&, status); - -status& -operator&=(status&, status); - /// The kind of ELF file we are looking at. enum elf_type { @@ -111,17 +76,17 @@ set_read_context_corpus_group(read_context& ctxt, corpus_group_sptr& group); corpus_sptr -read_corpus_from_elf(read_context& ctxt, status& stat); +read_corpus_from_elf(read_context& ctxt, elf_reader::status& stat); corpus_sptr read_corpus_from_elf(const std::string& elf_path, const vector<char**>& debug_info_root_paths, ir::environment* environment, bool load_all_types, - status&); + elf_reader::status&); corpus_sptr -read_and_add_corpus_to_group_from_elf(read_context&, corpus_group&, status&); +read_and_add_corpus_to_group_from_elf(read_context&, corpus_group&, elf_reader::status&); bool lookup_symbol_from_elf(const environment* env, @@ -140,12 +105,12 @@ refers_to_alt_debug_info(const read_context& ctxt, string& alt_di_path); -status +elf_reader::status has_alt_debug_info(read_context& ctxt, bool& has_alt_di, string& alt_debug_info_path); -status +elf_reader::status has_alt_debug_info(const string& elf_path, char** debug_info_root_path, bool& has_alt_di, @@ -178,10 +143,6 @@ bool f); void -set_merge_translation_units(read_context& ctxt, - bool f); - -void set_do_log(read_context& ctxt, bool f); void
diff --git a/include/abg-elf-reader-common.h b/include/abg-elf-reader-common.h new file mode 100644 index 0000000..991654a --- /dev/null +++ b/include/abg-elf-reader-common.h
@@ -0,0 +1,70 @@ +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// -*- Mode: C++ -*- +// +// Copyright (C) 2013-2021 Oracle, Inc. +// +// Author: Jose E. Marchesi + +/// @file +/// +/// This file contains declarations implementing the different status +/// in which a corpus read from an ELF file can result. It is used by +/// the readers based on ELF files, such as DWARF and CTF. +/// +/// More generally, this file contains declarations related to +/// facilities shared by the various readers that handle the ELF +/// format, e.g, the DWARF and CTF realder. + +#ifndef __ABG_ELF_READER_COMMON_H__ +#define __ABG_ELF_READER_COMMON_H__ + +#include <string> + +namespace abigail +{ + +/// The namespace for an ELF based reader. +namespace elf_reader +{ + +/// The status of the @ref read_corpus_from_elf() call. +enum status +{ + /// The status is in an unknown state + STATUS_UNKNOWN = 0, + + /// This status is for when the call went OK. + STATUS_OK = 1, + + /// This status is for when the debug info could not be read. + STATUS_DEBUG_INFO_NOT_FOUND = 1 << 1, + + /// This status is for when the alternate debug info could not be + /// found. + STATUS_ALT_DEBUG_INFO_NOT_FOUND = 1 << 2, + + /// This status is for when the symbols of the ELF binaries could + /// not be read. + STATUS_NO_SYMBOLS_FOUND = 1 << 3, +}; + +std::string +status_to_diagnostic_string(status s); + +status +operator|(status, status); + +status +operator&(status, status); + +status& +operator|=(status&, status); + +status& +operator&=(status&, status); + +}// end namespace elf_reader + +}// end namespace abigail + +#endif //__ABG_ELF_READER_COMMON_H__
diff --git a/include/abg-fwd.h b/include/abg-fwd.h index cb03b54..4c13990 100644 --- a/include/abg-fwd.h +++ b/include/abg-fwd.h
@@ -395,7 +395,7 @@ is_type(const type_or_decl_base_sptr& tod); bool -is_anonymous_type(type_base*); +is_anonymous_type(const type_base*); bool is_anonymous_type(const type_base_sptr&); @@ -490,9 +490,6 @@ qualified_type_def_sptr is_qualified_type(const type_or_decl_base_sptr&); -type_base_sptr -look_through_no_op_qualified_type(const shared_ptr<type_base>& t); - function_type_sptr is_function_type(const type_or_decl_base_sptr&); @@ -512,28 +509,19 @@ is_method_type(type_or_decl_base*); class_or_union_sptr -look_through_decl_only_class(const class_or_union&); - -class_or_union_sptr look_through_decl_only_class(class_or_union_sptr); class_or_union* look_through_decl_only_class(class_or_union*); enum_type_decl_sptr -look_through_decl_only_enum(const enum_type_decl&); - -enum_type_decl_sptr look_through_decl_only_enum(enum_type_decl_sptr); -decl_base_sptr -look_through_decl_only(const decl_base&); - decl_base* look_through_decl_only(decl_base*); decl_base_sptr -look_through_decl_only(const decl_base_sptr&); +look_through_decl_only(decl_base_sptr); var_decl* is_var_decl(const type_or_decl_base*); @@ -642,6 +630,9 @@ const var_decl_sptr get_next_data_member(const class_or_union_sptr&, const var_decl_sptr&); +var_decl_sptr +get_last_data_member(const class_or_union_sptr&); + bool is_anonymous_data_member(const decl_base&); @@ -679,6 +670,12 @@ class_or_union_sptr anonymous_data_member_to_class_or_union(const var_decl_sptr&); +bool +scope_anonymous_or_typedef_named(const decl_base&); + +bool +is_anonymous_or_typedef_named(const decl_base&); + const class_or_union_sptr data_member_has_anonymous_type(const var_decl& d); @@ -718,6 +715,11 @@ uint64_t get_absolute_data_member_offset(const var_decl&); +bool +get_next_data_member_offset(const class_or_union_sptr&, + const var_decl_sptr&, + uint64_t&); + uint64_t get_var_size_in_bits(const var_decl_sptr&); @@ -810,6 +812,9 @@ type_base_sptr strip_typedef(const type_base_sptr); +decl_base_sptr +strip_useless_const_qualification(const qualified_type_def_sptr t); + type_base_sptr peel_typedef_type(const type_base_sptr&); @@ -999,6 +1004,33 @@ bool internal, bool qualified_name = true); +string +get_debug_representation(const type_or_decl_base*); + +var_decl_sptr +get_data_member(class_or_union *, const char*); + +var_decl_sptr +get_data_member(type_base *clazz, const char* member_name); + +const location& +get_natural_or_artificial_location(const decl_base*); + +const location& +get_artificial_or_natural_location(const decl_base*); + +type_or_decl_base* +debug(const type_or_decl_base* artifact); + +type_base* +debug(const type_base* artifact); + +decl_base* +debug(const decl_base* artifact); + +bool +debug_equals(const type_or_decl_base *l, const type_or_decl_base *r); + bool odr_is_relevant(const type_or_decl_base&); @@ -1347,6 +1379,25 @@ hash_type_or_decl(const type_or_decl_base_sptr &); bool +is_non_canonicalized_type(const type_base *); + +bool +is_non_canonicalized_type(const type_base_sptr&); + +/// For a given type, return its exemplar type. +/// +/// For a given type, its exemplar type is either its canonical type +/// or the canonical type of the definition type of a given +/// declaration-only type. If the neither of those two types exist, +/// then the exemplar type is the given type itself. +/// +/// @param type the input to consider. +/// +/// @return the exemplar type. +type_base* +get_exemplar_type(const type_base* type); + +bool function_decl_is_less_than(const function_decl&f, const function_decl &s); bool
diff --git a/include/abg-ini.h b/include/abg-ini.h index 4ccb63b..ef46fbc 100644 --- a/include/abg-ini.h +++ b/include/abg-ini.h
@@ -40,8 +40,7 @@ class property { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: @@ -66,6 +65,9 @@ /// Base class of propertie values. class property_value { + struct priv; + std::unique_ptr<priv> priv_; + public: enum value_kind { @@ -75,13 +77,6 @@ TUPLE_PROPERTY_VALUE = 3, }; -private: - struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; - -public: - property_value(); property_value(value_kind); @@ -105,8 +100,7 @@ class string_property_value : public property_value { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: string_property_value(); @@ -147,9 +141,7 @@ class list_property_value : public property_value { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: list_property_value(); @@ -184,8 +176,7 @@ class tuple_property_value : public property_value { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: tuple_property_value(const vector<property_value_sptr>&); @@ -219,9 +210,7 @@ class simple_property : public property { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: simple_property(); @@ -265,9 +254,7 @@ class list_property : public property { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: list_property(); @@ -299,9 +286,7 @@ class tuple_property : public property { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: tuple_property(); @@ -336,7 +321,7 @@ class config { class priv; - typedef shared_ptr<priv> priv_sptr; + std::unique_ptr<priv> priv_; public: class section; @@ -349,11 +334,6 @@ /// A convenience typedef for a vector of @ref property_sptr typedef vector<property_sptr> properties_type; -private: - priv_sptr priv_; - -public: - config(); config(const string& path, @@ -378,9 +358,7 @@ class config::section { class priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbid this section(); @@ -455,8 +433,7 @@ class function_call_expr { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; function_call_expr();
diff --git a/include/abg-interned-str.h b/include/abg-interned-str.h index e25ea56..acd7bdf 100644 --- a/include/abg-interned-str.h +++ b/include/abg-interned-str.h
@@ -27,7 +27,6 @@ { // Inject some std types into this namespace. using std::unordered_set; -using std::shared_ptr; using std::string; using std::ostream; @@ -227,9 +226,7 @@ class interned_string_pool { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public:
diff --git a/include/abg-ir.h b/include/abg-ir.h index 62c9440..a0ef29b 100644 --- a/include/abg-ir.h +++ b/include/abg-ir.h
@@ -95,8 +95,8 @@ // Inject some std types in here. using std::unordered_map; -/// A convenience typedef fo r an ordered set of size_t. -typedef unordered_set<size_t> pointer_set; +/// A convenience typedef for an unordered set of pointer values +typedef unordered_set<uintptr_t> pointer_set; /// Functor to hash a canonical type by using its pointer value. struct canonical_type_hash @@ -134,6 +134,8 @@ class environment { public: + struct priv; + std::unique_ptr<priv> priv_; /// A convenience typedef for a map of canonical types. The key is /// the pretty representation string of a particular type and the @@ -142,14 +144,8 @@ typedef std::unordered_map<string, std::vector<type_base_sptr> > canonical_types_map_type; -private: - struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; -public: - environment(); + virtual ~environment(); canonical_types_map_type& @@ -183,6 +179,12 @@ decl_only_class_equals_definition(bool f) const; bool + use_enum_binary_only_equality() const; + + void + use_enum_binary_only_equality(bool f) const; + + bool is_void_type(const type_base_sptr&) const; bool @@ -200,6 +202,47 @@ const config& get_config() const; +#ifdef WITH_DEBUG_SELF_COMPARISON + void + set_self_comparison_debug_input(const corpus_sptr& corpus); + + void + get_self_comparison_debug_inputs(corpus_sptr& first_corpus, + corpus_sptr& second_corpus); + + void + self_comparison_debug_is_on(bool); + + bool + self_comparison_debug_is_on() const; +#endif + +#ifdef WITH_DEBUG_TYPE_CANONICALIZATION + void + debug_type_canonicalization_is_on(bool flag); + + bool + debug_type_canonicalization_is_on() const; +#endif + + vector<type_base_sptr>* get_canonical_types(const char* name); + + type_base* get_canonical_type(const char* name, unsigned index); + +#ifdef WITH_DEBUG_SELF_COMPARISON + unordered_map<string, uintptr_t>& + get_type_id_canonical_type_map() const; + + unordered_map<uintptr_t, string>& + get_pointer_type_id_map(); + + string + get_type_id_from_pointer(uintptr_t ptr); + + uintptr_t + get_canonical_type_from_type_id(const char*); +#endif + friend class class_or_union; friend class class_decl; friend class function_type; @@ -224,9 +267,16 @@ // one location manager per translation unit, and the location // manager's life time is managed by its translation unit. location_manager* loc_manager_; + // Whether the location is artificial. Being artificial means that + // the location wasn't generated by the original emitter of the + // metadata (i.e, the compiler if the metadata is debug info). For + // instance, implicit location derived from the position of XML + // elements in the abixml file is represented as artificial + // locations. + bool is_artificial_; location(unsigned v, location_manager* m) - : value_(v), loc_manager_(m) + : value_(v), loc_manager_(m), is_artificial_(false) {} /// Get the location manager to use to decode the value of this @@ -239,12 +289,45 @@ public: + /// Test if the location is artificial. + /// + /// Being artificial means that the location wasn't generated by the + /// original emitter of the metadata (i.e, the compiler if the + /// metadata is debug info). For instance, the implicit location + /// derived from the position of a given XML element in the abixml + /// file is represented as artificial locations. The same XML + /// element might carry a non-artificial (natural?) location that was + /// originally emitted by the compiler that generated the original + /// debug info the abixml file is derived from. + /// + /// @return true iff the location is artificial. + bool + get_is_artificial() const + {return is_artificial_;} + + /// Set the artificial-ness of the location. + /// + /// Being artificial means that the location wasn't generated by the + /// original emitter of the metadata (i.e, the compiler if the + /// metadata is debug info). For instance, the implicit location + /// derived from the position of a given XML element in the abixml + /// file is represented as artificial locations. The same XML + /// element might carry a non-artificial (natural?) location that + /// was originally emitted by the compiler that generated the + /// original debug info the abixml file is derived from. + /// + /// @param f the new artificial-ness state. + void + set_is_artificial(bool f) + {is_artificial_ = f;} + /// Copy constructor of the location. /// /// @param l the location to copy from. location(const location& l) : value_(l.value_), - loc_manager_(l.loc_manager_) + loc_manager_(l.loc_manager_), + is_artificial_(l.is_artificial_) {} /// Assignment operator of the location. @@ -255,12 +338,13 @@ { value_ = l.value_; loc_manager_ = l.loc_manager_; + is_artificial_ = l.is_artificial_; return *this; } /// Default constructor for the @ref location type. location() - : value_(), loc_manager_() + : value_(), loc_manager_(), is_artificial_() {} /// Get the value of the location. @@ -321,14 +405,14 @@ class location_manager { struct priv; - - /// Pimpl. - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; public: location_manager(); + ~location_manager(); + location create_new_location(const std::string& fle, size_t lne, size_t col); @@ -461,13 +545,14 @@ class type_maps { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: type_maps(); + ~type_maps(); + bool empty() const; @@ -547,12 +632,10 @@ class translation_unit : public traversable_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden - translation_unit(); + translation_unit() = delete; public: /// Convenience typedef for a shared pointer on a @ref global_scope. @@ -582,7 +665,7 @@ LANG_Pascal83, LANG_Modula2, LANG_Java, - LANG_PL1, + LANG_PLI, LANG_UPC, LANG_D, LANG_Python, @@ -828,7 +911,7 @@ private: struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; elf_symbol(); @@ -842,7 +925,6 @@ bool c, const version& ve, visibility vi, - bool is_linux_string_cst = false, bool is_in_ksymtab = false, uint64_t crc = 0, bool is_suppressed = false); @@ -868,7 +950,6 @@ bool c, const version& ve, visibility vi, - bool is_linux_string_cst = false, bool is_in_ksymtab = false, uint64_t crc = 0, bool is_suppressed = false); @@ -885,9 +966,6 @@ void set_index(size_t); - bool - get_is_linux_string_cst() const; - const string& get_name() const; @@ -1027,6 +1105,9 @@ std::ostream& operator<<(std::ostream& o, elf_symbol::binding t); +std::ostream& +operator<<(std::ostream& o, elf_symbol::visibility t); + bool string_to_elf_symbol_type(const string&, elf_symbol::type&); @@ -1060,7 +1141,7 @@ class elf_symbol::version { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; public: version(); @@ -1070,6 +1151,8 @@ version(const version& v); + ~version(); + operator const string&() const; const string& @@ -1232,8 +1315,7 @@ class type_or_decl_base : public ir_traversable_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - mutable priv_sptr priv_; + mutable std::unique_ptr<priv> priv_; type_or_decl_base(); @@ -1304,6 +1386,12 @@ virtual ~type_or_decl_base(); + bool + get_is_artificial() const; + + void + set_is_artificial(bool); + const environment* get_environment() const; @@ -1313,6 +1401,15 @@ void set_environment(const environment*); + void + set_artificial_location(const location &); + + location& + get_artificial_location() const; + + bool + has_artificial_location() const; + const corpus* get_corpus() const; @@ -1546,20 +1643,17 @@ set_is_anonymous(bool); bool - get_is_artificial() const; - - void - set_is_artificial(bool); - - bool get_has_anonymous_parent() const; - void - set_has_anonymous_parent(bool f) const; - bool get_is_anonymous_or_has_anonymous_parent() const; + typedef_decl_sptr + get_naming_typedef() const; + + void + set_naming_typedef(const typedef_decl_sptr&); + const interned_string& get_linkage_name() const; @@ -1678,6 +1772,9 @@ /// A declaration that introduces a scope. class scope_decl : public virtual decl_base { + struct priv; + std::unique_ptr<priv> priv_; + public: /// Convenience typedef for a vector of @ref decl_base_sptr. @@ -1686,13 +1783,6 @@ typedef std::vector<function_type_sptr > function_types; /// Convenience typedef for a vector of @ref scope_decl_sptr. typedef std::vector<scope_decl_sptr> scopes; - /// The type of the private data of @ref scope_decl. - struct priv; - /// A convenience typedef for a shared pointer to scope_decl::priv. - typedef shared_ptr<priv> priv_sptr; - -private: - priv_sptr priv_; scope_decl(); @@ -2064,8 +2154,7 @@ class qualified_type_def : public virtual type_base, public virtual decl_base { class priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden. qualified_type_def(); @@ -2091,6 +2180,8 @@ qualified_type_def(type_base_sptr type, CV quals, const location& locus); + qualified_type_def(environment* env, CV quals, const location& locus); + virtual size_t get_size_in_bits() const; @@ -2171,9 +2262,7 @@ class pointer_type_def : public virtual type_base, public virtual decl_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden. pointer_type_def(); @@ -2189,6 +2278,13 @@ pointer_type_def(const type_base_sptr& pointed_to_type, size_t size_in_bits, size_t alignment_in_bits, const location& locus); + pointer_type_def(environment* env, size_t size_in_bits, + size_t alignment_in_bits, const location& locus); + + + void + set_pointed_to_type(const type_base_sptr&); + virtual bool operator==(const decl_base&) const; @@ -2247,6 +2343,12 @@ bool lvalue, size_t size_in_bits, size_t alignment_in_bits, const location& locus); + reference_type_def(const environment* env, bool lvalue, size_t size_in_bits, + size_t alignment_in_bits, const location& locus); + + void + set_pointed_to_type(type_base_sptr& pointed_to_type); + virtual bool operator==(const decl_base&) const; @@ -2287,14 +2389,14 @@ /// The abstraction of an array type. class array_type_def : public virtual type_base, public virtual decl_base { -private: struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden. array_type_def(); + void update_size(); + public: /// Hasher for intances of array_type_def. @@ -2314,13 +2416,13 @@ class subrange_type : public virtual type_base, public virtual decl_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden. subrange_type(); public: + virtual ~subrange_type(); /// This class is to hold the value of the bound of a subrange. /// The value can be either signed or unsigned, at least when it /// comes from DWARF. The class keeps the sign information, but @@ -2440,6 +2542,10 @@ const std::vector<subrange_sptr>& subs, const location& locus); + array_type_def(environment* env, + const std::vector<subrange_sptr>& subs, + const location& locus); + translation_unit::language get_language() const; @@ -2503,6 +2609,12 @@ /// Abstracts a declaration for an enum type. class enum_type_decl : public virtual type_base, public virtual decl_base { + class priv; + std::unique_ptr<priv> priv_; + + // Forbidden + enum_type_decl(); + public: /// A hasher for an enum_type_decl. @@ -2514,18 +2626,6 @@ /// Convenience typedef for a list of @ref enumerator. typedef std::vector<enumerator> enumerators; -private: - - class priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; - - // Forbidden - enum_type_decl(); - -public: - /// Constructor of an enum type declaration. /// /// @param name the name of the enum @@ -2592,14 +2692,14 @@ class enum_type_decl::enumerator { class priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; - + std::unique_ptr<priv> priv_; public: enumerator(); + ~enumerator(); + enumerator(const environment* env, const string& name, int64_t value); enumerator(const enumerator&); @@ -2645,9 +2745,7 @@ class typedef_decl : public virtual type_base, public virtual decl_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden typedef_decl(); @@ -2663,6 +2761,12 @@ const string& mangled_name = "", visibility vis = VISIBILITY_DEFAULT); + typedef_decl(const string& name, + environment* env, + const location& locus, + const string& mangled_name = "", + visibility vis = VISIBILITY_DEFAULT); + virtual size_t get_size_in_bits() const; @@ -2700,9 +2804,7 @@ { protected: struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: dm_context_rel(); @@ -2752,7 +2854,7 @@ class var_decl : public virtual decl_base { struct priv; - shared_ptr<priv> priv_; + std::unique_ptr<priv> priv_; // Forbidden var_decl(); @@ -3024,9 +3126,7 @@ class function_decl::parameter : public decl_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: @@ -3056,6 +3156,8 @@ unsigned index = 0, bool variadic_marker = false); + virtual ~parameter(); + const type_base_sptr get_type()const; @@ -3127,9 +3229,6 @@ /// Abstraction of a function type. class function_type : public virtual type_base { - struct priv; - typedef shared_ptr<priv> priv_sptr; - protected: virtual void on_canonical_type_set(); @@ -3143,7 +3242,8 @@ /// Convenience typedef for a vector of @ref parameter_sptr typedef std::vector<parameter_sptr> parameters; - priv_sptr priv_; + struct priv; + std::unique_ptr<priv> priv_; private: function_type(); @@ -3226,8 +3326,7 @@ class method_type : public function_type { struct priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; method_type(); @@ -3283,8 +3382,7 @@ class template_decl : public virtual decl_base { class priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; template_decl(); @@ -3316,8 +3414,7 @@ class template_parameter { class priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden template_parameter(); @@ -3363,9 +3460,7 @@ class type_tparameter : public template_parameter, public virtual type_decl { class priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden type_tparameter(); @@ -3396,9 +3491,7 @@ class non_type_tparameter : public template_parameter, public virtual decl_base { class priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; type_base_wptr type_; @@ -3445,8 +3538,7 @@ class template_tparameter : public type_tparameter, public template_decl { class priv; - typedef shared_ptr<priv> priv_sptr; - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden template_tparameter(); @@ -3481,9 +3573,7 @@ class type_composition : public template_parameter, public virtual decl_base { class priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; type_composition(); @@ -3521,9 +3611,7 @@ class function_tdecl : public template_decl, public scope_decl { class priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden function_tdecl(); @@ -3572,9 +3660,7 @@ class class_tdecl : public template_decl, public scope_decl { class priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden class_tdecl(); @@ -3831,12 +3917,6 @@ virtual void set_alignment_in_bits(size_t); - typedef_decl_sptr - get_naming_typedef() const; - - void - set_naming_typedef(const typedef_decl_sptr&); - void insert_member_type(type_base_sptr t, declarations::iterator before); @@ -4192,9 +4272,7 @@ public virtual decl_base { struct priv; - typedef shared_ptr<priv>priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbidden base_spec(); @@ -4210,6 +4288,8 @@ base_spec(const type_base_sptr& base, access_specifier a, long offset_in_bits = -1, bool is_virtual = false); + virtual ~base_spec(); + class_decl_sptr get_base_class() const; @@ -4709,14 +4789,14 @@ class ir_node_visitor : public node_visitor_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: ir_node_visitor(); + virtual ~ir_node_visitor(); + void allow_visiting_already_visited_type_node(bool); bool allow_visiting_already_visited_type_node() const; void mark_type_node_as_visited(type_base *);
diff --git a/include/abg-libxml-utils.h b/include/abg-libxml-utils.h index 69e940f..7a2e257 100644 --- a/include/abg-libxml-utils.h +++ b/include/abg-libxml-utils.h
@@ -81,9 +81,6 @@ #define CHAR_STR(xml_char_str) \ reinterpret_cast<char*>(xml_char_str.get()) -xmlNodePtr -advance_to_next_sibling_element(xmlNodePtr node); - void escape_xml_string(const std::string& str, std::string& escaped);
diff --git a/include/abg-reader.h b/include/abg-reader.h index 13c3ef2..a3aa0f8 100644 --- a/include/abg-reader.h +++ b/include/abg-reader.h
@@ -82,6 +82,12 @@ consider_types_not_reachable_from_public_interfaces(read_context& ctxt, bool flag); }//end xml_reader + +#ifdef WITH_DEBUG_SELF_COMPARISON +bool +load_canonical_type_ids(xml_reader::read_context& ctxt, + const string& file_path); +#endif }//end namespace abigail #endif // __ABG_READER_H__
diff --git a/include/abg-suppression.h b/include/abg-suppression.h index de2c601..6c13e33 100644 --- a/include/abg-suppression.h +++ b/include/abg-suppression.h
@@ -38,14 +38,14 @@ /// it matches the supppression specification. class suppression_base { - class priv; - typedef shared_ptr<priv> priv_sptr; - +public: + class priv; // declare publicly to allow subclasses to reuse the priv +private: // Forbid default constructor suppression_base(); public: - priv_sptr priv_; + std::unique_ptr<priv> priv_; suppression_base(const string& label); @@ -139,14 +139,12 @@ class type_suppression : public suppression_base { class priv; - typedef shared_ptr<priv> priv_sptr; // Forbid this; type_suppression(); public: - - priv_sptr priv_; + std::unique_ptr<priv> priv_; /// The kind of the type the current type suppression is supposed to /// be about. @@ -289,6 +287,9 @@ /// might get inserted. class type_suppression::insertion_range { + struct priv; + std::unique_ptr<priv> priv_; + public: class boundary; @@ -305,13 +306,6 @@ /// fn_call_expr_boundary typedef shared_ptr<fn_call_expr_boundary> fn_call_expr_boundary_sptr; -private: - struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; - -public: insertion_range(); insertion_range(boundary_sptr begin, boundary_sptr end); @@ -334,7 +328,10 @@ static bool eval_boundary(boundary_sptr boundary, class_decl_sptr context, - ssize_t& value); + uint64_t& value); + + static bool + boundary_value_is_end(uint64_t value); }; // end class insertion_range type_suppression::insertion_range::integer_boundary_sptr @@ -348,9 +345,7 @@ class type_suppression::insertion_range::boundary { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: boundary(); @@ -363,16 +358,14 @@ : public type_suppression::insertion_range::boundary { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; integer_boundary(); public: - integer_boundary(int value); - int as_integer() const; - operator int() const; + integer_boundary(uint64_t value); + uint64_t as_integer() const; + operator uint64_t () const; ~integer_boundary(); }; //end class type_suppression::insertion_range::integer_boundary @@ -383,9 +376,7 @@ : public type_suppression::insertion_range::boundary { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; fn_call_expr_boundary(); @@ -412,11 +403,10 @@ class function_suppression : public suppression_base { struct priv; - typedef shared_ptr<priv> priv_sptr; public: - priv_sptr priv_; + std::unique_ptr<priv> priv_; class parameter_spec; /// Convenience typedef for shared_ptr of @ref parameter_spec. @@ -582,12 +572,10 @@ /// function suppression specification. class function_suppression::parameter_spec { - class priv; - typedef shared_ptr<priv> priv_sptr; - friend class function_suppression; - priv_sptr priv_; + class priv; + std::unique_ptr<priv> priv_; // Forbid this. parameter_spec(); @@ -657,11 +645,9 @@ private: struct priv; - typedef shared_ptr<priv> priv_sptr; public: - - priv_sptr priv_; + std::unique_ptr<priv> priv_; variable_suppression(const string& label = "", const string& name = "", @@ -791,10 +777,7 @@ /// which file it has to avoid loading. class file_suppression: public suppression_base { - class priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; // Forbid this file_suppression();
diff --git a/include/abg-tools-utils.h b/include/abg-tools-utils.h index 66b288c..68e5402 100644 --- a/include/abg-tools-utils.h +++ b/include/abg-tools-utils.h
@@ -61,6 +61,7 @@ bool string_suffix(const string&, const string&, string&); bool sorted_strings_common_prefix(vector<string>&, string&); string get_library_version_string(); +string get_abixml_version_string(); bool execute_command_and_get_output(const string&, vector<string>&); bool get_dsos_provided_by_rpm(const string& rpm_path, set<string>& provided_dsos); @@ -135,9 +136,7 @@ class temp_file { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; temp_file(); @@ -249,9 +248,7 @@ class timer { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; public: enum kind
diff --git a/include/abg-traverse.h b/include/abg-traverse.h index fce72b2..b15aece 100644 --- a/include/abg-traverse.h +++ b/include/abg-traverse.h
@@ -38,9 +38,7 @@ class traversable_base { struct priv; - typedef shared_ptr<priv> priv_sptr; - - priv_sptr priv_; + std::unique_ptr<priv> priv_; protected:
diff --git a/include/abg-version.h b/include/abg-version.h index 3f40972..10b8f3a 100644 --- a/include/abg-version.h +++ b/include/abg-version.h
@@ -1,10 +1,10 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -#include "android_build_version.h" - #ifndef __ABG_VERSION_H__ #define __ABG_VERSION_H__ #define ABIGAIL_VERSION_MAJOR "2" -#define ABIGAIL_VERSION_MINOR "0" +#define ABIGAIL_VERSION_MINOR "1" #define ABIGAIL_VERSION_REVISION "0" -#define ABIGAIL_VERSION_SUFFIX "-" ANDROID_BUILD_VERSION +#define ABIGAIL_VERSION_SUFFIX "" +#define ABIGAIL_ABIXML_VERSION_MAJOR "2" +#define ABIGAIL_ABIXML_VERSION_MINOR "1" #endif
diff --git a/include/abg-version.h.in b/include/abg-version.h.in index dc7531a..939f0cd 100644 --- a/include/abg-version.h.in +++ b/include/abg-version.h.in
@@ -5,4 +5,6 @@ #define ABIGAIL_VERSION_MINOR "@VERSION_MINOR@" #define ABIGAIL_VERSION_REVISION "@VERSION_REVISION@" #define ABIGAIL_VERSION_SUFFIX "@VERSION_SUFFIX@" +#define ABIGAIL_ABIXML_VERSION_MAJOR "@ABIXML_VERSION_MAJOR@" +#define ABIGAIL_ABIXML_VERSION_MINOR "@ABIXML_VERSION_MINOR@" #endif
diff --git a/include/abg-workers.h b/include/abg-workers.h index 5b55244..678c06a 100644 --- a/include/abg-workers.h +++ b/include/abg-workers.h
@@ -68,13 +68,12 @@ { public: struct priv; - typedef shared_ptr<priv> priv_sptr; /// A convenience typedef for a vector of @ref task_sptr typedef std::vector<task_sptr> tasks_type; private: - priv_sptr p_; + std::unique_ptr<priv> p_; public: struct task_done_notify;
diff --git a/include/abg-writer.h b/include/abg-writer.h index 552a3b0..b6bdcb2 100644 --- a/include/abg-writer.h +++ b/include/abg-writer.h
@@ -100,7 +100,8 @@ bool write_translation_unit(write_context& ctxt, const translation_unit& tu, - const unsigned indent); + const unsigned indent, + bool last = true); bool write_corpus_to_archive(const corpus& corp, @@ -127,6 +128,16 @@ unsigned indent); }// end namespace xml_writer + +#ifdef WITH_DEBUG_SELF_COMPARISON +void +write_canonical_type_ids(xml_writer::write_context&, ostream&); + +bool +write_canonical_type_ids(xml_writer::write_context&, + const string &); +#endif + }// end namespace abigail #endif // __ABG_WRITER_H__
diff --git a/patches/000-version.patch b/patches/000-version.patch deleted file mode 100644 index 7c90041..0000000 --- a/patches/000-version.patch +++ /dev/null
@@ -1,16 +0,0 @@ -diff --git a/include/abg-version.h b/include/abg-version.h -index 98b2a0603fe9..b6021924f497 100644 ---- a/include/abg-version.h -+++ b/include/abg-version.h -@@ -1,8 +1,10 @@ - // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -+#include "android_build_version.h" -+ - #ifndef __ABG_VERSION_H__ - #define __ABG_VERSION_H__ - #define ABIGAIL_VERSION_MAJOR "2" - #define ABIGAIL_VERSION_MINOR "0" - #define ABIGAIL_VERSION_REVISION "0" --#define ABIGAIL_VERSION_SUFFIX "" -+#define ABIGAIL_VERSION_SUFFIX "-" ANDROID_BUILD_VERSION - #endif
diff --git a/post_update.sh b/post_update.sh index 72f3b81..ee12080 100755 --- a/post_update.sh +++ b/post_update.sh
@@ -11,7 +11,7 @@ cd "$1" fi -autoreconf -i && ./configure --disable-shared +autoreconf -i && ./configure --disable-shared --enable-cxx17 # if called from the external_updater, do not apply any patches as it will do # that for us, otherwise do if there are any
diff --git a/src/Makefile.am b/src/Makefile.am index 430ce98..29da1ec 100644 --- a/src/Makefile.am +++ b/src/Makefile.am
@@ -26,6 +26,7 @@ abg-suppression.cc \ abg-comp-filter.cc \ abg-reader.cc \ +abg-elf-reader-common.cc \ abg-dwarf-reader.cc \ abg-libxml-utils.cc \ abg-hash.cc \ @@ -41,6 +42,10 @@ abg-symtab-reader.cc \ $(VIZ_SOURCES) +if CTF_READER +libabigail_la_SOURCES += abg-ctf-reader.cc +endif + libabigail_la_LIBADD = $(DEPS_LIBS) libabigail_la_LDFLAGS = -lpthread -Wl,--as-needed -no-undefined
diff --git a/src/abg-comparison.cc b/src/abg-comparison.cc index a09d5c2..ac75ff6 100644 --- a/src/abg-comparison.cc +++ b/src/abg-comparison.cc
@@ -914,6 +914,8 @@ // add_diff_filter(f); } +diff_context::~diff_context() = default; + /// Set the corpus diff relevant to this context. /// /// @param d the corpus_diff we are interested in. @@ -2804,10 +2806,6 @@ type_or_decl_base_sptr f = first; type_or_decl_base_sptr s = second; - // Look through no-op qualified types. - f = look_through_no_op_qualified_type(is_type(f)); - s = look_through_no_op_qualified_type(is_type(s)); - diff_sptr d; ((d = try_to_diff<type_decl>(f, s, ctxt)) @@ -4196,15 +4194,19 @@ second->get_underlying_type(), ctxt); enum_diff_sptr d(new enum_diff(first, second, ud, ctxt)); - - compute_diff(first->get_enumerators().begin(), - first->get_enumerators().end(), - second->get_enumerators().begin(), - second->get_enumerators().end(), - d->priv_->enumerators_changes_); - - d->ensure_lookup_tables_populated(); - + bool s = first->get_environment()->use_enum_binary_only_equality(); + first->get_environment()->use_enum_binary_only_equality(true); + if (first != second) + { + first->get_environment()->use_enum_binary_only_equality(false); + compute_diff(first->get_enumerators().begin(), + first->get_enumerators().end(), + second->get_enumerators().begin(), + second->get_enumerators().end(), + d->priv_->enumerators_changes_); + d->ensure_lookup_tables_populated(); + } + first->get_environment()->use_enum_binary_only_equality(s); ctxt->initialize_canonical_diff(d); return d; @@ -4966,7 +4968,7 @@ /// /// @return the (possibly) shared private data of the current instance /// of @ref class_or_union_diff. -const class_or_union_diff::priv_sptr& +const class_or_union_diff::priv_ptr& class_or_union_diff::get_priv() const { if (priv_) @@ -5322,7 +5324,7 @@ get_priv()->sorted_changed_bases_); { - const class_or_union_diff::priv_sptr &p = class_or_union_diff::get_priv(); + const class_or_union_diff::priv_ptr &p = class_or_union_diff::get_priv(); edit_script& e = p->member_fns_changes_; @@ -5543,7 +5545,7 @@ /// /// @return the (possibly) shared private data of the current instance /// of class_diff. -const class_diff::priv_sptr& +const class_diff::priv_ptr& class_diff::get_priv() const { if (priv_) @@ -7676,6 +7678,8 @@ : priv_(new diff_maps::priv()) {} +diff_maps::~diff_maps() = default; + /// Getter of the map that contains basic type diffs. /// /// @return the map that contains basic type diffs. @@ -10414,6 +10418,8 @@ : priv_(new priv(first, second, ctxt)) {} +corpus_diff::~corpus_diff() = default; + /// Finish building the current instance of @ref corpus_diff. void corpus_diff::finish_diff_type() @@ -11195,6 +11201,8 @@ : priv_(new priv) {} +diff_node_visitor::~diff_node_visitor() = default; + /// Constructor of the @ref diff_node_visitor type. /// /// @param k how the visiting has to be performed. @@ -12206,9 +12214,25 @@ // LOCAL_NON_TYPE_CHANGE_KIND kind. || is_pointer_diff(d) || is_qualified_type_diff(d) + // A typedef with local non-type changes should not + // see redundancy propagation from its underlying + // type, otherwise, the non-type change might be + // "suppressed" away. || (is_typedef_diff(d) && (!(d->has_local_changes() - & LOCAL_NON_TYPE_CHANGE_KIND))))) + & LOCAL_NON_TYPE_CHANGE_KIND))) + // A (member) variable with non-type local changes + // should not see redundacy propagation from its type. + // If redundant local-type changes are carried by its + // type however, then that redundancy is propagated to + // the variable. This is key to keep the redundancy + // consistency in the system; otherwise, a type change + // would be rightfully considered redundant at some + // places but not at others. + || (is_var_diff(d) + && (!(d->has_local_changes() + & LOCAL_NON_TYPE_CHANGE_KIND))) + )) { bool has_non_redundant_child = false; bool has_non_empty_child = false;
diff --git a/src/abg-config.cc b/src/abg-config.cc index 4063a79..42199ba 100644 --- a/src/abg-config.cc +++ b/src/abg-config.cc
@@ -5,6 +5,10 @@ /// @file +#if defined(USE_ANDROID_BUILD_NUMBER) +#include <build/version.h> +#endif + #include "abg-internal.h" // <headers defining libabigail's API go under here> ABG_BEGIN_EXPORT_DECLARATIONS @@ -18,8 +22,8 @@ namespace abigail { config::config() - : m_format_minor("0"), - m_format_major("2"), + : m_format_minor(ABIGAIL_ABIXML_VERSION_MINOR), + m_format_major(ABIGAIL_ABIXML_VERSION_MAJOR), m_xml_element_indent(2), m_tu_instr_suffix(".bi"), m_tu_instr_archive_suffix(".abi") @@ -68,6 +72,15 @@ extern "C" { +/// Return the relevant version numbers of the library. +/// +/// @param maj the major version number of the library. +/// +/// @param min the minor version number of the library. +/// +/// @param rev the revision version number of the library. +/// +/// @param suf the version suffix of the library. void abigail_get_library_version(std::string& major, std::string& minor, @@ -77,7 +90,25 @@ major = ABIGAIL_VERSION_MAJOR; minor = ABIGAIL_VERSION_MINOR; revision = ABIGAIL_VERSION_REVISION; +#if defined(USE_ANDROID_BUILD_NUMBER) + // Android edit: there is no compile time constant for build number. + suffix = android::build::GetBuildNumber(); +#else suffix = ABIGAIL_VERSION_SUFFIX; +#endif +} + +/// Return the version numbers for the ABIXML format. +/// +/// @param maj the major version number of the ABIXML format. +/// +/// @param min the minor version number of the ABIXML format. +void +abigail_get_abixml_version(std::string& major, + std::string& minor) +{ + major = ABIGAIL_ABIXML_VERSION_MAJOR; + minor = ABIGAIL_ABIXML_VERSION_MINOR; } }
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc index c9f5c56..a517f38 100644 --- a/src/abg-corpus.cc +++ b/src/abg-corpus.cc
@@ -602,6 +602,8 @@ init_format_version(); } +corpus::~corpus() = default; + /// Getter of the enviroment of the corpus. /// /// @return the environment of this corpus. @@ -1009,7 +1011,7 @@ } } return (members_empty - && !get_symtab()->has_symbols() + && (!get_symtab() || !get_symtab()->has_symbols()) && priv_->soname.empty() && priv_->needed.empty()); }
diff --git a/src/abg-ctf-reader.cc b/src/abg-ctf-reader.cc new file mode 100644 index 0000000..e5ea0ca --- /dev/null +++ b/src/abg-ctf-reader.cc
@@ -0,0 +1,1158 @@ +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// -*- Mode: C++ -*- +// +// Copyright (C) 2021 Oracle, Inc. +// +// Author: Jose E. Marchesi + +/// @file +/// +/// This file contains the definitions of the entry points to +/// de-serialize an instance of @ref abigail::corpus from a file in +/// ELF format, containing CTF information. + +#include "config.h" + +#include <fcntl.h> /* For open(3) */ +#include <iostream> +#include <memory> + +#include "ctf-api.h" + +#include "abg-internal.h" +#include "abg-ir-priv.h" +#include "abg-elf-helpers.h" + +// <headers defining libabigail's API go under here> +ABG_BEGIN_EXPORT_DECLARATIONS + +#include "abg-ctf-reader.h" +#include "abg-libxml-utils.h" +#include "abg-reader.h" +#include "abg-corpus.h" +#include "abg-symtab-reader.h" +#include "abg-tools-utils.h" + +ABG_END_EXPORT_DECLARATIONS +// </headers defining libabigail's API> + +namespace abigail +{ +namespace ctf_reader +{ +using std::dynamic_pointer_cast; + +class read_context +{ +public: + /// The name of the ELF file from which the CTF archive got + /// extracted. + string filename; + + /// The IR environment. + ir::environment *ir_env; + + /// The CTF archive read from FILENAME. If an archive couldn't + /// be read from the file then this is NULL. + ctf_archive_t *ctfa; + + /// A map associating CTF type ids with libabigail IR types. This + /// is used to reuse already generated types. + unordered_map<ctf_id_t,type_base_sptr> types_map; + + /// libelf handler for the ELF file from which we read the CTF data, + /// and the corresponding file descriptor. + Elf *elf_handler; + int elf_fd; + + /// The symtab read from the ELF file. + symtab_reader::symtab_sptr symtab; + + /// Raw contents of several sections from the ELF file. These are + /// used by libctf. + ctf_sect_t ctf_sect; + ctf_sect_t symtab_sect; + ctf_sect_t strtab_sect; + + /// Associate a given CTF type ID with a given libabigail IR type. + void add_type(ctf_id_t ctf_type, type_base_sptr type) + { + types_map.insert(std::make_pair(ctf_type, type)); + } + + /// Lookup a given CTF type ID in the types map. + /// + /// @param ctf_type the type ID of the type to lookup. + type_base_sptr lookup_type(ctf_id_t ctf_type) + { + type_base_sptr result; + + auto search = types_map.find(ctf_type); + if (search != types_map.end()) + result = search->second; + + return result; + } + + /// Canonicalize all the types stored in the types map. + void canonicalize_all_types(void) + { + for (auto t = types_map.begin(); t != types_map.end(); t++) + canonicalize (t->second); + } + + /// Constructor. + /// + /// @param elf_path the path to the ELF file. + read_context(const string& elf_path, ir::environment *env) + { + types_map.clear(); + filename = elf_path; + ir_env = env; + elf_handler = NULL; + elf_fd = -1; + ctfa = NULL; + } + + /// Destructor of the @ref read_context type. + ~read_context() + { + ctf_close(ctfa); + } +}; // end class read_context. + +/// Forward reference, needed because several of the process_ctf_* +/// functions below are indirectly recursive through this call. +static type_base_sptr lookup_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type); + +/// Build and return a typedef libabigail IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// @return a shared pointer to the IR node for the typedef. + +static typedef_decl_sptr +process_ctf_typedef(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + typedef_decl_sptr result; + + ctf_id_t ctf_utype = ctf_type_reference(ctf_dictionary, ctf_type); + if (ctf_utype == CTF_ERR) + return result; + + const char *typedef_name = ctf_type_name_raw(ctf_dictionary, ctf_type); + type_base_sptr utype = lookup_type(ctxt, corp, tunit, + ctf_dictionary, ctf_utype); + + if (!utype) + return result; + + result = dynamic_pointer_cast<typedef_decl>(ctxt->lookup_type(ctf_type)); + if (result) + return result; + + result.reset(new typedef_decl(typedef_name, utype, location(), + typedef_name /* mangled_name */)); + + /* If this typedef "names" an anonymous type, reflect this fact in + the underlying type. In C enum, struct and union types can be + anonymous. */ + if (is_anonymous_type(utype) + && (is_enum_type(utype) || is_class_or_union_type(utype))) + { + decl_base_sptr decl = is_decl(utype); + ABG_ASSERT(decl); + decl->set_naming_typedef(result); + } + + if (result) + { + add_decl_to_scope(result, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + } + + return result; +} + +/// Build and return an integer or float type declaration libabigail +/// IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// @return a shared pointer to the IR node for the type. + +static type_decl_sptr +process_ctf_base_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + type_decl_sptr result; + + ssize_t type_alignment = ctf_type_align(ctf_dictionary, ctf_type); + const char *type_name = ctf_type_name_raw(ctf_dictionary, ctf_type); + + /* Get the type encoding and extract some useful properties of + the type from it. In case of any error, just ignore the + type. */ + ctf_encoding_t type_encoding; + if (ctf_type_encoding(ctf_dictionary, + ctf_type, + &type_encoding)) + return result; + + /* Create the IR type corresponding to the CTF type. */ + if (type_encoding.cte_bits == 0 + && type_encoding.cte_format == CTF_INT_SIGNED) + { + /* This is the `void' type. */ + type_base_sptr void_type = ctxt->ir_env->get_void_type(); + decl_base_sptr type_declaration = get_type_declaration(void_type); + result = is_type_decl(type_declaration); + } + else + { + result = lookup_basic_type(type_name, *corp); + if (!result) + result.reset(new type_decl(ctxt->ir_env, + type_name, + type_encoding.cte_bits, + type_alignment * 8 /* in bits */, + location(), + type_name /* mangled_name */)); + + } + + if (result) + { + add_decl_to_scope(result, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + } + + return result; +} + +/// Build and return a function type libabigail IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// @return a shared pointer to the IR node for the function type. + +static function_type_sptr +process_ctf_function_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + function_type_sptr result; + + /* Fetch the function type info from the CTF type. */ + ctf_funcinfo_t funcinfo; + ctf_func_type_info(ctf_dictionary, ctf_type, &funcinfo); + int vararg_p = funcinfo.ctc_flags & CTF_FUNC_VARARG; + + /* Take care first of the result type. */ + ctf_id_t ctf_ret_type = funcinfo.ctc_return; + type_base_sptr ret_type = lookup_type(ctxt, corp, tunit, + ctf_dictionary, ctf_ret_type); + if (!ret_type) + return result; + + /* Now process the argument types. */ + int argc = funcinfo.ctc_argc; + std::vector<ctf_id_t> argv(argc); + if (static_cast<ctf_id_t>(ctf_func_type_args(ctf_dictionary, ctf_type, + argc, argv.data())) == CTF_ERR) + return result; + + function_decl::parameters function_parms; + for (int i = 0; i < argc; i++) + { + ctf_id_t ctf_arg_type = argv[i]; + type_base_sptr arg_type = lookup_type(ctxt, corp, tunit, + ctf_dictionary, ctf_arg_type); + if (!arg_type) + return result; + + function_decl::parameter_sptr parm + (new function_decl::parameter(arg_type, "", + location(), + vararg_p && (i == argc - 1), + false /* is_artificial */)); + function_parms.push_back(parm); + } + + result = dynamic_pointer_cast<function_type>(ctxt->lookup_type(ctf_type)); + if (result) + return result; + + /* Ok now the function type itself. */ + result.reset(new function_type(ret_type, + function_parms, + tunit->get_address_size(), + ctf_type_align(ctf_dictionary, ctf_type))); + + if (result) + { + tunit->bind_function_type_life_time(result); + result->set_is_artificial(true); + decl_base_sptr function_type_decl = get_type_declaration(result); + add_decl_to_scope(function_type_decl, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + } + + return result; +} + +/// Add member information to a IR struct or union type. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// @param sou the IR struct or union type to which add the members. + +static void +process_ctf_sou_members(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type, + class_or_union_sptr sou) +{ + ssize_t member_size; + ctf_next_t *member_next = NULL; + const char *member_name = NULL; + ctf_id_t member_ctf_type; + + while ((member_size = ctf_member_next(ctf_dictionary, ctf_type, + &member_next, &member_name, + &member_ctf_type, + CTF_MN_RECURSE)) >= 0) + { + ctf_membinfo_t membinfo; + + if (static_cast<ctf_id_t>(ctf_member_info(ctf_dictionary, + ctf_type, + member_name, + &membinfo)) == CTF_ERR) + return; + + /* Build the IR for the member's type. */ + type_base_sptr member_type = lookup_type(ctxt, corp, tunit, + ctf_dictionary, + member_ctf_type); + if (!member_type) + /* Ignore this member. */ + continue; + + /* Create a declaration IR node for the member and add it to the + struct type. */ + var_decl_sptr data_member_decl(new var_decl(member_name, + member_type, + location(), + member_name)); + sou->add_data_member(data_member_decl, + public_access, + true /* is_laid_out */, + false /* is_static */, + membinfo.ctm_offset); + } + if (ctf_errno(ctf_dictionary) != ECTF_NEXT_END) + fprintf(stderr, "ERROR from ctf_member_next\n"); +} + +/// Build and return a struct type libabigail IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// @return a shared pointer to the IR node for the struct type. + +static class_decl_sptr +process_ctf_struct_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + class_decl_sptr result; + std::string struct_type_name = ctf_type_name_raw(ctf_dictionary, + ctf_type); + bool struct_type_is_anonymous = (struct_type_name == ""); + + /* The libabigail IR encodes C struct types in `class' IR nodes. */ + result.reset(new class_decl(ctxt->ir_env, + struct_type_name, + ctf_type_size(ctf_dictionary, ctf_type) * 8, + ctf_type_align(ctf_dictionary, ctf_type) * 8, + true /* is_struct */, + location(), + decl_base::VISIBILITY_DEFAULT, + struct_type_is_anonymous)); + if (!result) + return result; + + /* The C type system indirectly supports loops by the mean of + pointers to structs or unions. Since some contained type can + refer to this struct, we have to make it available in the cache + at this point even if the members haven't been added to the IR + node yet. */ + add_decl_to_scope(result, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + + /* Now add the struct members as specified in the CTF type description. + This is C, so named types can only be defined in the global + scope. */ + process_ctf_sou_members(ctxt, corp, tunit, ctf_dictionary, ctf_type, + result); + + return result; +} + +/// Build and return an union type libabigail IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// @return a shared pointer to the IR node for the union type. + +static union_decl_sptr +process_ctf_union_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + union_decl_sptr result; + std::string union_type_name = ctf_type_name_raw(ctf_dictionary, + ctf_type); + bool union_type_is_anonymous = (union_type_name == ""); + + /* Create the corresponding libabigail union IR node. */ + result.reset(new union_decl(ctxt->ir_env, + union_type_name, + ctf_type_size(ctf_dictionary, ctf_type) * 8, + location(), + decl_base::VISIBILITY_DEFAULT, + union_type_is_anonymous)); + if (!result) + return result; + + /* The C type system indirectly supports loops by the mean of + pointers to structs or unions. Since some contained type can + refer to this union, we have to make it available in the cache + at this point even if the members haven't been added to the IR + node yet. */ + add_decl_to_scope(result, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + + /* Now add the union members as specified in the CTF type description. + This is C, so named types can only be defined in the global + scope. */ + process_ctf_sou_members(ctxt, corp, tunit, ctf_dictionary, ctf_type, + result); + + return result; +} + +/// Build and return an array type libabigail IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// @return a shared pointer to the IR node for the array type. + +static array_type_def_sptr +process_ctf_array_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + array_type_def_sptr result; + ctf_arinfo_t ctf_ainfo; + bool is_infinite = false; + + /* First, get the information about the CTF array. */ + if (static_cast<ctf_id_t>(ctf_array_info(ctf_dictionary, + ctf_type, + &ctf_ainfo)) == CTF_ERR) + return result; + + ctf_id_t ctf_element_type = ctf_ainfo.ctr_contents; + ctf_id_t ctf_index_type = ctf_ainfo.ctr_index; + uint64_t nelems = ctf_ainfo.ctr_nelems; + + /* Make sure the element type is generated. */ + type_base_sptr element_type = lookup_type(ctxt, corp, tunit, + ctf_dictionary, + ctf_element_type); + if (!element_type) + return result; + + /* Ditto for the index type. */ + type_base_sptr index_type = lookup_type(ctxt, corp, tunit, + ctf_dictionary, + ctf_index_type); + if (!index_type) + return result; + + result = dynamic_pointer_cast<array_type_def>(ctxt->lookup_type(ctf_type)); + if (result) + return result; + + /* The number of elements of the array determines the IR subranges + type to build. */ + array_type_def::subranges_type subranges; + array_type_def::subrange_sptr subrange; + array_type_def::subrange_type::bound_value lower_bound; + array_type_def::subrange_type::bound_value upper_bound; + + lower_bound.set_unsigned(0); /* CTF supports C only. */ + upper_bound.set_unsigned(nelems > 0 ? nelems - 1 : 0U); + + /* for VLAs number of array elements is 0 */ + if (upper_bound.get_unsigned_value() == 0) + is_infinite = true; + + subrange.reset(new array_type_def::subrange_type(ctxt->ir_env, + "", + lower_bound, + upper_bound, + index_type, + location(), + translation_unit::LANG_C)); + if (!subrange) + return result; + + subrange->is_infinite(is_infinite); + add_decl_to_scope(subrange, tunit->get_global_scope()); + canonicalize(subrange); + subranges.push_back(subrange); + + /* Finally build the IR for the array type and return it. */ + result.reset(new array_type_def(element_type, subranges, location())); + if (result) + { + decl_base_sptr array_type_decl = get_type_declaration(result); + add_decl_to_scope(array_type_decl, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + } + + return result; +} + +/// Build and return a qualified type libabigail IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. + +static type_base_sptr +process_ctf_qualified_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + type_base_sptr result; + int type_kind = ctf_type_kind(ctf_dictionary, ctf_type); + ctf_id_t ctf_utype = ctf_type_reference(ctf_dictionary, ctf_type); + type_base_sptr utype = lookup_type(ctxt, corp, tunit, + ctf_dictionary, ctf_utype); + if (!utype) + return result; + + qualified_type_def::CV qualifiers = qualified_type_def::CV_NONE; + if (type_kind == CTF_K_CONST) + qualifiers |= qualified_type_def::CV_CONST; + else if (type_kind == CTF_K_VOLATILE) + qualifiers |= qualified_type_def::CV_VOLATILE; + else if (type_kind == CTF_K_RESTRICT) + qualifiers |= qualified_type_def::CV_RESTRICT; + else + ABG_ASSERT_NOT_REACHED; + + result.reset(new qualified_type_def(utype, qualifiers, location())); + + if (result) + { + decl_base_sptr qualified_type_decl = get_type_declaration(result); + add_decl_to_scope(qualified_type_decl, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + } + + return result; +} + +/// Build and return a pointer type libabigail IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// @return a shared pointer to the IR node for the pointer type. + +static pointer_type_def_sptr +process_ctf_pointer_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + pointer_type_def_sptr result; + ctf_id_t ctf_target_type = ctf_type_reference(ctf_dictionary, ctf_type); + if (ctf_target_type == CTF_ERR) + return result; + + type_base_sptr target_type = lookup_type(ctxt, corp, tunit, + ctf_dictionary, + ctf_target_type); + if (!target_type) + return result; + + result = dynamic_pointer_cast<pointer_type_def>(ctxt->lookup_type(ctf_type)); + if (result) + return result; + + result.reset(new pointer_type_def(target_type, + ctf_type_size(ctf_dictionary, ctf_type) * 8, + ctf_type_align(ctf_dictionary, ctf_type) * 8, + location())); + if (result) + { + add_decl_to_scope(result, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + } + + return result; +} + +/// Build and return an enum type libabigail IR. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// @return a shared pointer to the IR node for the enum type. + +static enum_type_decl_sptr +process_ctf_enum_type(read_context *ctxt, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + enum_type_decl_sptr result; + + /* Build a signed integral type for the type of the enumerators, aka + the underlying type. The size of the enumerators in bytes is + specified in the CTF enumeration type. */ + size_t utype_size_in_bits = ctf_type_size(ctf_dictionary, ctf_type) * 8; + type_decl_sptr utype; + + utype.reset(new type_decl(ctxt->ir_env, + "", + utype_size_in_bits, + utype_size_in_bits, + location())); + utype->set_is_anonymous(true); + utype->set_is_artificial(true); + if (!utype) + return result; + add_decl_to_scope(utype, tunit->get_global_scope()); + canonicalize(utype); + + /* Iterate over the enum entries. */ + enum_type_decl::enumerators enms; + ctf_next_t *enum_next = NULL; + const char *ename; + int evalue; + + while ((ename = ctf_enum_next(ctf_dictionary, ctf_type, &enum_next, &evalue))) + enms.push_back(enum_type_decl::enumerator(ctxt->ir_env, ename, evalue)); + if (ctf_errno(ctf_dictionary) != ECTF_NEXT_END) + { + fprintf(stderr, "ERROR from ctf_enum_next\n"); + return result; + } + + const char *enum_name = ctf_type_name_raw(ctf_dictionary, ctf_type); + result.reset(new enum_type_decl(enum_name, location(), + utype, enms, enum_name)); + if (result) + { + add_decl_to_scope(result, tunit->get_global_scope()); + ctxt->add_type(ctf_type, result); + } + + return result; +} + +/// Add a new type declaration to the given libabigail IR corpus CORP. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the source type. +/// +/// Note that if @ref ctf_type can't reliably be translated to the IR +/// then it is simply ignored. +/// +/// @return a shared pointer to the IR node for the type. + +static type_base_sptr +process_ctf_type(read_context *ctxt, + corpus_sptr corp, + translation_unit_sptr tunit, + ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + int type_kind = ctf_type_kind(ctf_dictionary, ctf_type); + type_base_sptr result; + + if ((result = ctxt->lookup_type(ctf_type))) + return result; + + switch (type_kind) + { + case CTF_K_INTEGER: + case CTF_K_FLOAT: + { + type_decl_sptr type_decl + = process_ctf_base_type(ctxt, corp, tunit, ctf_dictionary, ctf_type); + result = is_type(type_decl); + break; + } + case CTF_K_TYPEDEF: + { + typedef_decl_sptr typedef_decl + = process_ctf_typedef(ctxt, corp, tunit, ctf_dictionary, ctf_type); + result = is_type(typedef_decl); + break; + } + case CTF_K_POINTER: + { + pointer_type_def_sptr pointer_type + = process_ctf_pointer_type(ctxt, corp, tunit, ctf_dictionary, ctf_type); + result = pointer_type; + break; + } + case CTF_K_CONST: + case CTF_K_VOLATILE: + case CTF_K_RESTRICT: + { + type_base_sptr qualified_type + = process_ctf_qualified_type(ctxt, corp, tunit, ctf_dictionary, ctf_type); + result = qualified_type; + break; + } + case CTF_K_ARRAY: + { + array_type_def_sptr array_type + = process_ctf_array_type(ctxt, corp, tunit, ctf_dictionary, ctf_type); + result = array_type; + break; + } + case CTF_K_ENUM: + { + enum_type_decl_sptr enum_type + = process_ctf_enum_type(ctxt, tunit, ctf_dictionary, ctf_type); + result = enum_type; + break; + } + case CTF_K_FUNCTION: + { + function_type_sptr function_type + = process_ctf_function_type(ctxt, corp, tunit, ctf_dictionary, ctf_type); + result = function_type; + break; + } + case CTF_K_STRUCT: + { + class_decl_sptr struct_decl + = process_ctf_struct_type(ctxt, corp, tunit, ctf_dictionary, ctf_type); + result = is_type(struct_decl); + break; + } + case CTF_K_UNION: + { + union_decl_sptr union_decl + = process_ctf_union_type(ctxt, corp, tunit, ctf_dictionary, ctf_type); + result = is_type(union_decl); + break; + } + case CTF_K_UNKNOWN: + /* Unknown types are simply ignored. */ + default: + break; + } + + if (!result) + fprintf(stderr, "NOT PROCESSED TYPE %lu\n", ctf_type); + + return result; +} + +/// Given a CTF type id, lookup the corresponding libabigail IR type. +/// If the IR type hasn't been generated yet, generate it. +/// +/// @param ctxt the read context. +/// @param corp the libabigail IR corpus being constructed. +/// @param tunit the current IR translation unit. +/// @param ctf_dictionary the CTF dictionary being read. +/// @param ctf_type the CTF type ID of the looked type. +/// +/// Note that if @ref ctf_type can't reliably be translated to the IR +/// then a NULL shared pointer is returned. +/// +/// @return a shared pointer to the IR node for the type. + +static type_base_sptr +lookup_type(read_context *ctxt, corpus_sptr corp, + translation_unit_sptr tunit, ctf_dict_t *ctf_dictionary, + ctf_id_t ctf_type) +{ + type_base_sptr result = ctxt->lookup_type(ctf_type); + + if (!result) + result = process_ctf_type(ctxt, corp, tunit, ctf_dictionary, ctf_type); + return result; +} + +/// Process a CTF archive and create libabigail IR for the types, +/// variables and function declarations found in the archive. The IR +/// is added to the given corpus. +/// +/// @param ctxt the read context containing the CTF archive to +/// process. +/// @param corp the IR corpus to which add the new contents. + +static void +process_ctf_archive(read_context *ctxt, corpus_sptr corp) +{ + /* We only have a translation unit. */ + translation_unit_sptr ir_translation_unit = + std::make_shared<translation_unit>(ctxt->ir_env, "", 64); + ir_translation_unit->set_language(translation_unit::LANG_C); + corp->add(ir_translation_unit); + + /* Iterate over the CTF dictionaries in the archive. */ + int ctf_err; + ctf_dict_t *ctf_dict; + ctf_next_t *dict_next = NULL; + const char *archive_name; + + while ((ctf_dict = ctf_archive_next(ctxt->ctfa, &dict_next, &archive_name, + 0 /* skip_parent */, &ctf_err)) != NULL) + { + /* Iterate over the CTF types stored in this archive. */ + ctf_id_t ctf_type; + int type_flag; + ctf_next_t *type_next = NULL; + + while ((ctf_type = ctf_type_next(ctf_dict, &type_next, &type_flag, + 1 /* want_hidden */)) != CTF_ERR) + { + process_ctf_type(ctxt, corp, ir_translation_unit, + ctf_dict, ctf_type); + } + if (ctf_errno(ctf_dict) != ECTF_NEXT_END) + fprintf(stderr, "ERROR from ctf_type_next\n"); + + /* Canonicalize all the types generated above. This must be + done "a posteriori" because the processing of types may + require other related types to not be already + canonicalized. */ + ctxt->canonicalize_all_types(); + + /* Iterate over the CTF variables stored in this archive. */ + ctf_id_t ctf_var_type; + ctf_next_t *var_next = NULL; + const char *var_name; + + while ((ctf_var_type = ctf_variable_next(ctf_dict, &var_next, &var_name)) + != CTF_ERR) + { + type_base_sptr var_type = lookup_type(ctxt, corp, ir_translation_unit, + ctf_dict, ctf_var_type); + if (!var_type) + /* Ignore variable if its type can't be sorted out. */ + continue; + + var_decl_sptr var_declaration; + var_declaration.reset(new var_decl(var_name, + var_type, + location(), + var_name)); + + add_decl_to_scope(var_declaration, + ir_translation_unit->get_global_scope()); + } + if (ctf_errno(ctf_dict) != ECTF_NEXT_END) + fprintf(stderr, "ERROR from ctf_variable_next\n"); + + /* Iterate over the CTF functions stored in this archive. */ + ctf_next_t *func_next = NULL; + const char *func_name = NULL; + ctf_id_t ctf_sym; + + while ((ctf_sym = ctf_symbol_next(ctf_dict, &func_next, &func_name, + 1 /* functions symbols only */) != CTF_ERR)) + { + ctf_id_t ctf_func_type = ctf_lookup_by_name(ctf_dict, func_name); + type_base_sptr func_type = lookup_type(ctxt, corp, ir_translation_unit, + ctf_dict, ctf_func_type); + if (!func_type) + /* Ignore function if its type can't be sorted out. */ + continue; + + elf_symbols func_elf_symbols = ctxt->symtab->lookup_symbol(func_name); + if (func_elf_symbols.size() == 0 + || func_elf_symbols[0]->get_binding() == elf_symbol::LOCAL_BINDING) + /* Ignore local functions. */ + continue; + + function_decl_sptr func_declaration; + func_declaration.reset(new function_decl(func_name, + func_type, + 0 /* is_inline */, + location())); + + add_decl_to_scope(func_declaration, + ir_translation_unit->get_global_scope()); + } + if (ctf_errno(ctf_dict) != ECTF_NEXT_END) + fprintf(stderr, "ERROR from ctf_symbol_next\n"); + + ctf_dict_close(ctf_dict); + } + if (ctf_err != ECTF_NEXT_END) + fprintf(stderr, "ERROR from ctf_archive_next\n"); + +} + +/// Open the ELF file described by the given read context. +/// +/// @param ctxt the read context. +/// @return 0 if the ELF file can't be opened. +/// @return 1 otherwise. + +static int +open_elf_handler(read_context *ctxt) +{ + /* libelf requires to negotiate/set the version of ELF. */ + if (elf_version(EV_CURRENT) == EV_NONE) + return 0; + + /* Open an ELF handler. */ + ctxt->elf_fd = open(ctxt->filename.c_str(), O_RDONLY); + if (ctxt->elf_fd == -1) + return 0; + + ctxt->elf_handler = elf_begin(ctxt->elf_fd, ELF_C_READ, NULL); + if (ctxt->elf_handler == NULL) + { + fprintf(stderr, "cannot open %s: %s\n", + ctxt->filename.c_str(), elf_errmsg(elf_errno())); + close(ctxt->elf_fd); + return 0; + } + + return 1; +} + +/// Close the ELF file described by the given read context. +/// +/// @param ctxt the read context. + +static void +close_elf_handler (read_context *ctxt) +{ + /* Finish the ELF handler and close the associated file. */ + elf_end(ctxt->elf_handler); + close(ctxt->elf_fd); +} + +/// Fill a CTF section description with the information in a given ELF +/// section. +/// +/// @param elf_section the ELF section from which to get. +/// @param ctf_section the CTF section to fill with the raw data. + +static void +fill_ctf_section(Elf_Scn *elf_section, ctf_sect_t *ctf_section) +{ + GElf_Shdr section_header_mem, *section_header; + Elf_Data *section_data; + + section_header = gelf_getshdr(elf_section, §ion_header_mem); + section_data = elf_getdata(elf_section, 0); + + ABG_ASSERT (section_header != NULL); + ABG_ASSERT (section_data != NULL); + + ctf_section->cts_name = ""; /* This is not actually used by libctf. */ + ctf_section->cts_data = (char *) section_data->d_buf; + ctf_section->cts_size = section_data->d_size; + ctf_section->cts_entsize = section_header->sh_entsize; +} + +/// Slurp certain information from the ELF file described by a given +/// read context and install it in a libabigail corpus. +/// +/// @param ctxt the read context +/// @param corp the libabigail corpus in which to install the info. +/// +/// @return 0 if there is an error. +/// @return 1 otherwise. + +static int +slurp_elf_info(read_context *ctxt, corpus_sptr corp) +{ + /* Set the ELF architecture. */ + GElf_Ehdr eh_mem; + GElf_Ehdr *ehdr = gelf_getehdr(ctxt->elf_handler, &eh_mem); + corp->set_architecture_name(elf_helpers::e_machine_to_string(ehdr->e_machine)); + + /* Read the symtab from the ELF file and set it in the corpus. */ + ctxt->symtab = + symtab_reader::symtab::load(ctxt->elf_handler, ctxt->ir_env, + 0 /* No suppressions. */); + corp->set_symtab(ctxt->symtab); + + /* Get the raw ELF section contents for libctf. */ + Elf_Scn *ctf_scn = elf_helpers::find_section(ctxt->elf_handler, ".ctf", SHT_PROGBITS); + Elf_Scn *symtab_scn = elf_helpers::find_symbol_table_section(ctxt->elf_handler); + Elf_Scn *strtab_scn = elf_helpers::find_strtab_for_symtab_section(ctxt->elf_handler, + symtab_scn); + + if (ctf_scn == NULL || symtab_scn == NULL || strtab_scn == NULL) + return 0; + + fill_ctf_section(ctf_scn, &ctxt->ctf_sect); + fill_ctf_section(symtab_scn, &ctxt->symtab_sect); + fill_ctf_section(strtab_scn, &ctxt->strtab_sect); + + return 1; +} + +/// Create and return a new read context to process CTF information +/// from a given ELF file. +/// +/// @param elf_path the patch of some ELF file. +/// @param env a libabigail IR environment. + +read_context_sptr +create_read_context(const std::string& elf_path, + ir::environment *env) +{ + read_context_sptr result(new read_context(elf_path, env)); + return result; +} + +/// Read the CTF information from some source described by a given +/// read context and process it to create a libabigail IR corpus. +/// Store the corpus in the same read context. +/// +/// @param ctxt the read context to use. +/// +/// @param status the resulting status of the corpus read. +/// +/// @return a shared pointer to the read corpus. + +corpus_sptr +read_corpus(read_context *ctxt, elf_reader::status &status) +{ + corpus_sptr corp + = std::make_shared<corpus>(ctxt->ir_env, ctxt->filename); + + /* Be optimist. */ + status = elf_reader::STATUS_OK; + + /* Open the ELF file. */ + if (!open_elf_handler(ctxt)) + { + status = elf_reader::STATUS_DEBUG_INFO_NOT_FOUND; + return corp; + } + + /* Set some properties of the corpus first. */ + corp->set_origin(corpus::CTF_ORIGIN); + if (!slurp_elf_info(ctxt, corp)) + { + status = elf_reader::STATUS_NO_SYMBOLS_FOUND; + return corp; + } + + /* Build the ctfa from the contents of the relevant ELF sections, + and process the CTF archive in the read context, if any. + Information about the types, variables, functions, etc contained + in the archive are added to the given corpus. */ + int errp; + ctxt->ctfa = ctf_arc_bufopen(&ctxt->ctf_sect, &ctxt->symtab_sect, + &ctxt->strtab_sect, &errp); + if (ctxt->ctfa == NULL) + status = elf_reader::STATUS_DEBUG_INFO_NOT_FOUND; + else + process_ctf_archive(ctxt, corp); + + /* Cleanup and return. */ + close_elf_handler(ctxt); + return corp; +} + +/// Read the CTF information from some source described by a given +/// read context and process it to create a libabigail IR corpus. +/// Store the corpus in the same read context. +/// +/// @param ctxt the read context to use. +/// +/// @param status the resulting status of the corpus read. +/// +/// @return a shared pointer to the read corpus. + +corpus_sptr +read_corpus(const read_context_sptr &ctxt, elf_reader::status &status) +{return read_corpus(ctxt.get(), status);} + +} // End of namespace ctf_reader +} // End of namespace abigail
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 160f443..ffcf749 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc
@@ -56,6 +56,7 @@ #endif using std::string; +using namespace abigail::elf_reader; namespace abigail { @@ -824,10 +825,6 @@ elf_symbol::binding sym_binding; elf_symbol::visibility sym_visibility; bool found = false; - Elf_Scn *strings_section = find_ksymtab_strings_section(elf_handle); - size_t strings_ndx = strings_section - ? elf_ndxscn(strings_section) - : 0; do { @@ -856,8 +853,7 @@ sym_binding, symbol.st_shndx != SHN_UNDEF, symbol.st_shndx == SHN_COMMON, - ver, sym_visibility, - symbol.st_shndx == strings_ndx); + ver, sym_visibility); syms_found.push_back(symbol_found); found = true; } @@ -1103,10 +1099,6 @@ elf_symbol::type sym_type; elf_symbol::binding sym_binding; elf_symbol::visibility sym_visibility; - Elf_Scn *strings_section = find_ksymtab_strings_section(elf_handle); - size_t strings_ndx = strings_section - ? elf_ndxscn(strings_section) - : 0; // Let's walk the hash table and record the versions of all the // symbols which name equal sym_name. @@ -1151,8 +1143,7 @@ sym_type, sym_binding, symbol.st_shndx != SHN_UNDEF, symbol.st_shndx == SHN_COMMON, - ver, sym_visibility, - symbol.st_shndx == strings_ndx); + ver, sym_visibility); syms_found.push_back(symbol_found); found = true; } @@ -1275,10 +1266,6 @@ char* name_str = 0; elf_symbol::version ver; bool found = false; - Elf_Scn *strings_section = find_ksymtab_strings_section(elf_handle); - size_t strings_ndx = strings_section - ? elf_ndxscn(strings_section) - : 0; for (size_t i = 0; i < symcount; ++i) { @@ -1307,8 +1294,7 @@ elf_symbol::create(env, i, sym->st_size, name_str, sym_type, sym_binding, sym_is_defined, - sym_is_common, ver, sym_visibility, - sym->st_shndx == strings_ndx); + sym_is_common, ver, sym_visibility); syms_found.push_back(symbol_found); found = true; } @@ -2130,7 +2116,6 @@ corpus::exported_decls_builder* exported_decls_builder_; options_type options_; bool drop_undefined_syms_; - bool merge_translation_units_; read_context(); private: @@ -2274,7 +2259,6 @@ options_.load_in_linux_kernel_mode = linux_kernel_mode; options_.load_all_types = load_all_types; drop_undefined_syms_ = false; - merge_translation_units_ = false; load_in_linux_kernel_mode(linux_kernel_mode); } @@ -2362,22 +2346,6 @@ drop_undefined_syms(bool f) {drop_undefined_syms_ = f;} - /// Setter for the flag that tells us if we are merging translation - /// units. - /// - /// @param f the new value of the flag. - void - merge_translation_units(bool f) - {merge_translation_units_ = f;} - - /// Getter for the flag that tells us if we are merging translation - /// units. - /// - /// @return true iff we are merging translation units. - bool - merge_translation_units() const - {return merge_translation_units_;} - /// Getter of the suppression specifications to be used during /// ELF/DWARF parsing. /// @@ -4180,10 +4148,13 @@ const environment* e = l->get_environment(); ABG_ASSERT(!e->canonicalization_is_done()); - bool s = e->decl_only_class_equals_definition(); + bool s0 = e->decl_only_class_equals_definition(); + bool s1 = e->use_enum_binary_only_equality(); e->decl_only_class_equals_definition(true); + e->use_enum_binary_only_equality(true); bool equal = l == r; - e->decl_only_class_equals_definition(s); + e->decl_only_class_equals_definition(s0); + e->use_enum_binary_only_equality(s1); return equal; } @@ -4651,6 +4622,12 @@ ABG_ASSERT(is_member_function(i->second)); ABG_ASSERT(get_member_function_is_virtual(i->second)); i->second->set_symbol(sym); + // The function_decl now has an associated (public) ELF symbol so + // it ought to be advertised as being public. + i->second->set_is_in_public_symbol_table(true); + // Add the function to the set of exported decls of the + // current corpus. + maybe_add_fn_to_exported_decls(i->second.get()); if (do_log()) cerr << "fixed up '" << i->second->get_pretty_representation() @@ -6181,10 +6158,10 @@ bool is_required_decl_spec = false); static void -finish_member_function_reading(Dwarf_Die* die, - const function_decl_sptr& f, - const class_or_union_sptr& klass, - read_context& ctxt); +finish_member_function_reading(Dwarf_Die* die, + const function_decl_sptr& f, + const class_or_union_sptr klass, + read_context& ctxt); /// Setter of the debug info root path for a dwarf reader context. /// @@ -6244,17 +6221,6 @@ set_drop_undefined_syms(read_context& ctxt, bool f) {ctxt.drop_undefined_syms(f);} -/// Setter of the "merge_translation_units" flag. -/// -/// This flag tells if we should merge translation units. -/// -/// @param ctxt the read context to consider for this flag. -/// -/// @param f the value of the flag. -void -set_merge_translation_units(read_context& ctxt, bool f) -{ctxt.merge_translation_units(f);} - /// Setter of the "do_log" flag. /// /// This flag tells if we should emit verbose logs for various @@ -6479,15 +6445,15 @@ /// @return true if the DIE has a flag attribute named @p attr_name, /// false otherwise. static bool -die_flag_attribute(Dwarf_Die* die, +die_flag_attribute(const Dwarf_Die* die, unsigned attr_name, bool& flag, bool recursively = true) { Dwarf_Attribute attr; if (recursively - ? !dwarf_attr_integrate(die, attr_name, &attr) - : !dwarf_attr(die, attr_name, &attr)) + ? !dwarf_attr_integrate(const_cast<Dwarf_Die*>(die), attr_name, &attr) + : !dwarf_attr(const_cast<Dwarf_Die*>(die), attr_name, &attr)) return false; bool f = false; @@ -6731,13 +6697,56 @@ /// @return true if a DW_AT_external attribute is present and its /// value is set to the true; return false otherwise. static bool -die_is_public_decl(Dwarf_Die* die) +die_is_public_decl(const Dwarf_Die* die) { bool is_public = false; die_flag_attribute(die, DW_AT_external, is_public); return is_public; } +/// Test if a DIE is effectively public. +/// +/// This is meant to return true when either the DIE is public or when +/// it's a variable DIE that is at (global) namespace level. +/// +/// @return true iff either the DIE is public or is a variable DIE +/// that is at (global) namespace level. +static bool +die_is_effectively_public_decl(const read_context& ctxt, + const Dwarf_Die* die) +{ + if (die_is_public_decl(die)) + return true; + + unsigned tag = dwarf_tag(const_cast<Dwarf_Die*>(die)); + if (tag == DW_TAG_variable || tag == DW_TAG_member) + { + // The DIE is a variable. + Dwarf_Die parent_die; + size_t where_offset = 0; + if (!get_parent_die(ctxt, die, parent_die, where_offset)) + return false; + + tag = dwarf_tag(&parent_die); + if (tag == DW_TAG_compile_unit + || tag == DW_TAG_partial_unit + || tag == DW_TAG_type_unit) + // The DIE is at global scope. + return true; + + if (tag == DW_TAG_namespace) + { + string name = die_name(&parent_die); + if (name.empty()) + // The DIE at unnamed namespace scope, so it's not public. + return false; + // The DIE is at namespace scope. + return true; + } + } + return false; +} + /// Test whether a given DIE represents a declaration-only DIE. /// /// That is, if the DIE has the DW_AT_declaration flag set. @@ -8459,31 +8468,35 @@ // </location expression evaluation> // ----------------------------------- -/// Convert the value of the DW_AT_bit_offset attribute into the value -/// of the DW_AT_data_bit_offset attribute. +/// Convert a DW_AT_bit_offset attribute value into the same value as +/// DW_AT_data_bit_offset - 8 * DW_AT_data_member_location. /// /// On big endian machines, the value of the DW_AT_bit_offset +/// attribute + 8 * the value of the DW_AT_data_member_location /// attribute is the same as the value of the DW_AT_data_bit_offset /// attribute. /// /// On little endian machines however, the situation is different. /// The DW_AT_bit_offset value for a bit field is the number of bits -/// to the left of the most significant bit of the bit field. +/// to the left of the most significant bit of the bit field, within +/// the integer value at DW_AT_data_member_location. /// /// The DW_AT_data_bit_offset offset value is the number of bits to -/// the right of the least significant bit of the bit field. +/// the right of the least significant bit of the bit field, again +/// relative to the containing integer value. /// /// In other words, DW_AT_data_bit_offset is what everybody would -/// instinctively think of as being the "offset of the bit -/// field". DW_AT_bit_offset however is very counter-intuitive on -/// little endian machines. +/// instinctively think of as being the "offset of the bit field". 8 * +/// DW_AT_data_member_location + DW_AT_bit_offset however is very +/// counter-intuitive on little endian machines. /// /// This function thus reads the value of a DW_AT_bit_offset property /// of a DIE and converts it into what the DW_AT_data_bit_offset would -/// have been if it was present. +/// have been if it was present, ignoring the contribution of +/// DW_AT_data_member_location. /// /// Note that DW_AT_bit_offset has been made obsolete starting from -/// DWARF5. +/// DWARF5 (for GCC; Clang still emits it). /// /// If you like coffee and it's not too late, now might be a good time /// to have a coffee break. Otherwise if it's late at night, you @@ -8491,6 +8504,9 @@ /// read this. /// /// +/// In what follows, the bit fields are all contained within the first +/// whole int of the struct, so DW_AT_data_member_location is 0. +/// /// Okay, to have a better idea of what DW_AT_bit_offset and /// DW_AT_data_bit_offset represent, let's consider a struct 'S' which /// have bit fields data members defined as: @@ -8631,8 +8647,9 @@ /// /// @param offset this is the output parameter into which the value of /// the DW_AT_bit_offset is put, converted as if it was the value of -/// the DW_AT_data_bit_offset parameter. This parameter is set iff -/// the function returns true. +/// the DW_AT_data_bit_offset parameter, less the contribution of +/// DW_AT_data_member_location. This parameter is set iff the +/// function returns true. /// /// @return true if DW_AT_bit_offset was found on @p die. static bool @@ -8676,6 +8693,37 @@ return true; } +/// Get the value of the DW_AT_data_member_location of the given DIE +/// attribute as an constant. +/// +/// @param die the DIE to read the attribute from. +/// +/// @param offset the attribute as a constant value. This is set iff +/// the function returns true. +/// +/// @return true if the attribute exists and has a constant value. In +/// that case the offset is set to the value. +static bool +die_constant_data_member_location(const Dwarf_Die *die, + int64_t& offset) +{ + if (!die) + return false; + + Dwarf_Attribute attr; + if (!dwarf_attr(const_cast<Dwarf_Die*>(die), + DW_AT_data_member_location, + &attr)) + return false; + + Dwarf_Word val; + if (dwarf_formudata(&attr, &val) != 0) + return false; + + offset = val; + return true; +} + /// Get the offset of a struct/class member as represented by the /// value of the DW_AT_data_member_location attribute. /// @@ -8683,12 +8731,13 @@ /// DW_AT_data_member_location is not necessarily a constant that one /// would just read and be done with it. Rather, it can be a DWARF /// expression that one has to interpret. In general, the offset can -/// be given by the DW_AT_bit_offset or DW_AT_data_bit_offset -/// attribute. In that case the offset is a constant. But it can -/// also be given by the DW_AT_data_member_location attribute. In -/// that case it's a DWARF location expression. +/// be given by the DW_AT_data_bit_offset or by the +/// DW_AT_data_member_location attribute and optionally the +/// DW_AT_bit_offset attribute. The bit offset attributes are +/// always simple constants, but the DW_AT_data_member_location +/// attribute is a DWARF location expression. /// -/// When the it's the DW_AT_data_member_location that is present, +/// When it's the DW_AT_data_member_location that is present, /// there are three cases to possibly take into account: /// /// 1/ The offset in the vtable where the offset of a virtual base @@ -8717,12 +8766,12 @@ /// the offset of the function in the vtable. In this case this /// function returns that constant. /// -///@param ctxt the read context to consider. +/// @param ctxt the read context to consider. /// -///@param die the DIE to read the information from. +/// @param die the DIE to read the information from. /// -///@param offset the resulting constant offset, in bits. This -///argument is set iff the function returns true. +/// @param offset the resulting constant offset, in bits. This +/// argument is set iff the function returns true. static bool die_member_offset(const read_context& ctxt, const Dwarf_Die* die, @@ -8730,49 +8779,62 @@ { Dwarf_Op* expr = NULL; uint64_t expr_len = 0; - uint64_t off = 0; + uint64_t bit_offset = 0; // First let's see if the DW_AT_data_bit_offset attribute is // present. - if (die_unsigned_constant_attribute(die, DW_AT_data_bit_offset, off)) + if (die_unsigned_constant_attribute(die, DW_AT_data_bit_offset, bit_offset)) { - offset = off; + offset = bit_offset; return true; } - // Otherwise, let's see if the DW_AT_bit_offset attribute is - // present. On little endian machines, we need to convert this - // attribute into what it would have been if the - // DW_AT_data_bit_offset was used instead. In other words, - // DW_AT_bit_offset needs to be converted into a - // human-understandable form that represents the offset of the - // bitfield data member it describes. For details about the - // conversion, please read the extensive comments of + // First try to read DW_AT_data_member_location as a plain constant. + // We do this because the generic method using die_location_expr + // might hit a bug in elfutils libdw dwarf_location_expression only + // fixed in elfutils 0.184+. The bug only triggers if the attribute + // is expressed as a (DWARF 5) DW_FORM_implicit_constant. But we + // handle all constants here because that is more consistent (and + // slightly faster in the general case where the attribute isn't a + // full DWARF expression). + if (!die_constant_data_member_location(die, offset)) + { + // Otherwise, let's see if the DW_AT_data_member_location + // attribute and, optionally, the DW_AT_bit_offset attributes + // are present. + if (!die_location_expr(die, DW_AT_data_member_location, + &expr, &expr_len)) + return false; + + // The DW_AT_data_member_location attribute is present. Let's + // evaluate it and get its constant sub-expression and return + // that one. + if (!eval_quickly(expr, expr_len, offset)) + { + bool is_tls_address = false; + if (!eval_last_constant_dwarf_sub_expr(expr, expr_len, + offset, is_tls_address, + ctxt.dwarf_expr_eval_ctxt())) + return false; + } + } + offset *= 8; + + // On little endian machines, we need to convert the + // DW_AT_bit_offset attribute into a relative offset to 8 * + // DW_AT_data_member_location equal to what DW_AT_data_bit_offset + // would be if it were used instead. + // + // In other words, before adding it to 8 * + // DW_AT_data_member_location, DW_AT_bit_offset needs to be + // converted into a human-understandable form that represents the + // offset of the bitfield data member it describes. For details + // about the conversion, please read the extensive comments of // read_and_convert_DW_at_bit_offset. bool is_big_endian = architecture_is_big_endian(ctxt.elf_handle()); - if (read_and_convert_DW_at_bit_offset(die, is_big_endian, off)) - { - offset = off; - return true; - } + if (read_and_convert_DW_at_bit_offset(die, is_big_endian, bit_offset)) + offset += bit_offset; - if (!die_location_expr(die, DW_AT_data_member_location, &expr, &expr_len)) - return false; - - // Otherwise, the DW_AT_data_member_location attribute is present. - // In that case, let's evaluate it and get its constant - // sub-expression and return that one. - - if (!eval_quickly(expr, expr_len, offset)) - { - bool is_tls_address = false; - if (!eval_last_constant_dwarf_sub_expr(expr, expr_len, - offset, is_tls_address, - ctxt.dwarf_expr_eval_ctxt())) - return false; - } - - offset *= 8; return true; } @@ -8796,18 +8858,31 @@ uint64_t expr_len = 0; is_tls_address = false; - if (!die_location_expr(die, DW_AT_location, &expr, &expr_len)) + + if (!die) return false; - int64_t addr = 0; - if (!eval_last_constant_dwarf_sub_expr(expr, expr_len, addr, is_tls_address)) + Dwarf_Attribute attr; + if (!dwarf_attr_integrate(const_cast<Dwarf_Die*>(die), DW_AT_location, &attr)) return false; - address = addr; + if (dwarf_getlocation(&attr, &expr, &expr_len)) + return false; + // Ignore location expressions where reading them succeeded but + // their length is 0. + if (expr_len == 0) + return false; + + Dwarf_Attribute result; + if (!dwarf_getlocation_attr(&attr, expr, &result)) + // A location that has been interpreted as an address. + return !dwarf_formaddr(&result, &address); + + // Just get the address out of the number field. + address = expr->number; return true; } - /// Return the index of a function in its virtual table. That is, /// return the value of the DW_AT_vtable_elem_location attribute. /// @@ -9672,6 +9747,7 @@ // this to be a lot of hassle for no great return. Until proven // otherwise, of course. repr = "string type"; + break; case DW_TAG_unspecified_type: case DW_TAG_ptr_to_member_type: @@ -10276,6 +10352,16 @@ } if (found_l_child != found_r_child) result = false; + // Compare the types of the elements of the array. + Dwarf_Die ltype_die, rtype_die; + bool found_ltype = die_die_attribute(l, DW_AT_type, ltype_die); + bool found_rtype = die_die_attribute(r, DW_AT_type, rtype_die); + ABG_ASSERT(found_ltype && found_rtype); + + if (!compare_dies(ctxt, <ype_die, &rtype_die, + aggregates_being_compared, + update_canonical_dies_on_the_fly)) + return false; } break; @@ -11069,8 +11155,8 @@ return translation_unit::LANG_Ada95; case DW_LANG_Fortran95: return translation_unit::LANG_Fortran95; - case DW_LANG_PL1: - return translation_unit::LANG_PL1; + case DW_LANG_PLI: + return translation_unit::LANG_PLI; case DW_LANG_ObjC: return translation_unit::LANG_ObjC; case DW_LANG_ObjC_plus_plus: @@ -11176,7 +11262,7 @@ case translation_unit::LANG_Java: value = 0; break; - case translation_unit::LANG_PL1: + case translation_unit::LANG_PLI: value = 1; break; case translation_unit::LANG_UPC: @@ -11267,50 +11353,29 @@ } string compilation_dir = die_string_attribute(die, DW_AT_comp_dir); - uint64_t lang = 0; - die_unsigned_constant_attribute(die, DW_AT_language, lang); - translation_unit::language language = dwarf_language_to_tu_language(lang); - - corpus_sptr corp = ctxt.current_corpus(); - - if (ctxt.merge_translation_units()) - { - // See if there is already a translation for the address_size - // and language. If so, just reuse that one. - for (const auto& tu : corp->get_translation_units()) - { - if (tu->get_address_size() == address_size - && tu->get_language() == language) - { - result = tu; - break; - } - } - } - else - { - // See if the same translation unit exits already in the current - // corpus. Sometimes, the same translation unit can be present - // several times in the same debug info. The content of the - // different instances of the translation unit are different. So to - // represent that, we are going to re-use the same translation - // unit. That is, it's going to be the union of all the translation - // units of the same path. - const std::string& abs_path = - compilation_dir.empty() ? path : compilation_dir + "/" + path; - result = corp->find_translation_unit(abs_path); - } + // See if the same translation unit exits already in the current + // corpus. Sometimes, the same translation unit can be present + // several times in the same debug info. The content of the + // different instances of the translation unit are different. So to + // represent that, we are going to re-use the same translation + // unit. That is, it's going to be the union of all the translation + // units of the same path. + { + const string& abs_path = + compilation_dir.empty() ? path : compilation_dir + "/" + path; + result = ctxt.current_corpus()->find_translation_unit(abs_path); + } if (!result) { result.reset(new translation_unit(ctxt.env(), - (ctxt.merge_translation_units() - ? "" : path), + path, address_size)); - if (!ctxt.merge_translation_units()) - result->set_compilation_dir_path(compilation_dir); + result->set_compilation_dir_path(compilation_dir); ctxt.current_corpus()->add(result); - result->set_language(language); + uint64_t l = 0; + die_unsigned_constant_attribute(die, DW_AT_language, l); + result->set_language(dwarf_language_to_tu_language(l)); } ctxt.cur_transl_unit(result); @@ -11689,10 +11754,10 @@ /// /// @param ctxt the context used to read the ELF/DWARF information. static void -finish_member_function_reading(Dwarf_Die* die, - const function_decl_sptr& f, - const class_or_union_sptr& klass, - read_context& ctxt) +finish_member_function_reading(Dwarf_Die* die, + const function_decl_sptr& f, + const class_or_union_sptr klass, + read_context& ctxt) { ABG_ASSERT(klass); @@ -11768,7 +11833,8 @@ set_member_access_specifier(m, access); if (vindex != -1) set_member_function_vtable_offset(m, vindex); - set_member_function_is_virtual(m, is_virtual); + if (is_virtual) + set_member_function_is_virtual(m, is_virtual); set_member_is_static(m, is_static); set_member_function_is_ctor(m, is_ctor); set_member_function_is_dtor(m, is_dtor); @@ -12183,6 +12249,9 @@ if (klass) { res = result = klass; + if (has_child && klass->get_is_declaration_only() + && klass->get_definition_of_declaration()) + res = result = is_class_type(klass->get_definition_of_declaration()); if (loc) result->set_location(loc); } @@ -12200,7 +12269,7 @@ ABG_ASSERT(result); } - if (size) + if (size != result->get_size_in_bits()) result->set_size_in_bits(size); if (klass) @@ -12834,28 +12903,12 @@ decl_base_sptr result = t; type_base_sptr u = t->get_underlying_type(); - environment* env = t->get_environment(); - if (t->get_cv_quals() & qualified_type_def::CV_CONST - && (is_reference_type(u))) - { - // Let's strip only the const qualifier. To do that, the "const" - // qualified is turned into a no-op "none" qualified. - result.reset(new qualified_type_def - (u, t->get_cv_quals() & ~qualified_type_def::CV_CONST, - t->get_location())); - ctxt.schedule_type_for_late_canonicalization(is_type(result)); - } - else if (t->get_cv_quals() & qualified_type_def::CV_CONST - && env->is_void_type(u)) - { - // So this type is a "const void". Let's strip the "const" - // qualifier out and make this just be "void", so that a "const - // void" type and a "void" type compare equal after going through - // this function. - result = is_decl(u); - } - else if (is_array_type(u) || is_typedef_of_array(u)) + result = strip_useless_const_qualification(t); + if (result.get() != t.get()) + return result; + + if (is_array_type(u) || is_typedef_of_array(u)) { array_type_def_sptr array; scope_decl * scope = 0; @@ -13187,7 +13240,6 @@ /*alignment=*/0)); ctxt.associate_die_to_type(die, result, where_offset); ctxt.die_wip_function_types_map(source)[dwarf_dieoffset(die)] = result; - ctxt.associate_die_repr_to_fn_type_per_tu(die, result); type_base_sptr return_type; Dwarf_Die ret_type_die; @@ -13263,6 +13315,10 @@ tu->bind_function_type_life_time(result); + result->set_is_artificial(true); + + ctxt.associate_die_repr_to_fn_type_per_tu(die, result); + { die_function_type_map_type::const_iterator i = ctxt.die_wip_function_types_map(source). @@ -13607,9 +13663,15 @@ ABG_ASSERT(utype); result.reset(new typedef_decl(name, utype, loc, linkage_name)); - if (class_decl_sptr klass = is_class_type(utype)) - if (is_anonymous_type(klass)) - klass->set_naming_typedef(result); + if ((is_class_or_union_type(utype) || is_enum_type(utype)) + && is_anonymous_type(utype)) + { + // This is a naming typedef for an enum or a class. Let's + // mark the underlying decl as such. + decl_base_sptr decl = is_decl(utype); + ABG_ASSERT(decl); + decl->set_naming_typedef(result); + } } ctxt.associate_die_to_type(die, result, where_offset); @@ -13841,6 +13903,16 @@ /// Note that if a member function declaration with the same signature /// (pretty representation) as one of the DIE we are looking at /// exists, this function returns that existing function declaration. +/// Similarly, if there is already a constructed member function with +/// the same linkage name as the one on the DIE, this function returns +/// that member function. +/// +/// Also note that the function_decl IR returned by this function must +/// be passed to finish_member_function_reading because several +/// properties from the DIE are actually read by that function, and +/// the corresponding properties on the function_decl IR are updated +/// accordingly. This is done to support "updating" a function_decl +/// IR with properties scathered across several DIEs. /// /// @param ctxt the read context to use. /// @@ -13876,7 +13948,27 @@ if (function_is_suppressed(ctxt, scope, fn_die, is_declaration_only)) return fn; - if (!result) + string name = die_name(fn_die); + string linkage_name = die_linkage_name(fn_die); + bool is_dtor = !name.empty() && name[0]== '~'; + bool is_virtual = false; + if (is_dtor) + { + Dwarf_Attribute attr; + if (dwarf_attr_integrate(const_cast<Dwarf_Die*>(fn_die), + DW_AT_vtable_elem_location, + &attr)) + is_virtual = true; + } + + + // If we've already built an IR for a function with the same + // signature (from another DIE), reuse it, unless that function is a + // virtual C++ destructor. Several virtual C++ destructors with the + // same signature can be implemented by several different ELF + // symbols. So re-using C++ destructors like that can lead to us + // missing some destructors. + if (!result && (!(is_dtor && is_virtual))) if ((fn = is_function_decl(ctxt.lookup_artifact_from_die(fn_die)))) { fn = maybe_finish_function_decl_reading(ctxt, fn_die, where_offset, fn); @@ -13885,7 +13977,22 @@ return fn; } - fn = build_function_decl(ctxt, fn_die, where_offset, result); + // If a member function with the same linkage name as the one + // carried by the DIE already exists, then return it. + if (class_decl* klass = is_class_type(scope)) + { + string linkage_name = die_linkage_name(fn_die); + fn = klass->find_member_function_sptr(linkage_name); + } + + if (!fn || !fn->get_symbol()) + // We haven't yet been able to construct a function IR, or, we + // have one 'partial' function IR that doesn't have any associated + // symbol yet. Note that in the later case, a function IR without + // any associated symbol will be dropped on the floor by + // potential_member_fn_should_be_dropped. So let's build or a new + // function IR or complete the existing partial IR. + fn = build_function_decl(ctxt, fn_die, where_offset, result); return fn; } @@ -14091,6 +14198,7 @@ type_location, decl_base::VISIBILITY_DEFAULT)); klass->set_is_declaration_only(true); + klass->set_is_artificial(die_is_artificial(type_die)); add_decl_to_scope(klass, scope); ctxt.associate_die_to_type(type_die, klass, where_offset); ctxt.maybe_schedule_declaration_only_class_for_resolution(klass); @@ -14119,6 +14227,7 @@ underlying_type, enumeratorz, linkage_name)); + enum_type->set_is_artificial(die_is_artificial(type_die)); add_decl_to_scope(enum_type, scope); result = enum_type; } @@ -14148,8 +14257,7 @@ /*symbol is defined=*/ true, /*symbol is common=*/ false, /*symbol version=*/ ver, - /*symbol visibility=*/elf_symbol::DEFAULT_VISIBILITY, - /*symbol is linux string cst=*/false); + /*symbol visibility=*/elf_symbol::DEFAULT_VISIBILITY); return result; } @@ -14281,14 +14389,7 @@ read_debug_info_into_corpus(read_context& ctxt) { ctxt.clear_per_corpus_data(); - - if (!ctxt.current_corpus()) - { - corpus_sptr corp (new corpus(ctxt.env(), ctxt.elf_path())); - ctxt.current_corpus(corp); - if (!ctxt.env()) - ctxt.env(corp->get_environment()); - } + ctxt.current_corpus(std::make_shared<corpus>(ctxt.env(), ctxt.elf_path())); // First set some mundane properties of the corpus gathered from // ELF. @@ -14317,6 +14418,11 @@ ctxt.exported_decls_builder (ctxt.current_corpus()->get_exported_decls_builder().get()); +#ifdef WITH_DEBUG_SELF_COMPARISON + if (ctxt.env()->self_comparison_debug_is_on()) + ctxt.env()->set_self_comparison_debug_input(ctxt.current_corpus()); +#endif + // Walk all the DIEs of the debug info to build a DIE -> parent map // useful for get_die_parent() to work. { @@ -14489,6 +14595,11 @@ } } +#ifdef WITH_DEBUG_SELF_COMPARISON + if (ctxt.env()->self_comparison_debug_is_on()) + ctxt.env()->set_self_comparison_debug_input(ctxt.current_corpus()); +#endif + return ctxt.current_corpus(); } @@ -14558,6 +14669,8 @@ // types because they can be edited (in particular by // maybe_strip_qualification) after they are initially built. ctxt.schedule_type_for_late_canonicalization(die); + else if (is_decl(t) && is_decl(t)->get_is_anonymous()) + ctxt.schedule_type_for_late_canonicalization(t); else if ((is_function_type(t) && ctxt.is_wip_function_type_die_offset(die_offset, source)) || type_has_non_canonicalized_subtype(t)) @@ -14600,7 +14713,8 @@ || is_union_type(peeled_type) || is_function_type(peeled_type) || is_array_type(peeled_type) - || is_qualified_type(peeled_type)) + || is_qualified_type(peeled_type) + ||(is_decl(peeled_type) && is_decl(peeled_type)->get_is_anonymous())) // We delay canonicalization of classes/unions or typedef, // pointers, references and array to classes/unions. This is // because the (underlying) class might not be finished yet and we @@ -14857,13 +14971,16 @@ bool type_suppressed = type_is_suppressed(ctxt, scope, die, type_is_private); if (type_suppressed && type_is_private) - // The type is suppressed because it's private. If other - // non-suppressed and declaration-only instances of this - // type exist in the current corpus, then it means those - // non-suppressed instances are opaque versions of the - // suppressed private type. Lets return one of these opaque - // types then. - result = get_opaque_version_of_type(ctxt, scope, die, where_offset); + { + // The type is suppressed because it's private. If other + // non-suppressed and declaration-only instances of this + // type exist in the current corpus, then it means those + // non-suppressed instances are opaque versions of the + // suppressed private type. Lets return one of these opaque + // types then. + result = get_opaque_version_of_type(ctxt, scope, die, where_offset); + maybe_canonicalize_type(is_type(result), ctxt); + } else if (!type_suppressed) { enum_type_decl_sptr e = build_enum_type(ctxt, die, scope, @@ -14887,13 +15004,16 @@ type_is_suppressed(ctxt, scope, die, type_is_private); if (type_suppressed && type_is_private) - // The type is suppressed because it's private. If other - // non-suppressed and declaration-only instances of this - // type exist in the current corpus, then it means those - // non-suppressed instances are opaque versions of the - // suppressed private type. Lets return one of these opaque - // types then. - result = get_opaque_version_of_type(ctxt, scope, die, where_offset); + { + // The type is suppressed because it's private. If other + // non-suppressed and declaration-only instances of this + // type exist in the current corpus, then it means those + // non-suppressed instances are opaque versions of the + // suppressed private type. Lets return one of these opaque + // types then. + result = get_opaque_version_of_type(ctxt, scope, die, where_offset); + maybe_canonicalize_type(is_type(result), ctxt); + } else if (!type_suppressed) { Dwarf_Die spec_die; @@ -14970,6 +15090,7 @@ if (f) { result = f; + result->set_is_artificial(false); maybe_canonicalize_type(die, ctxt); } } @@ -15045,9 +15166,11 @@ || (var_is_cloned = die_die_attribute(die, DW_AT_abstract_origin, spec_die, false))) { - scope_decl_sptr spec_scope = get_scope_for_die(ctxt, &spec_die, - called_from_public_decl, - where_offset); + scope_decl_sptr spec_scope = + get_scope_for_die(ctxt, &spec_die, + /*called_from_public_decl=*/ + die_is_effectively_public_decl(ctxt, die), + where_offset); if (spec_scope) { decl_base_sptr d = @@ -15144,7 +15267,7 @@ called_from_public_decl, where_offset, is_declaration_only, - /*is_required_decl_spec=*/false)); + /*is_required_decl_spec=*/true)); if (d) { fn = dynamic_pointer_cast<function_decl>(d); @@ -15174,7 +15297,8 @@ if (result && !fn) { if (potential_member_fn_should_be_dropped(is_function_decl(result), - die)) + die) + && !is_required_decl_spec) { result.reset(); break; @@ -15356,8 +15480,18 @@ true); } + // Normaly, a decl that is meant to be external has a DW_AT_external + // set. But then some compilers fail to always emit that flag. For + // instance, for static data members, some compilers won't emit the + // DW_AT_external. In that case, we assume that if the variable is + // at global or named namespace scope, then we can assume it's + // external. If the variable doesn't have any ELF symbol associated + // to it, it'll be dropped on the floor anyway. Those variable + // decls are considered as being "effectively public". + bool consider_as_called_from_public_decl = + called_from_public_decl || die_is_effectively_public_decl(ctxt, die); scope_decl_sptr scope = get_scope_for_die(ctxt, die, - called_from_public_decl, + consider_as_called_from_public_decl, where_offset); return build_ir_node_from_die(ctxt, die, scope.get(), called_from_public_decl, @@ -15365,60 +15499,6 @@ true); } -status -operator|(status l, status r) -{ - return static_cast<status>(static_cast<unsigned>(l) - | static_cast<unsigned>(r)); -} - -status -operator&(status l, status r) -{ - return static_cast<status>(static_cast<unsigned>(l) - & static_cast<unsigned>(r)); -} - -status& -operator|=(status& l, status r) -{ - l = l | r; - return l; -} - -status& -operator&=(status& l, status r) -{ - l = l & r; - return l; -} - -/// Emit a diagnostic status with english sentences to describe the -/// problems encoded in a given abigail::dwarf_reader::status, if -/// there is an error. -/// -/// @param status the status to diagnose -/// -/// @return a string containing sentences that describe the possible -/// errors encoded in @p s. If there is no error to encode, then the -/// empty string is returned. -string -status_to_diagnostic_string(status s) -{ - string str; - - if (s & STATUS_DEBUG_INFO_NOT_FOUND) - str += "could not find debug info\n"; - - if (s & STATUS_ALT_DEBUG_INFO_NOT_FOUND) - str += "could not find alternate debug info\n"; - - if (s & STATUS_NO_SYMBOLS_FOUND) - str += "could not load ELF symbols\n"; - - return str; -} - /// Create a dwarf_reader::read_context. /// /// @param elf_path the path to the elf file the context is to be used for.
diff --git a/src/abg-elf-helpers.cc b/src/abg-elf-helpers.cc index 480381d..ee63183 100644 --- a/src/abg-elf-helpers.cc +++ b/src/abg-elf-helpers.cc
@@ -331,6 +331,51 @@ return 0; } +/// Find and return a section by its type. +/// +/// @param elf_handle the elf handle to use. +/// +/// @param section_type the type of the section. This is the +/// Elf32_Shdr::sh_type (or Elf64_Shdr::sh_type) data member. +/// Examples of values of this parameter are SHT_PROGBITS or SHT_NOBITS. +/// +/// @return the section found, or nil if none was found. +Elf_Scn* +find_section(Elf* elf_handle, Elf64_Word section_type) +{ + Elf_Scn* section = nullptr; + while ((section = elf_nextscn(elf_handle, section)) != 0) + { + GElf_Shdr header_mem, *header; + header = gelf_getshdr(section, &header_mem); + if (header->sh_type == section_type) + break; + } + return section; +} + +/// Find and return the .symtab section +/// +/// @param elf_handle the elf handle to use. +/// +/// @return the section found, or nil if none was found +Elf_Scn* +find_symtab_section(Elf* elf_handle) +{ + return find_section(elf_handle, SHT_SYMTAB); +} + +/// Find and return the .symtab section +/// +/// @param elf_handle the elf handle to use. +/// +/// @return the section found, or nil if none was found +Elf_Scn* +find_dynsym_section(Elf* elf_handle) +{ + return find_section(elf_handle, SHT_DYNSYM); +} + /// Find the symbol table. /// /// If we are looking at a relocatable or executable file, this @@ -346,16 +391,8 @@ Elf_Scn* find_symbol_table_section(Elf* elf_handle) { - Elf_Scn* section = 0, *dynsym = 0, *sym_tab = 0; - while ((section = elf_nextscn(elf_handle, section)) != 0) - { - GElf_Shdr header_mem, *header; - header = gelf_getshdr(section, &header_mem); - if (header->sh_type == SHT_DYNSYM) - dynsym = section; - else if (header->sh_type == SHT_SYMTAB) - sym_tab = section; - } + Elf_Scn *dynsym = find_dynsym_section(elf_handle), + *sym_tab = find_symtab_section(elf_handle); if (dynsym || sym_tab) { @@ -367,7 +404,7 @@ else return dynsym ? dynsym : sym_tab; } - return NULL; + return nullptr; } /// Find the index (in the section headers table) of the symbol table @@ -612,6 +649,29 @@ return NULL; } +/// Return the string table used by the given symbol table. +/// +/// @param elf_handle the elf handle to use. +/// +/// @param symtab_section section containing a symbol table. +/// +/// @return the string table linked by the symtab, if it is not NULL. +Elf_Scn* +find_strtab_for_symtab_section(Elf* elf_handle, Elf_Scn* symtab_section) +{ + Elf_Scn *strtab_section = NULL; + + if (symtab_section) + { + GElf_Shdr symtab_shdr_mem, *symtab_shdr; + + symtab_shdr = gelf_getshdr(symtab_section, &symtab_shdr_mem); + strtab_section = elf_getscn(elf_handle, symtab_shdr->sh_link); + } + + return strtab_section; +} + /// Get the version definition (from the SHT_GNU_verdef section) of a /// given symbol represented by a pointer to GElf_Versym. ///
diff --git a/src/abg-elf-helpers.h b/src/abg-elf-helpers.h index 96e03d2..718ce9c 100644 --- a/src/abg-elf-helpers.h +++ b/src/abg-elf-helpers.h
@@ -50,6 +50,15 @@ Elf64_Word section_type); Elf_Scn* +find_section(Elf* elf_handle, Elf64_Word section_type); + +Elf_Scn* +find_symtab_section(Elf* elf_handle); + +Elf_Scn* +find_dynsym_section(Elf* elf_handle); + +Elf_Scn* find_symbol_table_section(Elf* elf_handle); bool @@ -103,6 +112,10 @@ Elf_Scn* find_relocation_section(Elf* elf_handle, Elf_Scn* target_section); +Elf_Scn* +find_strtab_for_symtab_section(Elf* elf_handle, + Elf_Scn* symtab_section); + // // Helpers for symbol versioning //
diff --git a/src/abg-elf-reader-common.cc b/src/abg-elf-reader-common.cc new file mode 100644 index 0000000..010c852 --- /dev/null +++ b/src/abg-elf-reader-common.cc
@@ -0,0 +1,90 @@ +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// -*- Mode: C++ -*- +// +// Copyright (C) 2013-2021 Oracle, Inc. +// +// Author: Jose E. Marchesi + +/// @file +/// +/// This file contains the implementation of facilities to deal with +/// status codes related to ELF based readers. +/// +/// More generally, this file contains definitions related to +/// facilities shared by the various readers that handle the ELF +/// format, e.g, the DWARF and CTF realder. +#include "config.h" + +#include "abg-internal.h" + +// <headers defining libabigail's API go under here> +ABG_BEGIN_EXPORT_DECLARATIONS + +#include "abg-elf-reader-common.h" + +ABG_END_EXPORT_DECLARATIONS +// </headers defining libabigail's API> + +namespace abigail +{ + +namespace elf_reader +{ + +status +operator|(status l, status r) +{ + return static_cast<status>(static_cast<unsigned>(l) + | static_cast<unsigned>(r)); +} + +status +operator&(status l, status r) +{ + return static_cast<status>(static_cast<unsigned>(l) + & static_cast<unsigned>(r)); +} + +status& +operator|=(status& l, status r) +{ + l = l | r; + return l; +} + +status& +operator&=(status& l, status r) +{ + l = l & r; + return l; +} + +/// Return a diagnostic status with english sentences to describe the +/// problems encoded in a given abigail::elf_reader::status, if +/// there is an error. +/// +/// @param status the status to diagnose +/// +/// @return a string containing sentences that describe the possible +/// errors encoded in @p s. If there is no error to encode, then the +/// empty string is returned. +std::string +status_to_diagnostic_string(status s) +{ + std::string str; + + if (s & STATUS_DEBUG_INFO_NOT_FOUND) + str += "could not find debug info\n"; + + if (s & STATUS_ALT_DEBUG_INFO_NOT_FOUND) + str += "could not find alternate debug info\n"; + + if (s & STATUS_NO_SYMBOLS_FOUND) + str += "could not load ELF symbols\n"; + + return str; +} + +}// end namespace elf_reader + +}// end namespace abigail
diff --git a/src/abg-ir-priv.h b/src/abg-ir-priv.h index 9a2b387..b362a9b 100644 --- a/src/abg-ir-priv.h +++ b/src/abg-ir-priv.h
@@ -16,6 +16,7 @@ #include <string> #include "abg-ir.h" +#include "abg-corpus.h" namespace abigail { @@ -151,9 +152,768 @@ {return types_;} }; // end translation_unit::priv +// <type_base definitions> + +/// Definition of the private data of @ref type_base. +struct type_base::priv +{ + size_t size_in_bits; + size_t alignment_in_bits; + type_base_wptr canonical_type; + // The data member below holds the canonical type that is managed by + // the smart pointer referenced by the canonical_type data member + // above. We are storing this underlying (naked) pointer here, so + // that users can access it *fast*. Otherwise, accessing + // canonical_type above implies creating a shared_ptr, and that has + // been measured to be slow for some performance hot spots. + type_base* naked_canonical_type; + // Computing the representation of a type again and again can be + // costly. So we cache the internal and non-internal type + // representation strings here. + interned_string internal_cached_repr_; + interned_string cached_repr_; + // The next two data members are used while comparing types during + // canonicalization. They are useful for the "canonical type + // propagation" (aka on-the-fly-canonicalization) optimization + // implementation. + + // The set of canonical recursive types this type depends on. + unordered_set<uintptr_t> depends_on_recursive_type_; + bool canonical_type_propagated_; + + priv() + : size_in_bits(), + alignment_in_bits(), + naked_canonical_type(), + canonical_type_propagated_(false) + {} + + priv(size_t s, + size_t a, + type_base_sptr c = type_base_sptr()) + : size_in_bits(s), + alignment_in_bits(a), + canonical_type(c), + naked_canonical_type(c.get()), + canonical_type_propagated_(false) + {} + + /// Test if the current type depends on recursive type comparison. + /// + /// A recursive type T is a type T which has a sub-type that is T + /// (recursively) itself. + /// + /// So this function tests if the current type has a recursive + /// sub-type or is a recursive type itself. + /// + /// @return true if the current type depends on a recursive type. + bool + depends_on_recursive_type() const + {return !depends_on_recursive_type_.empty();} + + /// Test if the current type depends on a given recursive type. + /// + /// A recursive type T is a type T which has a sub-type that is T + /// (recursively) itself. + /// + /// So this function tests if the current type depends on a given + /// recursive type. + /// + /// @param dependant the type we want to test if the current type + /// depends on. + /// + /// @return true if the current type depends on the recursive type + /// @dependant. + bool + depends_on_recursive_type(const type_base* dependant) const + { + return + (depends_on_recursive_type_.find(reinterpret_cast<uintptr_t>(dependant)) + != depends_on_recursive_type_.end()); + } + + /// Set the flag that tells if the current type depends on a given + /// recursive type. + /// + /// A recursive type T is a type T which has asub-type that is T + /// (recursively) itself. + /// + /// So this function tests if the current type depends on a + /// recursive type. + /// + /// @param t the recursive type that current type depends on. + void + set_depends_on_recursive_type(const type_base * t) + {depends_on_recursive_type_.insert(reinterpret_cast<uintptr_t>(t));} + + /// Unset the flag that tells if the current type depends on a given + /// recursive type. + /// + /// A recursive type T is a type T which has asub-type that is T + /// (recursively) itself. + /// + /// So this function flags the current type as not being dependant + /// on a given recursive type. + /// + /// + /// @param t the recursive type to consider. + void + set_does_not_depend_on_recursive_type(const type_base *t) + {depends_on_recursive_type_.erase(reinterpret_cast<uintptr_t>(t));} + + /// Flag the current type as not being dependant on any recursive type. + void + set_does_not_depend_on_recursive_type() + {depends_on_recursive_type_.clear();} + + /// Test if the type carries a canonical type that is the result of + /// maybe_propagate_canonical_type(), aka, "canonical type + /// propagation optimization". + /// + /// @return true iff the current type carries a canonical type that + /// is the result of canonical type propagation. + bool + canonical_type_propagated() + {return canonical_type_propagated_;} + + /// Set the flag that says if the type carries a canonical type that + /// is the result of maybe_propagate_canonical_type(), aka, + /// "canonical type propagation optimization". + /// + /// @param f true iff the current type carries a canonical type that + /// is the result of canonical type propagation. + void + set_canonical_type_propagated(bool f) + {canonical_type_propagated_ = f;} + + /// If the current canonical type was set as the result of the + /// "canonical type propagation optimization", then clear it. + void + clear_propagated_canonical_type() + { + if (canonical_type_propagated_) + { + canonical_type.reset(); + naked_canonical_type = nullptr; + set_canonical_type_propagated(false); + } + } +}; // end struct type_base::priv + +// <environment definitions> +/// The private data of the @ref environment type. +struct environment::priv +{ + config config_; + canonical_types_map_type canonical_types_; + mutable vector<type_base_sptr> sorted_canonical_types_; + type_base_sptr void_type_; + type_base_sptr variadic_marker_type_; + unordered_set<const class_or_union*> classes_being_compared_; + unordered_set<const function_type*> fn_types_being_compared_; + vector<type_base_sptr> extra_live_types_; + interned_string_pool string_pool_; + // The two vectors below represent the stack of left and right + // operands of the current type comparison operation that is + // happening during type canonicalization. + // + // Basically, that stack of operand looks like below. + // + // First, suppose we have a type T_L that has two sub-types as this: + // + // T_L + // | + // +-- L_OP0 + // | + // +-- L_OP1 + // + // Now suppose that we have another type T_R that has two sub-types + // as this: + // + // T_R + // | + // +-- R_OP0 + // | + // +-- R_OP1 + // + // Now suppose that we compare T_L against T_R. We are going to + // have a stack of pair of types. Each pair of types represents + // two (sub) types being compared against each other. + // + // On the stack, we will thus first have the pair (T_L, T_R) + // being compared. Then, we will have the pair (L_OP0, R_OP0) + // being compared, and then the pair (L_OP1, R_OP1) being + // compared. Like this: + // + // | T_L | L_OP0 | L_OP1 | <-- this goes into left_type_comp_operands_; + // -------- ------------- + // | T_R | R_OP0 | R_OP1 | <-- this goes into right_type_comp_operands_; + // + // This "stack of operands of the current type comparison, during + // type canonicalization" is used in the context of the @ref + // OnTheFlyCanonicalization optimization. It's used to detect if a + // sub-type of the type being canonicalized depends on a recursive + // type. + vector<const type_base*> left_type_comp_operands_; + vector<const type_base*> right_type_comp_operands_; + // Vector of types that protentially received propagated canonical types. + // If the canonical type propagation is confirmed, the potential + // canonical types must be promoted as canonical types. Otherwise if + // the canonical type propagation is cancelled, the canonical types + // must be cleared. + pointer_set types_with_non_confirmed_propagated_ct_; +#ifdef WITH_DEBUG_SELF_COMPARISON + // This is used for debugging purposes. + // When abidw is used with the option --debug-abidiff, some + // libabigail internals need to get a hold on the initial binary + // input of abidw, as well as as the abixml file that represents the + // ABI of that binary. + // + // So this one is the corpus for the input binary. + corpus_wptr first_self_comparison_corpus_; + // This one is the corpus for the ABIXML file representing the + // serialization of the input binary. + corpus_wptr second_self_comparison_corpus_; + // This is also used for debugging purposes, when using + // 'abidw --debug-abidiff <binary>'. It holds the set of mapping of + // an abixml (canonical) type and its type-id. + unordered_map<string, uintptr_t> type_id_canonical_type_map_; + // Likewise. It holds a map that associates the pointer to a type + // read from abixml and the type-id string it corresponds to. + unordered_map<uintptr_t, string> pointer_type_id_map_; +#endif + bool canonicalization_is_done_; + bool do_on_the_fly_canonicalization_; + bool decl_only_class_equals_definition_; + bool use_enum_binary_only_equality_; +#ifdef WITH_DEBUG_SELF_COMPARISON + bool self_comparison_debug_on_; +#endif +#ifdef WITH_DEBUG_TYPE_CANONICALIZATION + // This controls whether to use canonical type comparison during + // type comparison or not. This is only used for debugging, when we + // want to ensure that comparing types using canonical or structural + // comparison yields the same result. + bool use_canonical_type_comparison_; + // Whether we are debugging type canonicalization or not. When + // debugging type canonicalization, a type is compared to its + // potential canonical type twice: The first time with canonical + // comparison activated, and the second time with structural + // comparison activated. The two comparison should yield the same + // result, otherwise, canonicalization is "broken" for that + // particular type. + bool debug_type_canonicalization_; +#endif + + priv() + : canonicalization_is_done_(), + do_on_the_fly_canonicalization_(true), + decl_only_class_equals_definition_(false), + use_enum_binary_only_equality_(false) +#ifdef WITH_DEBUG_SELF_COMPARISON + , + self_comparison_debug_on_(false) +#endif +#ifdef WITH_DEBUG_TYPE_CANONICALIZATION + , + use_canonical_type_comparison_(true), + debug_type_canonicalization_(false) +#endif + {} + + /// Push a pair of operands on the stack of operands of the current + /// type comparison, during type canonicalization. + /// + /// For more information on this, please look at the description of + /// the right_type_comp_operands_ data member. + /// + /// @param left the left-hand-side comparison operand to push. + /// + /// @param right the right-hand-side comparison operand to push. + void + push_composite_type_comparison_operands(const type_base* left, + const type_base* right) + { + ABG_ASSERT(left && right); + + left_type_comp_operands_.push_back(left); + right_type_comp_operands_.push_back(right); + } + + /// Pop a pair of operands from the stack of operands to the current + /// type comparison. + /// + /// For more information on this, please look at the description of + /// the right_type_comp_operands_ data member. + /// + /// @param left the left-hand-side comparison operand we expect to + /// pop from the top of the stack. If this doesn't match the + /// operand found on the top of the stack, the function aborts. + /// + /// @param right the right-hand-side comparison operand we expect to + /// pop from the bottom of the stack. If this doesn't match the + /// operand found on the top of the stack, the function aborts. + void + pop_composite_type_comparison_operands(const type_base* left, + const type_base* right) + { + const type_base *t = left_type_comp_operands_.back(); + ABG_ASSERT(t == left); + t = right_type_comp_operands_.back(); + ABG_ASSERT(t == right); + + left_type_comp_operands_.pop_back(); + right_type_comp_operands_.pop_back(); + } + + /// Mark all the types that comes after a certain one as NOT being + /// eligible for the canonical type propagation optimization. + /// + /// @param type the type that represents the "marker type". All + /// types after this one will be marked as being NON-eligible to + /// the canonical type propagation optimization. + /// + /// @param types the set of types to consider. In that vector, all + /// types that come after @p type are going to be marked as being + /// non-eligible to the canonical type propagation optimization. + /// + /// @return true iff the operation was successful. + bool + mark_dependant_types(const type_base* type, + vector<const type_base*>& types) + { + bool found = false; + for (auto t : types) + { + if (!found + && (reinterpret_cast<uintptr_t>(t) + == reinterpret_cast<uintptr_t>(type))) + { + found = true; + continue; + } + else if (found) + t->priv_->set_depends_on_recursive_type(type); + } + return found; + } + + /// In the stack of the current types being compared (as part of + /// type canonicalization), mark all the types that comes after a + /// certain one as NOT being eligible to the canonical type + /// propagation optimization. + /// + /// For a starter, please read about the @ref + /// OnTheFlyCanonicalization, aka, "canonical type propagation + /// optimization". + /// + /// To implement that optimization, we need, among other things to + /// maintain stack of the types (and their sub-types) being + /// currently compared as part of type canonicalization. + /// + /// Note that we only consider the type that is the right-hand-side + /// operand of the comparison because it's that one that is being + /// canonicalized and thus, that is not yet canonicalized. + /// + /// The reason why a type is deemed NON-eligible to the canonical + /// type propagation optimization is that it "depends" on + /// recursively present type. Let me explain. + /// + /// Suppose we have a type T that has sub-types named ST0 and ST1. + /// Suppose ST1 itself has a sub-type that is T itself. In this + /// case, we say that T is a recursive type, because it has T + /// (itself) as one of its sub-types: + /// + /// T + /// +-- ST0 + /// | + /// +-- ST1 + /// + + /// | + /// +-- T + /// + /// ST1 is said to "depend" on T because it has T as a sub-type. + /// But because T is recursive, then ST1 is said to depend on a + /// recursive type. Notice however that ST0 does not depend on any + /// recursive type. + /// + /// When we are at the point of comparing the sub-type T of ST1 + /// against its counterpart, the stack of the right-hand-side + /// operands of the type canonicalization is going to look like + /// this: + /// + /// | T | ST1 | + /// + /// We don't add the type T to the stack as we detect that T was + /// already in there (recursive cycle). + /// + /// So, this function will basically mark ST1 as being NON-eligible + /// to being the target of canonical type propagation. + /// + /// @param right the right-hand-side operand of the type comparison. + /// + /// @return true iff the operation was successful. + bool + mark_dependant_types_compared_until(const type_base* right) + { + bool result = false; + + result |= + mark_dependant_types(right, + right_type_comp_operands_); + return result; + } + + /// Propagate the canonical type of a type to another one. + /// + /// @param src the type to propagate the canonical type from. + /// + /// @param dest the type to propagate the canonical type of @p src + /// to. + /// + /// @return bool iff the canonical was propagated. + bool + propagate_ct(const type_base& src, const type_base& dest) + { + type_base_sptr canonical = src.get_canonical_type(); + ABG_ASSERT(canonical); + dest.priv_->canonical_type = canonical; + dest.priv_->naked_canonical_type = canonical.get(); + dest.priv_->set_canonical_type_propagated(true); + return true; + } + + /// Mark a set of types that have been the target of canonical type + /// propagation and that depend on a recursive type as being + /// permanently canonicalized. + /// + /// To understand the sentence above, please read the description of + /// type canonicalization and especially about the "canonical type + /// propagation optimization" at @ref OnTheFlyCanonicalization, in + /// the src/abg-ir.cc file. + void + confirm_ct_propagation(const type_base* dependant_type) + { + pointer_set to_remove; + for (auto i : types_with_non_confirmed_propagated_ct_) + { + type_base *t = reinterpret_cast<type_base*>(i); + ABG_ASSERT(t->priv_->depends_on_recursive_type()); + t->priv_->set_does_not_depend_on_recursive_type(dependant_type); + if (!t->priv_->depends_on_recursive_type()) + to_remove.insert(i); + } + + for (auto i : to_remove) + types_with_non_confirmed_propagated_ct_.erase(i); + } + + /// Collect the types that depends on a given "target" type. + /// + /// Walk a set of types and if they depend directly or indirectly on + /// a "target" type, then collect them into a set. + /// + /// @param target the target type to consider. + /// + /// @param types the types to walk to detect those who depend on @p + /// target. + /// + /// @return true iff one or more type from @p types is found to + /// depend on @p target. + bool + collect_types_that_depends_on(const type_base *target, + const pointer_set& types, + pointer_set& collected) + { + bool result = false; + for (const auto i : types) + { + // First avoid infinite loop if we've already collected the + // current type. + if (collected.find(i) != collected.end()) + continue; + + type_base *t = reinterpret_cast<type_base*>(i); + if (t->priv_->depends_on_recursive_type(target)) + { + collected.insert(i); + collect_types_that_depends_on(t, types, collected); + result = true; + } + } + return result; + } + + /// Reset the canonical type (set it nullptr) of a set of types that + /// have been the target of canonical type propagation and that + /// depend on a given recursive type. + /// + /// Once the canonical type of a type in that set is reset, the type + /// is marked as non being dependant on a recursive type anymore. + /// + /// To understand the sentences above, please read the description + /// of type canonicalization and especially about the "canonical + /// type propagation optimization" at @ref OnTheFlyCanonicalization, + /// in the src/abg-ir.cc file. + /// + /// @param target if a type which has been subject to the canonical + /// type propagation optimizationdepends on a this target type, then + /// cancel its canonical type. + void + cancel_ct_propagation(const type_base* target) + { + pointer_set to_remove; + collect_types_that_depends_on(target, + types_with_non_confirmed_propagated_ct_, + to_remove); + + for (auto i : to_remove) + { + type_base *t = reinterpret_cast<type_base*>(i); + ABG_ASSERT(t->priv_->depends_on_recursive_type()); + type_base_sptr canonical = t->priv_->canonical_type.lock(); + if (canonical) + { + t->priv_->clear_propagated_canonical_type(); + t->priv_->set_does_not_depend_on_recursive_type(); + } + } + + for (auto i : to_remove) + types_with_non_confirmed_propagated_ct_.erase(i); + } + + /// Remove a given type from the set of types that have been + /// non-confirmed subjects of the canonical type propagation + /// optimization. + /// + /// @param dependant the dependant type to consider. + void + remove_from_types_with_non_confirmed_propagated_ct(const type_base* dependant) + { + uintptr_t i = reinterpret_cast<uintptr_t>(dependant); + types_with_non_confirmed_propagated_ct_.erase(i); + } + +#ifdef WITH_DEBUG_SELF_COMPARISON + /// When debugging self comparison, verify that a type T + /// de-serialized from abixml has the same canonical type as the + /// initial type built from DWARF that was serialized into T in the + /// first place. + /// + /// @param t deserialized type (from abixml) to consider. + /// + /// @param c the canonical type @p t should have. + /// + /// @return true iff @p c is the canonical type that @p t should + /// have. + bool + check_canonical_type_from_abixml_during_self_comp(const type_base* t, + const type_base* c) + { + if (!t || !t->get_corpus() || !c) + return false; + + if (!(t->get_corpus()->get_origin() == ir::corpus::NATIVE_XML_ORIGIN)) + return false; + + // Get the abixml type-id that this type was constructed from. + string type_id; + { + unordered_map<uintptr_t, string>::const_iterator it = + pointer_type_id_map_.find(reinterpret_cast<uintptr_t>(t)); + if (it == pointer_type_id_map_.end()) + return false; + type_id = it->second; + } + + // Get the canonical type the original in-memory type (constructed + // from DWARF) had when it was serialized into abixml in the first place. + type_base *original_canonical_type = nullptr; + if (!type_id.empty()) + { + unordered_map<string, uintptr_t>::const_iterator it = + type_id_canonical_type_map_.find(type_id); + if (it == type_id_canonical_type_map_.end()) + return false; + original_canonical_type = reinterpret_cast<type_base*>(it->second); + } + + // Now perform the real check. + // + // We want to ensure that the canonical type 'c' of 't' is the + // same as the canonical type of initial in-memory type (built + // from DWARF) that was serialized into 't' (in abixml) in the + // first place. + if (original_canonical_type == c) + return true; + + return false; + } + + /// When debugging self comparison, verify that a type T + /// de-serialized from abixml has the same canonical type as the + /// initial type built from DWARF that was serialized into T in the + /// first place. + /// + /// @param t deserialized type (from abixml) to consider. + /// + /// @param c the canonical type @p t should have. + /// + /// @return true iff @p c is the canonical type that @p t should + /// have. + bool + check_canonical_type_from_abixml_during_self_comp(const type_base_sptr& t, + const type_base_sptr& c) + { + return check_canonical_type_from_abixml_during_self_comp(t.get(), c.get()); + } +#endif +};// end struct environment::priv + +// <class_or_union::priv definitions> +struct class_or_union::priv +{ + typedef_decl_wptr naming_typedef_; + member_types member_types_; + data_members data_members_; + data_members non_static_data_members_; + member_functions member_functions_; + // A map that associates a linkage name to a member function. + string_mem_fn_sptr_map_type mem_fns_map_; + // A map that associates function signature strings to member + // function. + string_mem_fn_ptr_map_type signature_2_mem_fn_map_; + member_function_templates member_function_templates_; + member_class_templates member_class_templates_; + + priv() + {} + + priv(class_or_union::member_types& mbr_types, + class_or_union::data_members& data_mbrs, + class_or_union::member_functions& mbr_fns) + : member_types_(mbr_types), + data_members_(data_mbrs), + member_functions_(mbr_fns) + { + for (data_members::const_iterator i = data_members_.begin(); + i != data_members_.end(); + ++i) + if (!get_member_is_static(*i)) + non_static_data_members_.push_back(*i); + } + + /// Mark a class or union or union as being currently compared using + /// the class_or_union== operator. + /// + /// Note that is marking business is to avoid infinite loop when + /// comparing a class or union or union. If via the comparison of a + /// data member or a member function a recursive re-comparison of + /// the class or union is attempted, the marking business help to + /// detect that infinite loop possibility and avoid it. + /// + /// @param klass the class or union or union to mark as being + /// currently compared. + void + mark_as_being_compared(const class_or_union& klass) const + { + const environment* env = klass.get_environment(); + ABG_ASSERT(env); + env->priv_->classes_being_compared_.insert(&klass); + } + + /// Mark a class or union as being currently compared using the + /// class_or_union== operator. + /// + /// Note that is marking business is to avoid infinite loop when + /// comparing a class or union. If via the comparison of a data + /// member or a member function a recursive re-comparison of the + /// class or union is attempted, the marking business help to detect + /// that infinite loop possibility and avoid it. + /// + /// @param klass the class or union to mark as being currently + /// compared. + void + mark_as_being_compared(const class_or_union* klass) const + {mark_as_being_compared(*klass);} + + /// Mark a class or union as being currently compared using the + /// class_or_union== operator. + /// + /// Note that is marking business is to avoid infinite loop when + /// comparing a class or union. If via the comparison of a data + /// member or a member function a recursive re-comparison of the + /// class or union is attempted, the marking business help to detect + /// that infinite loop possibility and avoid it. + /// + /// @param klass the class or union to mark as being currently + /// compared. + void + mark_as_being_compared(const class_or_union_sptr& klass) const + {mark_as_being_compared(*klass);} + + /// If the instance of class_or_union has been previously marked as + /// being compared -- via an invocation of mark_as_being_compared() + /// this method unmarks it. Otherwise is has no effect. + /// + /// This method is not thread safe because it uses the static data + /// member classes_being_compared_. If you wish to use it in a + /// multi-threaded environment you should probably protect the + /// access to that static data member with a mutex or somesuch. + /// + /// @param klass the instance of class_or_union to unmark. + void + unmark_as_being_compared(const class_or_union& klass) const + { + const environment* env = klass.get_environment(); + ABG_ASSERT(env); + env->priv_->classes_being_compared_.erase(&klass); + } + + /// If the instance of class_or_union has been previously marked as + /// being compared -- via an invocation of mark_as_being_compared() + /// this method unmarks it. Otherwise is has no effect. + /// + /// @param klass the instance of class_or_union to unmark. + void + unmark_as_being_compared(const class_or_union* klass) const + { + if (klass) + return unmark_as_being_compared(*klass); + } + + /// Test if a given instance of class_or_union is being currently + /// compared. + /// + ///@param klass the class or union to test. + /// + /// @return true if @p klass is being compared, false otherwise. + bool + comparison_started(const class_or_union& klass) const + { + const environment* env = klass.get_environment(); + ABG_ASSERT(env); + return env->priv_->classes_being_compared_.count(&klass); + } + + /// Test if a given instance of class_or_union is being currently + /// compared. + /// + ///@param klass the class or union to test. + /// + /// @return true if @p klass is being compared, false otherwise. + bool + comparison_started(const class_or_union* klass) const + { + if (klass) + return comparison_started(*klass); + return false; + } +}; // end struct class_or_union::priv + } // end namespace ir } // end namespace abigail #endif // __ABG_IR_PRIV_H__ -
diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 2ad7910..23ee021 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc
@@ -18,6 +18,7 @@ #include <sstream> #include <typeinfo> #include <unordered_map> +#include <tuple> #include <utility> #include <vector> @@ -33,6 +34,7 @@ ABG_END_EXPORT_DECLARATIONS // </headers defining libabigail's API> +#include "abg-cxx-compat.h" // for abg_compat::optional #include "abg-tools-utils.h" #include "abg-comp-filter.h" #include "abg-ir-priv.h" @@ -264,6 +266,124 @@ static interned_string get_generic_anonymous_internal_type_name(const decl_base *d); +static void +update_qualified_name(decl_base * d); + +static void +update_qualified_name(decl_base_sptr d); + +void +push_composite_type_comparison_operands(const type_base& left, + const type_base& right); + +void +pop_composite_type_comparison_operands(const type_base& left, + const type_base& right); + +bool +mark_dependant_types_compared_until(const type_base &r); + +/// Push a pair of operands on the stack of operands of the current +/// type comparison, during type canonicalization. +/// +/// For more information on this, please look at the description of +/// the environment::priv::right_type_comp_operands_ data member. +/// +/// @param left the left-hand-side comparison operand to push. +/// +/// @param right the right-hand-side comparison operand to push. +void +push_composite_type_comparison_operands(const type_base& left, + const type_base& right) +{ + const environment * env = left.get_environment(); + env->priv_->push_composite_type_comparison_operands(&left, &right); +} + +/// Pop a pair of operands from the stack of operands to the current +/// type comparison. +/// +/// For more information on this, please look at the description of +/// the environment::privright_type_comp_operands_ data member. +/// +/// @param left the left-hand-side comparison operand we expect to +/// pop from the top of the stack. If this doesn't match the +/// operand found on the top of the stack, the function aborts. +/// +/// @param right the right-hand-side comparison operand we expect to +/// pop from the bottom of the stack. If this doesn't match the +/// operand found on the top of the stack, the function aborts. +void +pop_composite_type_comparison_operands(const type_base& left, + const type_base& right) +{ + const environment * env = left.get_environment(); + env->priv_->pop_composite_type_comparison_operands(&left, &right); +} + +/// In the stack of the current types being compared (as part of type +/// canonicalization), mark all the types that comes after a certain +/// one as NOT being eligible to the canonical type propagation +/// optimization. +/// +/// For a starter, please read about the @ref +/// OnTheFlyCanonicalization, aka, "canonical type propagation +/// optimization". +/// +/// To implement that optimization, we need, among other things to +/// maintain stack of the types (and their sub-types) being +/// currently compared as part of type canonicalization. +/// +/// Note that we only consider the type that is the right-hand-side +/// operand of the comparison because it's that one that is being +/// canonicalized and thus, that is not yet canonicalized. +/// +/// The reason why a type is deemed NON-eligible to the canonical +/// type propagation optimization is that it "depends" on +/// recursively present type. Let me explain. +/// +/// Suppose we have a type T that has sub-types named ST0 and ST1. +/// Suppose ST1 itself has a sub-type that is T itself. In this +/// case, we say that T is a recursive type, because it has T +/// (itself) as one of its sub-types: +/// +/// T +/// +-- ST0 +/// | +/// +-- ST1 +/// + +/// | +/// +-- T +/// +/// ST1 is said to "depend" on T because it has T as a sub-type. +/// But because T is recursive, then ST1 is said to depend on a +/// recursive type. Notice however that ST0 does not depend on any +/// recursive type. +/// +/// When we are at the point of comparing the sub-type T of ST1 +/// against its counterpart, the stack of the right-hand-side +/// operands of the type canonicalization is going to look like +/// this: +/// +/// | T | ST1 | +/// +/// We don't add the type T to the stack as we detect that T was +/// already in there (recursive cycle). +/// +/// So, this function will basically mark ST1 as being NON-eligible +/// to being the target of canonical type propagation, by marking ST1 +/// as being dependant on T. +/// +/// @param right the right-hand-side operand of the type comparison. +/// +/// @return true iff the operation was successful. +bool +mark_dependant_types_compared_until(const type_base &r) +{ + const environment * env = r.get_environment(); + return env->priv_->mark_dependant_types_compared_until(&r); +} + /// @brief the location of a token represented in its simplest form. /// Instances of this type are to be stored in a sorted vector, so the /// type must have proper relational operators. @@ -321,7 +441,16 @@ void location::expand(std::string& path, unsigned& line, unsigned& column) const { - ABG_ASSERT(get_location_manager()); + if (!get_location_manager()) + { + // We don't have a location manager maybe because this location + // was just freshly instanciated. We still want to be able to + // expand to default values. + path = ""; + line = 0; + column = 0; + return; + } get_location_manager()->expand_location(*this, path, line, column); } @@ -351,7 +480,10 @@ }; location_manager::location_manager() -{priv_ = shared_ptr<location_manager::priv>(new location_manager::priv);} + : priv_(new location_manager::priv) +{} + +location_manager::~location_manager() = default; /// Insert the triplet representing a source locus into our internal /// vector of location triplet. Return an instance of location type, @@ -425,6 +557,8 @@ : priv_(new priv) {} +type_maps::~type_maps() = default; + /// Test if the type_maps is empty. /// /// @return true iff the type_maps is empty. @@ -649,6 +783,76 @@ {return operator()(type_base_sptr(l), type_base_sptr(r));} }; // end struct type_name_comp +#ifdef WITH_DEBUG_SELF_COMPARISON + +/// This is a function called when the ABG_RETURN* macros defined +/// below return false. +/// +/// The purpose of this function is to ease debugging. To know where +/// the equality functions first compare non-equal, we can just set a +/// breakpoint on this notify_equality_failed function and run the +/// equality functions. Because all the equality functions use the +/// ABG_RETURN* macros to return their values, this function is always +/// called when any of those equality function return false. +/// +/// @param l the first operand of the equality. +/// +/// @param r the second operand of the equality. +static void +notify_equality_failed(const type_or_decl_base &l __attribute__((unused)), + const type_or_decl_base &r __attribute__((unused))) +{} + +/// This is a function called when the ABG_RETURN* macros defined +/// below return false. +/// +/// The purpose of this function is to ease debugging. To know where +/// the equality functions first compare non-equal, we can just set a +/// breakpoint on this notify_equality_failed function and run the +/// equality functions. Because all the equality functions use the +/// ABG_RETURN* macros to return their values, this function is always +/// called when any of those equality function return false. +/// +/// @param l the first operand of the equality. +/// +/// @param r the second operand of the equality. +static void +notify_equality_failed(const type_or_decl_base *l __attribute__((unused)), + const type_or_decl_base *r __attribute__((unused))) +{} + +#define ABG_RETURN_EQUAL(l, r) \ + do \ + { \ + if (l != r) \ + notify_equality_failed(l, r); \ + return (l == r); \ + } \ + while(false) + + +#define ABG_RETURN_FALSE \ + do \ + { \ + notify_equality_failed(l, r); \ + return false; \ + } while(false) + +#define ABG_RETURN(value) \ + do \ + { \ + if (value == false) \ + notify_equality_failed(l, r); \ + return value; \ + } while (false) + +#else // WITH_DEBUG_SELF_COMPARISON + +#define ABG_RETURN_FALSE return false +#define ABG_RETURN(value) return (value) +#define ABG_RETURN_EQUAL(l, r) return ((l) == (r)); +#endif + /// Compare two types by comparing their canonical types if present. /// /// If the canonical types are not present (because the types have not @@ -662,10 +866,218 @@ bool try_canonical_compare(const T *l, const T *r) { +#if WITH_DEBUG_TYPE_CANONICALIZATION + // We are debugging the canonicalization of a type down the stack. + // 'l' is a subtype of a canonical type and 'r' is a subtype of the + // type being canonicalized. We are at a point where we can compare + // 'l' and 'r' either using canonical comparison (if 'l' and 'r' + // have canonical types) or structural comparison. + // + // Because we are debugging the process of type canonicalization, we + // want to compare 'l' and 'r' canonically *AND* structurally. Both + // kinds of comparison should yield the same result, otherwise type + // canonicalization just failed for the subtype 'r' of the type + // being canonicalized. + // + // In concrete terms, this function is going to be called twice with + // the same pair {'l', 'r'} to compare: The first time with + // environment::priv_->use_canonical_type_comparison_ set to true, + // instructing us to compare them canonically, and the second time + // with that boolean set to false, instructing us to compare them + // structurally. + const environment *env = l->get_environment(); + if (env->priv_->use_canonical_type_comparison_) + { + if (const type_base *lc = l->get_naked_canonical_type()) + if (const type_base *rc = r->get_naked_canonical_type()) + ABG_RETURN_EQUAL(lc, rc); + } + return equals(*l, *r, 0); +#else if (const type_base *lc = l->get_naked_canonical_type()) if (const type_base *rc = r->get_naked_canonical_type()) - return lc == rc; + ABG_RETURN_EQUAL(lc, rc); return equals(*l, *r, 0); +#endif + + +} + +/// Detect if a recursive comparison cycle is detected while +/// structurally comparing two types (a.k.a member-wise comparison). +/// +/// @param l the left-hand-side operand of the current comparison. +/// +/// @param r the right-hand-side operand of the current comparison. +/// +/// @return true iff a comparison cycle is detected. +template<typename T> +bool +is_comparison_cycle_detected(T& l, T& r) +{ + bool result = (l.priv_->comparison_started(l) + || l.priv_->comparison_started(r)); + return result ; +} + +/// This macro is to be used while comparing composite types that +/// might recursively refer to themselves. Comparing two such types +/// might get us into a cyle. +/// +/// Practically, if we detect that we are already into comparing 'l' +/// and 'r'; then, this is a cycle. +// +/// To break the cycle, we assume the result of the comparison is true +/// for now. Comparing the other sub-types of l & r will tell us later +/// if l & r are actually different or not. +/// +/// In the mean time, returning true from this macro should not be +/// used to propagate the canonical type of 'l' onto 'r' as we don't +/// know yet if l equals r. All the types that depend on l and r +/// can't (and that are in the comparison stack currently) can't have +/// their canonical type propagated either. So this macro disallows +/// canonical type propagation for those types that depend on a +/// recursively defined sub-type for now. +/// +/// @param l the left-hand-side operand of the comparison. +#define RETURN_TRUE_IF_COMPARISON_CYCLE_DETECTED(l, r) \ + do \ + { \ + if (is_comparison_cycle_detected(l, r)) \ + { \ + mark_dependant_types_compared_until(r); \ + return true; \ + } \ + } \ + while(false) + + +/// Mark a pair of types as being compared. +/// +/// This is helpful to later detect recursive cycles in the comparison +/// stack. +/// +/// @param l the left-hand-side operand of the comparison. +/// +/// @parm r the right-hand-side operand of the comparison. +template<typename T> +void +mark_types_as_being_compared(T& l, T&r) +{ + l.priv_->mark_as_being_compared(l); + l.priv_->mark_as_being_compared(r); + push_composite_type_comparison_operands(l, r); +} + +/// Mark a pair of types as being not compared anymore. +/// +/// This is helpful to later detect recursive cycles in the comparison +/// stack. +/// +/// Note that the types must have been passed to +/// mark_types_as_being_compared prior to calling this function. +/// +/// @param l the left-hand-side operand of the comparison. +/// +/// @parm r the right-hand-side operand of the comparison. +template<typename T> +void +unmark_types_as_being_compared(T& l, T&r) +{ + l.priv_->unmark_as_being_compared(l); + l.priv_->unmark_as_being_compared(r); + pop_composite_type_comparison_operands(l, r); +} + +/// Return the result of the comparison of two (sub) types. +/// +/// The function does the necessary book keeping before returning the +/// result of the comparison of two (sub) types. +/// +/// The book-keeping done is in the following +/// areas: +/// +/// * Management of the Canonical Type Propagation optimization +/// * type comparison cycle detection +/// +/// @param l the left-hand-side operand of the type comparison +/// +/// @param r the right-hand-side operand of the type comparison +/// +/// @param propagate_canonical_type if true, it means the function +/// performs the @ref OnTheFlyCanonicalization, aka, "canonical type +/// propagation optimization". +/// +/// @param value the result of the comparison of @p l and @p r. +/// +/// @return the value @p value. +template<typename T> +bool +return_comparison_result(T& l, T& r, bool value, + bool propagate_canonical_type = true) +{ + if (propagate_canonical_type && (value == true)) + maybe_propagate_canonical_type(l, r); + + unmark_types_as_being_compared(l, r); + + const environment* env = l.get_environment(); + if (propagate_canonical_type && env->do_on_the_fly_canonicalization()) + // We are instructed to perform the "canonical type propagation" + // optimization, making 'r' to possibly get the canonical type of + // 'l' if it has one. This mostly means that we are currently + // canonicalizing the type that contain the subtype provided in + // the 'r' argument. + { + if (value == true + && is_type(&r)->priv_->depends_on_recursive_type() + && !env->priv_->right_type_comp_operands_.empty() + && is_type(&r)->priv_->canonical_type_propagated()) + { + // Track the object 'r' for which the propagated canonical + // type might be re-initialized if the current comparison + // eventually fails. + env->priv_->types_with_non_confirmed_propagated_ct_.insert + (reinterpret_cast<uintptr_t>(is_type(&r))); + } + else if (value == true && env->priv_->right_type_comp_operands_.empty()) + { + // The type provided in the 'r' argument is the type that is + // being canonicalized; 'r' is not a mere subtype being + // compared, it's the whole type being canonicalized. And + // its canonicalization has just succeeded. So let's + // confirm the "canonical type propagation" of all the + // sub-types that were compared during the comparison of + // 'r'. + env->priv_->confirm_ct_propagation(&r); + if (is_type(&r)->priv_->depends_on_recursive_type()) + { + is_type(&r)->priv_->set_does_not_depend_on_recursive_type(); + env->priv_->remove_from_types_with_non_confirmed_propagated_ct(&r); + } + } + else if (value == false) + { + // The comparison of the current sub-type failed. So all + // the types in + // env->prix_->types_with_non_confirmed_propagated_ct_ + // should see their tentatively propagated canonical type + // cancelled. + env->priv_->cancel_ct_propagation(&r); + if (is_type(&r)->priv_->depends_on_recursive_type()) + { + // The right-hand-side operand cannot carry any tentative + // canonical type at this point. + is_type(&r)->priv_->clear_propagated_canonical_type(); + // Reset the marking of the right-hand-side operand as it no + // longer carries a tentative canonical type that might be + // later cancelled. + is_type(&r)->priv_->set_does_not_depend_on_recursive_type(); + env->priv_->remove_from_types_with_non_confirmed_propagated_ct(&r); + } + } + } + ABG_RETURN(value); } /// Getter of all types types sorted by their pretty representation. @@ -1112,8 +1524,8 @@ return "LANG_Modula2"; case translation_unit::LANG_Java: return "LANG_Java"; - case translation_unit::LANG_PL1: - return "LANG_PL1"; + case translation_unit::LANG_PLI: + return "LANG_PLI"; case translation_unit::LANG_UPC: return "LANG_UPC"; case translation_unit::LANG_D: @@ -1178,8 +1590,8 @@ return translation_unit::LANG_Modula2; else if (l == "LANG_Java") return translation_unit::LANG_Java; - else if (l == "LANG_PL1") - return translation_unit::LANG_PL1; + else if (l == "LANG_PLI") + return translation_unit::LANG_PLI; else if (l == "LANG_UPC") return translation_unit::LANG_UPC; else if (l == "LANG_D") @@ -1316,7 +1728,6 @@ // STT_COMMON. If no such symbol is found, it looks for the // STT_COMMON definition of that name that has the largest size. bool is_common_; - bool is_linux_string_cst_; bool is_in_ksymtab_; uint64_t crc_; bool is_suppressed_; @@ -1334,7 +1745,6 @@ visibility_(elf_symbol::DEFAULT_VISIBILITY), is_defined_(false), is_common_(false), - is_linux_string_cst_(false), is_in_ksymtab_(false), crc_(0), is_suppressed_(false) @@ -1350,7 +1760,6 @@ bool c, const elf_symbol::version& ve, elf_symbol::visibility vi, - bool is_linux_string_cst, bool is_in_ksymtab, uint64_t crc, bool is_suppressed) @@ -1364,7 +1773,6 @@ visibility_(vi), is_defined_(d), is_common_(c), - is_linux_string_cst_(is_linux_string_cst), is_in_ksymtab_(is_in_ksymtab), crc_(crc), is_suppressed_(is_suppressed) @@ -1411,9 +1819,6 @@ /// /// @param vi the visibility of the symbol. /// -/// @param is_linux_string_cst true if the symbol is a Linux Kernel -/// string constant defined in the __ksymtab_strings section. -/// /// @param crc the CRC (modversions) value of Linux Kernel symbols elf_symbol::elf_symbol(const environment* e, size_t i, @@ -1425,7 +1830,6 @@ bool c, const version& ve, visibility vi, - bool is_linux_string_cst, bool is_in_ksymtab, uint64_t crc, bool is_suppressed) @@ -1439,7 +1843,6 @@ c, ve, vi, - is_linux_string_cst, is_in_ksymtab, crc, is_suppressed)) @@ -1483,9 +1886,6 @@ /// /// @param vi the visibility of the symbol. /// -/// @param is_linux_string_cst if true, it means the symbol represents -/// a string constant from a linux kernel binary. -/// /// @param crc the CRC (modversions) value of Linux Kernel symbols /// /// @return a (smart) pointer to a newly created instance of @ref @@ -1501,13 +1901,11 @@ bool c, const version& ve, visibility vi, - bool is_linux_string_cst, bool is_in_ksymtab, uint64_t crc, bool is_suppressed) { elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi, - is_linux_string_cst, is_in_ksymtab, crc, is_suppressed)); sym->priv_->main_symbol_ = sym; return sym; @@ -1574,15 +1972,6 @@ elf_symbol::set_index(size_t s) {priv_->index_ = s;} -/// Test if the ELF symbol is for a string constant of a Linux binary -/// defined in the __ksymtab_strings symbol table. -/// -/// @return true iff ELF symbol is for a string constant of a Linux -/// binary defined in the __ksymtab_strings symbol table. -bool -elf_symbol::get_is_linux_string_cst() const -{return priv_->is_linux_string_cst_;} - /// Getter for the name of the @ref elf_symbol. /// /// @return a reference to the name of the @ref symbol. @@ -2601,6 +2990,8 @@ { } +elf_symbol::version::~version() = default; + /// Cast the version_type into a string that is its name. /// /// @return the name of the version. @@ -2773,28 +3164,6 @@ typedef unordered_map<interned_string, bool, hash_interned_string> interned_string_bool_map_type; -/// The private data of the @ref environment type. -struct environment::priv -{ - config config_; - canonical_types_map_type canonical_types_; - mutable vector<type_base_sptr> sorted_canonical_types_; - type_base_sptr void_type_; - type_base_sptr variadic_marker_type_; - unordered_set<const class_or_union*> classes_being_compared_; - unordered_set<const function_type*> fn_types_being_compared_; - vector<type_base_sptr> extra_live_types_; - interned_string_pool string_pool_; - bool canonicalization_is_done_; - bool do_on_the_fly_canonicalization_; - bool decl_only_class_equals_definition_; - - priv() - : canonicalization_is_done_(), - do_on_the_fly_canonicalization_(true), - decl_only_class_equals_definition_(false) - {} -};// end struct environment::priv /// Default constructor of the @ref environment type. environment::environment() @@ -2861,10 +3230,34 @@ if (!f) return false; - location fl = f->get_location(); - location sl = s->get_location(); - if (fl.get_value() != sl.get_value()) - return fl.get_value() < sl.get_value(); + // If a decl has artificial location, then use that one over the + // natural one. + location fl = get_artificial_or_natural_location(f); + location sl = get_artificial_or_natural_location(s); + + if (fl.get_value() && sl.get_value()) + { + if (fl.get_is_artificial() == sl.get_is_artificial()) + { + // The locations of the two artfifacts have the same + // artificial-ness so they can be compared. + string p1, p2; + unsigned l1 = 0, l2 = 0, c1 = 0, c2 = 0; + fl.expand(p1, l1, c1); + sl.expand(p2, l2, c2); + if (p1 != p2) + return p1 < p2; + if (l1 != l2) + return l1 < l2; + if (c1 != c2) + return c1 < c2; + } + } + else if (!!fl != !!sl) + // So one of the decls doesn't have location data. + // The first decl is less than the second if it's the one not + // having location data. + return !fl && sl; // We reach this point if location data is useless. return (get_pretty_representation(f, true) @@ -2923,7 +3316,8 @@ if (f_is_ptr_ref_or_qual != s_is_ptr_ref_or_qual) return !f_is_ptr_ref_or_qual && s_is_ptr_ref_or_qual; - if (f_is_ptr_ref_or_qual && s_is_ptr_ref_or_qual) + if (f_is_ptr_ref_or_qual && s_is_ptr_ref_or_qual + && !is_decl(f)->get_location() && !is_decl(s)->get_location()) { string s1 = get_pretty_representation(f, true); string s2 = get_pretty_representation(s, true); @@ -3107,6 +3501,70 @@ environment::decl_only_class_equals_definition(bool f) const {priv_->decl_only_class_equals_definition_ = f;} +/// Test if comparing enums is done by looking only at enumerators +/// values. +/// +/// For enums, using 'binary-only' equality means looking only at +/// values of enumerators (not names of enumerators) when comparing +/// enums. This means we are only considering the binary equality of +/// enums, not source equality. +/// +/// The two enums below are "binary equal", but not "source-level +/// equal": +/// +/// enum foo +/// { +/// e0 = 0; +/// e1 = 1; +/// e2 = 2; +/// }; +/// +/// enum foo +/// { +/// e0 = 0; +/// e1 = 1; +/// e2 = 2; +/// e_added = 1; +/// }; +/// +/// @return true iff using 'binary-only' equality for enums +/// comparison. +bool +environment::use_enum_binary_only_equality() const +{return priv_->use_enum_binary_only_equality_;} + +/// Setter for the property that determines that comparing enums is +/// done by looking only at enumerators values. +/// +/// For enums, using 'binary-only' equality means looking only at +/// values of enumerators (not names of enumerators) when comparing +/// enums. This means we are only considering the binary equality of +/// enums, not source equality. +/// +/// The two enums below are "binary equal", but not "source-level +/// equal": +/// +/// enum foo +/// { +/// e0 = 0; +/// e1 = 1; +/// e2 = 2; +/// }; +/// +/// enum foo +/// { +/// e0 = 0; +/// e1 = 1; +/// e2 = 2; +/// e_added = 1; +/// }; +/// +/// @param f true iff using 'binary-only' equality for enums +/// comparison. +void +environment::use_enum_binary_only_equality(bool f) const +{priv_->use_enum_binary_only_equality_ = f;} + /// Test if a given type is a void type as defined in the current /// environment. /// @@ -3186,6 +3644,207 @@ environment::get_config() const {return priv_->config_;} +#ifdef WITH_DEBUG_SELF_COMPARISON +/// Setter of the corpus of the input corpus of the self comparison +/// that takes place when doing "abidw --debug-abidiff <binary>". +/// +/// The first invocation of this function sets the first corpus of the +/// self comparison. The second invocation of this very same function +/// sets the second corpus of the self comparison. That second corpus +/// is supposed to come from the abixml serialization of the first +/// corpus. +/// +/// @param c the corpus of the input binary or the corpus of the +/// abixml serialization of the initial binary input. +void +environment::set_self_comparison_debug_input(const corpus_sptr& c) +{ + self_comparison_debug_is_on(true); + if (priv_->first_self_comparison_corpus_.expired()) + priv_->first_self_comparison_corpus_ = c; + else if (priv_->second_self_comparison_corpus_.expired() + && c.get() != corpus_sptr(priv_->first_self_comparison_corpus_).get()) + priv_->second_self_comparison_corpus_ = c; +} + +/// Getter for the corpora of the input binary and the intermediate +/// abixml of the self comparison that takes place when doing +/// 'abidw --debug-abidiff <binary>'. +/// +/// @param first_corpus output parameter that is set to the corpus of +/// the input corpus. +/// +/// @param second_corpus output parameter that is set to the corpus of +/// the second corpus. +void +environment::get_self_comparison_debug_inputs(corpus_sptr& first_corpus, + corpus_sptr& second_corpus) +{ + first_corpus = priv_->first_self_comparison_corpus_.lock(); + second_corpus = priv_->second_self_comparison_corpus_.lock(); +} + +/// Turn on/off the self comparison debug mode. +/// +/// @param f true iff the self comparison debug mode is turned on. +void +environment::self_comparison_debug_is_on(bool f) +{priv_->self_comparison_debug_on_ = f;} + +/// Test if we are in the process of the 'self-comparison +/// debugging' as triggered by 'abidw --debug-abidiff' command. +/// +/// @return true if self comparison debug is on. +bool +environment::self_comparison_debug_is_on() const +{return priv_->self_comparison_debug_on_;} +#endif + +#ifdef WITH_DEBUG_TYPE_CANONICALIZATION +/// Set the "type canonicalization debugging" mode, triggered by using +/// the command: "abidw --debug-tc". +/// +/// @param flag if true then the type canonicalization debugging mode +/// is enabled. +void +environment::debug_type_canonicalization_is_on(bool flag) +{priv_->debug_type_canonicalization_ = flag;} + +/// Getter of the "type canonicalization debugging" mode, triggered by +/// using the command: "abidw --debug-tc". +/// +/// @return true iff the type canonicalization debugging mode is +/// enabled. +bool +environment::debug_type_canonicalization_is_on() const +{return priv_->debug_type_canonicalization_;} +#endif // WITH_DEBUG_TYPE_CANONICALIZATION + +/// Get the vector of canonical types which have a given "string +/// representation". +/// +/// @param 'name', the textual representation of the type as returned +/// by type_or_decl_base::get_pretty_representation(/*internal=*/true, +/// /*qualified=*/true) +/// +/// This is useful to for debugging purposes as it's handy to use from +/// inside a debugger like GDB. +/// +/// @return a pointer to the vector of canonical types having the +/// representation @p name, or nullptr if no type with that +/// representation exists. +vector<type_base_sptr>* +environment::get_canonical_types(const char* name) +{ + auto ti = get_canonical_types_map().find(name); + if (ti == get_canonical_types_map().end()) + return nullptr; + return &ti->second; +} + +/// Get a given canonical type which has a given "string +/// representation". +/// +/// @param 'name', the textual representation of the type as returned +/// by type_or_decl_base::get_pretty_representation(/*internal=*/true, +/// /*qualified=*/true). +/// +/// @param index, the index of the type in the vector of types that +/// all have the same textual representation @p 'name'. That vector +/// is returned by the function environment::get_canonical_types(). +/// +/// @return the canonical type which has the representation @p name, +/// and which is at index @p index in the vector of canonical types +/// having that same textual representation. +type_base* +environment::get_canonical_type(const char* name, unsigned index) +{ + vector<type_base_sptr> *types = get_canonical_types(name); + if (!types ||index >= types->size()) + return nullptr; + return (*types)[index].get(); +} + +#ifdef WITH_DEBUG_SELF_COMPARISON +/// Get the set of abixml type-id and the pointer value of the +/// (canonical) type it's associated to. +/// +/// This is useful for debugging purposes, especially in the context +/// of the use of the command: +/// 'abidw --debug-abidiff <binary>'. +/// +/// @return the set of abixml type-id and the pointer value of the +/// (canonical) type it's associated to. +unordered_map<string, uintptr_t>& +environment::get_type_id_canonical_type_map() const +{return priv_->type_id_canonical_type_map_;} + +/// Getter of the map that associates the values of type pointers to +/// their type-id strings. +/// +/// Note that this map is populated at abixml reading time, (by +/// build_type()) when a given XML element representing a type is +/// read into a corresponding abigail::ir::type_base. +/// +/// This is used only for the purpose of debugging the +/// self-comparison process. That is, when invoking "abidw +/// --debug-abidiff". +/// +/// @return the map that associates the values of type pointers to +/// their type-id strings. +unordered_map<uintptr_t, string>& +environment::get_pointer_type_id_map() +{return priv_->pointer_type_id_map_;} + +/// Getter of the type-id that corresponds to the value of a pointer +/// to abigail::ir::type_base that was created from the abixml reader. +/// +/// That value is retrieved from the map returned from +/// environment::get_pointer_type_id_map(). +/// +/// That map is populated at abixml reading time, (by build_type()) +/// when a given XML element representing a type is read into a +/// corresponding abigail::ir::type_base. +/// +/// This is used only for the purpose of debugging the +/// self-comparison process. That is, when invoking "abidw +/// --debug-abidiff". +/// +/// @return the type-id strings that corresponds +string +environment::get_type_id_from_pointer(uintptr_t ptr) +{ + auto it = get_pointer_type_id_map().find(ptr); + if (it != get_pointer_type_id_map().end()) + return it->second; + return ""; +} + +/// Getter of the canonical type of the artifact designated by a +/// type-id. +/// +/// That type-id was generated by the abixml writer at the emitting +/// time of the abixml file. The corresponding canonical type was +/// stored in the map returned by +/// environment::get_type_id_canonical_type_map(). +/// +/// This is useful for debugging purposes, especially in the context +/// of the use of the command: +/// 'abidw --debug-abidiff <binary>'. +/// +/// @return the set of abixml type-id and the pointer value of the +/// (canonical) type it's associated to. +uintptr_t +environment::get_canonical_type_from_type_id(const char* type_id) +{ + if (!type_id) + return 0; + auto it = get_type_id_canonical_type_map().find(type_id); + if (it != get_type_id_canonical_type_map().end()) + return it->second; + return 0; +} +#endif // </environment stuff> // <type_or_decl_base stuff> @@ -3213,6 +3872,15 @@ bool hashing_started_; const environment* env_; translation_unit* translation_unit_; + // The location of an artifact as seen from its input by the + // artifact reader. This might be different from the source + // location advertised by the original emitter of the artifact + // emitter. + location artificial_location_; + // Flags if the current ABI artifact is artificial (i.e, *NOT* + // generated from the initial source code, but rather either + // artificially by the compiler or by libabigail itself). + bool is_artificial_; /// Constructor of the type_or_decl_base::priv private type. /// @@ -3227,7 +3895,8 @@ type_or_decl_ptr_(), hashing_started_(), env_(e), - translation_unit_() + translation_unit_(), + is_artificial_() {} enum type_or_decl_kind @@ -3303,6 +3972,29 @@ type_or_decl_base::~type_or_decl_base() {} +/// Getter of the flag that says if the artefact is artificial. +/// +/// Being artificial means it was not explicitely mentionned in the +/// source code, but was rather artificially created by the compiler +/// or libabigail. +/// +/// @return true iff the declaration is artificial. +bool +type_or_decl_base::get_is_artificial() const +{return priv_->is_artificial_;} + +/// Setter of the flag that says if the artefact is artificial. +/// +/// Being artificial means the artefact was not explicitely +/// mentionned in the source code, but was rather artificially created +/// by the compiler or by libabigail. +/// +/// @param f the new value of the flag that says if the artefact is +/// artificial. +void +type_or_decl_base::set_is_artificial(bool f) +{priv_->is_artificial_ = f;} + /// Getter for the "kind" property of @ref type_or_decl_base type. /// /// This property holds the identifier bitmap of the runtime type of @@ -3413,6 +4105,52 @@ type_or_decl_base::get_environment() const {return priv_->env_;} +/// Setter of the artificial location of the artificat. +/// +/// The artificial location is a location that was artificially +/// generated by libabigail, not generated by the original emitter of +/// the ABI meta-data. For instance, when reading an XML element from +/// an abixml file, the artificial location is the source location of +/// the XML element within the file, not the value of the +/// 'location'property that might be carried by the element. +/// +/// Artificial locations might be useful to ensure that abixml emitted +/// by the abixml writer are sorted the same way as the input abixml +/// read by the reader. +/// +/// @param l the new artificial location. +void +type_or_decl_base::set_artificial_location(const location &l) +{priv_->artificial_location_ = l;} + +/// Getter of the artificial location of the artifact. +/// +/// The artificial location is a location that was artificially +/// generated by libabigail, not generated by the original emitter of +/// the ABI meta-data. For instance, when reading an XML element from +/// an abixml file, the artificial location is the source location of +/// the XML element within the file, not the value of the +/// 'location'property that might be carried by the element. +/// +/// Artificial locations might be useful to ensure that the abixml +/// emitted by the abixml writer is sorted the same way as the input +/// abixml read by the reader. +/// +/// @return the new artificial location. +location& +type_or_decl_base::get_artificial_location() const +{return priv_->artificial_location_;} + +/// Test if the current ABI artifact carries an artificial location. +/// +/// @return true iff the current ABI artifact carries an artificial location. +bool +type_or_decl_base::has_artificial_location() const +{ + return (priv_->artificial_location_ + && priv_->artificial_location_.get_is_artificial()); +} + /// Getter of the environment of the current ABI artifact. /// /// @return the environment of the artifact. @@ -3587,8 +4325,6 @@ { bool in_pub_sym_tab_; bool is_anonymous_; - bool is_artificial_; - bool has_anonymous_parent_; location location_; context_rel *context_; interned_string name_; @@ -3608,29 +4344,26 @@ // Unline qualified_name_, scoped_name_ contains the name of the // decl and the name of its scope; not the qualified name of the // scope. - interned_string scoped_name_; + interned_string scoped_name_; interned_string linkage_name_; visibility visibility_; decl_base_sptr declaration_; decl_base_wptr definition_of_declaration_; decl_base* naked_definition_of_declaration_; bool is_declaration_only_; + typedef_decl_sptr naming_typedef_; priv() : in_pub_sym_tab_(false), is_anonymous_(true), - is_artificial_(false), - has_anonymous_parent_(false), context_(), visibility_(VISIBILITY_DEFAULT), naked_definition_of_declaration_(), is_declaration_only_(false) {} - priv(interned_string name, const location& locus, - interned_string linkage_name, visibility vis) + priv(interned_string name, interned_string linkage_name, visibility vis) : in_pub_sym_tab_(false), - location_(locus), context_(), name_(name), qualified_name_(name), @@ -3640,20 +4373,8 @@ is_declaration_only_(false) { is_anonymous_ = name_.empty(); - has_anonymous_parent_ = false; } - priv(const location& l) - : in_pub_sym_tab_(false), - is_anonymous_(true), - has_anonymous_parent_(false), - location_(l), - context_(), - visibility_(VISIBILITY_DEFAULT), - naked_definition_of_declaration_(), - is_declaration_only_(false) - {} - ~priv() { delete context_; @@ -3679,8 +4400,9 @@ const string& linkage_name, visibility vis) : type_or_decl_base(e, ABSTRACT_DECL_BASE), - priv_(new priv(e->intern(name), locus, e->intern(linkage_name), vis)) + priv_(new priv(e->intern(name), e->intern(linkage_name), vis)) { + set_location(locus); } /// Constructor. @@ -3702,8 +4424,10 @@ const interned_string& linkage_name, visibility vis) : type_or_decl_base(e, ABSTRACT_DECL_BASE), - priv_(new priv(name, locus, linkage_name, vis)) -{} + priv_(new priv(name, linkage_name, vis)) +{ + set_location(locus); +} /// Constructor for the @ref decl_base type. /// @@ -3714,8 +4438,10 @@ /// code. decl_base::decl_base(const environment* e, const location& l) : type_or_decl_base(e, ABSTRACT_DECL_BASE), - priv_(new priv(l)) -{} + priv_(new priv()) +{ + set_location(l); +} decl_base::decl_base(const decl_base& d) : type_or_decl_base(d) @@ -3870,13 +4596,38 @@ /// you need to use the method @ref /// location_manager::create_new_location(). /// +/// Note that there can be two kinds of location. An artificial +/// location and a non-artificial one. The non-artificial location is +/// the one emitted by the original emitter of the ABI artifact, for +/// instance, if the ABI artifact comes from debug info, then the +/// source location that is present in the debug info represent a +/// non-artificial location. When looking at an abixml file on the +/// other hand, the value of the 'location' attribute of an XML +/// element describing an artifact is the non-artificial location. +/// The artificial location is the location (line number from the +/// beginning of the file) of the XML element within the abixml file. +/// +/// So, if the location that is being set is artificial, note that the +/// type_or_decl_base::has_artificial_location() method of this decl will +/// subsequently return true and that artificial location will have to +/// be retrieved using type_or_decl_base::get_artificial_location(). +/// If the location is non-artificial however, +/// type_or_decl_base::has_artificial_location() will subsequently +/// return false and the non-artificial location will have to be +/// retrieved using decl_base::get_location(). +/// /// The instance of @ref location_manager that you want is /// accessible from the instance of @ref translation_unit that the /// current instance of @ref decl_base belongs to, via a call to /// translation_unit::get_loc_mgr(). void decl_base::set_location(const location& l) -{priv_->location_ = l;} +{ + if (l.get_is_artificial()) + set_artificial_location(l); + else + priv_->location_ = l; +} /// Setter for the name of the decl. /// @@ -3908,28 +4659,6 @@ decl_base::set_is_anonymous(bool f) {priv_->is_anonymous_ = f;} -/// Getter of the flag that says if the declaration is artificial. -/// -/// Being artificial means the parameter was not explicitely -/// mentionned in the source code, but was rather artificially created -/// by the compiler. -/// -/// @return true iff the declaration is artificial. -bool -decl_base::get_is_artificial() const -{return priv_->is_artificial_;} - -/// Setter of the flag that says if the declaration is artificial. -/// -/// Being artificial means the parameter was not explicitely -/// mentionned in the source code, but was rather artificially created -/// by the compiler. -/// -/// @param f the new value of the flag that says if the declaration is -/// artificial. -void -decl_base::set_is_artificial(bool f) -{priv_->is_artificial_ = f;} /// Get the "has_anonymous_parent" flag of the current declaration. /// @@ -3940,18 +4669,12 @@ /// which is anonymous. bool decl_base::get_has_anonymous_parent() const -{return priv_->has_anonymous_parent_;} - -/// Set the "has_anonymous_parent" flag of the current declaration. -/// -/// Having an anonymous parent means having a anonymous parent scope -/// (containing type or namespace) which is either direct or indirect. -/// -/// @param f set the flag which says if the current decl has a direct -/// or indirect scope which is anonymous. -void -decl_base::set_has_anonymous_parent(bool f) const -{priv_->has_anonymous_parent_ = f;} +{ + scope_decl *scope = get_scope(); + if (!scope) + return false; + return scope->get_is_anonymous(); +} /// @return the logical "OR" of decl_base::get_is_anonymous() and /// decl_base::get_has_anonymous_parent(). @@ -3959,6 +4682,57 @@ decl_base::get_is_anonymous_or_has_anonymous_parent() const {return get_is_anonymous() || get_has_anonymous_parent();} +/// Getter for the naming typedef of the current decl. +/// +/// Consider the C idiom: +/// +/// typedef struct {int member;} foo_type; +/// +/// In that idiom, foo_type is the naming typedef of the anonymous +/// struct that is declared. +/// +/// @return the naming typedef, if any. Otherwise, returns nil. +typedef_decl_sptr +decl_base::get_naming_typedef() const +{return priv_->naming_typedef_;} + +/// Set the naming typedef of the current instance of @ref decl_base. +/// +/// Consider the C idiom: +/// +/// typedef struct {int member;} foo_type; +/// +/// In that idiom, foo_type is the naming typedef of the anonymous +/// struct that is declared. +/// +/// After completion of this function, the decl will not be considered +/// anonymous anymore. It's name is going to be the name of the +/// naming typedef. +/// +/// @param typedef_type the new naming typedef. +void +decl_base::set_naming_typedef(const typedef_decl_sptr& t) +{ + // A naming typedef is usually for an anonymous type. + ABG_ASSERT(get_is_anonymous() + // Whe the typedef-named decl is saved into abixml, it's + // not anonymous anymore. Its name is the typedef name. + // So when we read it back, we must still be able to + // apply the naming typedef to the decl. + || t->get_name() == get_name()); + // Only non canonicalized types can be edited this way. + ABG_ASSERT(is_type(this) + && is_type(this)->get_naked_canonical_type() == nullptr); + + priv_->naming_typedef_ = t; + set_name(t->get_name()); + set_qualified_name(t->get_qualified_name()); + set_is_anonymous(false); + // Now that the qualified type of the decl has changed, let's update + // the qualified names of the member types of this decls. + update_qualified_name(this); +} + /// Getter for the mangled name. /// /// @return the new mangled name. @@ -4033,10 +4807,15 @@ /// Get the pretty representatin of the current declaration. /// /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @param qualified_name if true, names emitted in the pretty /// representation are fully qualified. @@ -4272,7 +5051,37 @@ *k |= LOCAL_NON_TYPE_CHANGE_KIND; } } - return result; + ABG_RETURN(result); +} + +/// Get the name of a decl for the purpose of comparing two decl +/// names. +/// +/// This is a sub-routine of the 'equal' overload for decl_base. +/// +/// This function takes into account the fact that all anonymous names +/// shall have the same name for the purpose of comparison. +/// +/// For decls that are part of an anonymous scope, only the +/// non-qualified name should be taken into account. +static interned_string +get_decl_name_for_comparison(const decl_base &d) +{ + if (has_generic_anonymous_internal_type_name(&d) + && d.get_is_anonymous()) + { + // The decl is anonymous. It should have the same name ass the + // other anymous types of the same kind. + string r; + r += get_generic_anonymous_internal_type_name(&d); + return d.get_environment()->intern(r); + } + + interned_string n = (is_anonymous_or_typedef_named(d) + || scope_anonymous_or_typedef_named(d)) + ? d.get_name() + : d.get_qualified_name(/*internal=*/true); + return n; } /// Compares two instances of @ref decl_base. @@ -4311,22 +5120,26 @@ const function_decl *f1 = is_function_decl(&l), *f2 = is_function_decl(&r); if (f1 && f2 && function_decls_alias(*f1, *f2)) - ;// The two functions are aliases, so they are not different. + ;// The two functions are aliases, so they are not + // different. else { result = false; if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } } } - // This is the name of the decls that we want to compare. - interned_string ln = l.get_qualified_name(), rn = r.get_qualified_name(); + // This is the qualified name of the decls that we want to compare. + // We want to use the "internal" version of the qualified name as + // that one is stable even for anonymous decls. + interned_string ln = get_decl_name_for_comparison(l); + interned_string rn = get_decl_name_for_comparison(r); - /// If both of the current decls have an anonymous scope then let's + ; /// If both of the current decls have an anonymous scope then let's /// compare their name component by component by properly handling /// anonymous scopes. That's the slow path. /// @@ -4338,8 +5151,7 @@ && l.get_is_anonymous() && !l.get_has_anonymous_parent() && r.get_is_anonymous() - && !r.get_has_anonymous_parent() - && (l.get_qualified_parent_name() == r.get_qualified_parent_name())) + && !r.get_has_anonymous_parent()) // Both decls are anonymous and their scope are *NOT* anonymous. // So we consider the decls to have equivalent names (both // anonymous, remember). We are still in the fast path here. @@ -4359,12 +5171,12 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } result &= maybe_compare_as_member_decls(l, r, k); - return result; + ABG_RETURN(result); } /// Return true iff the two decls have the same name. @@ -4929,6 +5741,13 @@ return var_decl_sptr(); } +/// Get the last data member of a class type. +/// +/// @param klass the class type to consider. +var_decl_sptr +get_last_data_member(const class_or_union_sptr &klass) +{return klass->get_non_static_data_members().back();} + /// Test if a decl is an anonymous data member. /// /// @param d the decl to consider. @@ -5040,6 +5859,7 @@ is_anonymous_data_member(const var_decl& d) { return (is_data_member(d) + && d.get_is_anonymous() && d.get_name().empty() && is_class_or_union_type(d.get_type())); } @@ -5113,6 +5933,35 @@ return class_or_union_sptr(); } +/// Test if the scope of a given decl is anonymous or anonymous with a +/// naming typedef. +/// +/// @param d the decl consider. +/// +/// @return true iff the scope of @p d is anonymous or anonymous with +/// a naming typedef. +bool +scope_anonymous_or_typedef_named(const decl_base& d) +{ + if (d.get_has_anonymous_parent() + || (d.get_scope() && d.get_scope()->get_naming_typedef())) + return true; + return false; +} + +/// Test if a given decl is anonymous or has a naming typedef. +/// +/// @param d the decl to consider. +/// +/// @return true iff @p d is anonymous or has a naming typedef. +bool +is_anonymous_or_typedef_named(const decl_base& d) +{ + if (d.get_is_anonymous() || d.get_naming_typedef()) + return true; + return false; +} + /// Set the offset of a data member into its containing class. /// /// @param m the data member to consider. @@ -5163,6 +6012,35 @@ get_data_member_offset(const decl_base_sptr d) {return get_data_member_offset(dynamic_pointer_cast<var_decl>(d));} +/// Get the offset of the non-static data member that comes after a +/// given one. +/// +/// If there is no data member after after the one given to this +/// function (maybe because the given one is the last data member of +/// the class type) then the function return false. +/// +/// @param klass the class to consider. +/// +/// @param dm the data member before the one we want to retrieve. +/// +/// @param offset out parameter. This parameter is set by the +/// function to the offset of the data member that comes right after +/// the data member @p dm, iff the function returns true. +/// +/// @return true iff the data member coming right after @p dm was +/// found. +bool +get_next_data_member_offset(const class_or_union_sptr& klass, + const var_decl_sptr& dm, + uint64_t& offset) +{ + var_decl_sptr next_dm = get_next_data_member(klass, dm); + if (!next_dm) + return false; + offset = get_data_member_offset(next_dm); + return true; +} + /// Get the absolute offset of a data member. /// /// If the data member is part of an anonymous data member then this @@ -5755,6 +6633,46 @@ return t->get_canonical_type() ? t->get_canonical_type() : t; } +/// Strip qualification from a qualified type, when it makes sense. +/// +/// DWARF constructs "const reference". This is redundant because a +/// reference is always const. It also constructs the useless "const +/// void" type. The issue is these redundant types then leak into the +/// IR and make for bad diagnostics. +/// +/// This function thus strips the const qualifier from the type in +/// that case. It might contain code to strip other cases like this +/// in the future. +/// +/// @param t the type to strip const qualification from. +/// +/// @return the stripped type or just return @p t. +decl_base_sptr +strip_useless_const_qualification(const qualified_type_def_sptr t) +{ + if (!t) + return t; + + decl_base_sptr result = t; + type_base_sptr u = t->get_underlying_type(); + environment* env = t->get_environment(); + + if ((t->get_cv_quals() & qualified_type_def::CV_CONST + && (is_reference_type(u))) + || (t->get_cv_quals() & qualified_type_def::CV_CONST + && env->is_void_type(u)) + || t->get_cv_quals() == qualified_type_def::CV_NONE) + // Let's strip the const qualifier because a reference is always + // 'const' and a const void doesn't make sense. They will just + // lead to spurious changes later down the pipeline, that we'll + // have to deal with by doing painful and error-prone editing of + // the diff IR. Dropping that useless and inconsistent artefact + // right here seems to be a good way to go. + result = is_decl(u); + + return result; +} + /// Return the leaf underlying type node of a @ref typedef_decl node. /// /// If the underlying type of a @ref typedef_decl node is itself a @@ -6061,8 +6979,8 @@ } /// Return the leaf underlying or pointed-to type node of a @ref -/// typedef_decl, @ref pointer_type_def or @ref reference_type_def -/// node. +/// typedef_decl, @ref pointer_type_def, @ref reference_type_def, +/// or @ref array_type_def node. /// /// @param type the type to peel. /// @@ -6073,7 +6991,8 @@ type_base_sptr typ = type; while (is_typedef(typ) || is_pointer_type(typ) - || is_reference_type(typ)) + || is_reference_type(typ) + || is_array_type(typ)) { if (typedef_decl_sptr t = is_typedef(typ)) typ = peel_typedef_type(t); @@ -6083,6 +7002,9 @@ if (reference_type_def_sptr t = is_reference_type(typ)) typ = peel_reference_type(t); + + if (const array_type_def_sptr t = is_array_type(typ)) + typ = peel_array_type(t); } return typ; @@ -6100,7 +7022,8 @@ { while (is_typedef(type) || is_pointer_type(type) - || is_reference_type(type)) + || is_reference_type(type) + || is_array_type(type)) { if (const typedef_decl* t = is_typedef(type)) type = peel_typedef_type(t); @@ -6110,6 +7033,9 @@ if (const reference_type_def* t = is_reference_type(type)) type = peel_reference_type(t); + + if (const array_type_def* t = is_array_type(type)) + type = peel_array_type(t); } return const_cast<type_base*>(type); @@ -6130,6 +7056,7 @@ { while (is_pointer_type(type) || is_reference_type(type) + || is_array_type(type) || (peel_qual_type && is_qualified_type(type))) { if (const pointer_type_def* t = is_pointer_type(type)) @@ -6626,11 +7553,6 @@ update_qualified_name(member); - // Propagate scope anonymity - if (get_has_anonymous_parent() - || (!is_global_scope(this) && get_is_anonymous())) - member->set_has_anonymous_parent(true); - if (const environment* env = get_environment()) set_environment_for_artifact(member, env); @@ -6765,7 +7687,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } scope_decl::declarations::const_iterator i, j; @@ -6782,7 +7704,7 @@ break; } else - return false; + ABG_RETURN_FALSE; } } @@ -6792,10 +7714,10 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } - return result; + ABG_RETURN(result); } /// Return true iff both scopes have the same names and have the same @@ -7392,12 +8314,6 @@ if (internal && d->get_is_anonymous()) { string r; - if (qualified) - { - r = d->get_qualified_parent_name(); - if (!r.empty()) - r += "::"; - } r += get_generic_anonymous_internal_type_name(d); return t->get_environment()->intern(r); } @@ -8059,6 +8975,249 @@ internal, qualified_names);} +/// Get the textual representation of a type for debugging purposes. +/// +/// If the type is a class/union, this shows the data members, virtual +/// member functions, size, pointer value of its canonical type, etc. +/// Otherwise, this just shows the name of the artifact as returned by +/// type_or_decl_base:get_pretty_representation(). +/// +/// @param artifact the artifact to show a debugging representation of. +/// +/// @return a debugging string representation of @p artifact. +string +get_debug_representation(const type_or_decl_base* artifact) +{ + if (!artifact) + return string(""); + + class_or_union * c = is_class_or_union_type(artifact); + if (c) + { + class_decl *clazz = is_class_type(c); + string name = c->get_qualified_name(); + std::ostringstream o; + o << name; + + if (clazz) + { + if (!clazz->get_base_specifiers().empty()) + o << " :" << std::endl; + for (auto &b : clazz->get_base_specifiers()) + { + o << " "; + if (b->get_is_virtual()) + o << "virtual "; + o << b->get_base_class()->get_qualified_name() + << std::endl; + } + } + o << std::endl + << "{" + << " // size in bits: " << c->get_size_in_bits() << "\n" + << " // is-declaration-only: " << c->get_is_declaration_only() << "\n" + << " // definition point: " << get_natural_or_artificial_location(c).expand() << "\n" + << " // translation unit: " << c->get_translation_unit()->get_absolute_path() << std::endl + << " // @: " << std::hex << is_type(c) + << ", @canonical: " << c->get_canonical_type().get() << std::dec + << "\n\n"; + + for (auto m : c->get_data_members()) + { + type_base_sptr t = m->get_type(); + t = peel_typedef_pointer_or_reference_type(t); + + o << " " + << m->get_pretty_representation(/*internal=*/false, + /*qualified=*/false) + << ";"; + + if (t && t->get_canonical_type()) + o << " // uses canonical type '@" + << std::hex << t->get_canonical_type().get() << std::dec; + + o << "'" << std::endl; + } + + if (clazz && clazz->has_vtable()) + { + o << " // virtual member functions\n\n"; + for (auto f : clazz->get_virtual_mem_fns()) + o << " " << f->get_pretty_representation(/*internal=*/false, + /*qualified=*/false) + << ";" << std::endl; + } + + o << "};" << std::endl; + + return o.str(); + } + else if (const enum_type_decl* e = is_enum_type(artifact)) + { + string name = e->get_qualified_name(); + std::ostringstream o; + o << name + << " : " + << e->get_underlying_type()->get_pretty_representation(/*internal=*/false, + true) + << "\n" + << "{\n" + << " // size in bits: " << e->get_size_in_bits() << "\n" + << " // is-declaration-only: " << e->get_is_declaration_only() << "\n" + << " // definition point: " << get_natural_or_artificial_location(e).expand() << "\n" + << " // translation unit: " + << e->get_translation_unit()->get_absolute_path() << "\n" + << " // @: " << std::hex << is_type(e) + << ", @canonical: " << e->get_canonical_type().get() << std::dec + << "\n\n"; + + for (const auto &enom : e->get_enumerators()) + o << " " << enom.get_name() << " = " << enom.get_value() << ",\n"; + + o << "};\n"; + + return o.str(); + } + return artifact->get_pretty_representation(/*internal=*/true, + /*qualified=*/true); +} + +/// Get a given data member, referred to by its name, of a class type. +/// +/// @param clazz the class to consider. +/// +/// @param member_name name of the data member to get. +/// +/// @return the resulting data member or nullptr if none was found. +var_decl_sptr +get_data_member(class_or_union *clazz, const char* member_name) +{ + if (!clazz) + return var_decl_sptr(); + return clazz->find_data_member(member_name); +} + +/// Get a given data member, referred to by its name, of a class type. +/// +/// @param clazz the class to consider. +/// +/// @param member_name name of the data member to get. +/// +/// @return the resulting data member or nullptr if none was found. +var_decl_sptr +get_data_member(type_base *clazz, const char* member_name) +{return get_data_member(is_class_or_union_type(clazz), member_name);} + +/// Get the non-artificial (natural) location of a decl. +/// +/// If the decl doesn't have a natural location then return its +/// artificial one. +/// +/// @param decl the decl to consider. +/// +/// @return the natural location @p decl if it has one; otherwise, +/// return its artificial one. +const location& +get_natural_or_artificial_location(const decl_base* decl) +{ + ABG_ASSERT(decl); + + if (decl->get_location()) + return decl->get_location(); + return decl->get_artificial_location(); +} + +/// Get the artificial location of a decl. +/// +/// If the decl doesn't have an artificial location then return its +/// natural one. +/// +/// @param decl the decl to consider. +/// +/// @return the artificial location @p decl if it has one; otherwise, +/// return its natural one. +const location& +get_artificial_or_natural_location(const decl_base* decl) +{ + ABG_ASSERT(decl); + + if (decl->has_artificial_location()) + return decl->get_artificial_location(); + return decl->get_location(); +} + +/// Emit a textual representation of an artifact to std error stream +/// for debugging purposes. +/// +/// This is useful to invoke from within a command line debugger like +/// GDB to help make sense of a given ABI artifact. +/// +/// @param artifact the ABI artifact to emit the debugging +/// representation for. +/// +/// @return the artifact @p artifact. +type_or_decl_base* +debug(const type_or_decl_base* artifact) +{ + std::cerr << get_debug_representation(artifact) << std::endl; + return const_cast<type_or_decl_base*>(artifact); +} + +/// Emit a textual representation of an artifact to std error stream +/// for debugging purposes. +/// +/// This is useful to invoke from within a command line debugger like +/// GDB to help make sense of a given ABI artifact. +/// +/// @param artifact the ABI artifact to emit the debugging +/// representation for. +/// +/// @return the artifact @p artifact. +type_base* +debug(const type_base* artifact) +{ + debug(static_cast<const type_or_decl_base*>(artifact)); + return const_cast<type_base*>(artifact); +} + +/// Emit a textual representation of an artifact to std error stream +/// for debugging purposes. +/// +/// This is useful to invoke from within a command line debugger like +/// GDB to help make sense of a given ABI artifact. +/// +/// @param artifact the ABI artifact to emit the debugging +/// representation for. +/// +/// @return the artifact @p artifact. +decl_base* +debug(const decl_base* artifact) +{ + debug(static_cast<const type_or_decl_base*>(artifact)); + return const_cast<decl_base*>(artifact); +} + +/// Test if two ABI artifacts are equal. +/// +/// This can be useful when used from the command line of a debugger +/// like GDB. +/// +/// @param l the first ABI artifact to consider in the comparison. +/// +/// @param r the second ABI artifact to consider in the comparison. +/// +/// @return true iff @p l equals @p r. +bool +debug_equals(const type_or_decl_base *l, const type_or_decl_base *r) +{ + if (!!l != !!r) + return false; + if (!l && !r) + return true; + + return (*l == *r); +} + /// By looking at the language of the TU a given ABI artifact belongs /// to, test if the ONE Definition Rule should apply. /// @@ -8496,9 +9655,9 @@ /// /// @return true iff @p t is anonymous. bool -is_anonymous_type(type_base* t) +is_anonymous_type(const type_base* t) { - decl_base* d = get_type_declaration(t); + const decl_base* d = get_type_declaration(t); if (d) if (d->get_is_anonymous()) { @@ -8880,32 +10039,6 @@ is_qualified_type(const type_or_decl_base_sptr& t) {return dynamic_pointer_cast<qualified_type_def>(t);} -/// Strip a type from its top level no-op qualifier. -/// -/// Note that a no-op qualifier is how we represents, for instance, a -/// "const reference". As a reference is always const, that const -/// qualifier just adds noise in terms of change analysis. Se we -/// represent it as a no-op qualifier so that we can strip it. -/// -/// @param t to type to strip from its potential top-level no-op -/// qualifier. -/// -/// @return If @t is a no-op qualified type, then return the first -/// underlying type that is not a no-op qualified type. -type_base_sptr -look_through_no_op_qualified_type(const type_base_sptr& t) -{ - type_base_sptr ty; - if (qualified_type_def_sptr qt = is_qualified_type(t)) - if (qt->get_cv_quals() == qualified_type_def::CV_NONE) - ty = qt->get_underlying_type(); - - if (is_qualified_type(ty)) - return look_through_no_op_qualified_type(ty); - - return ty ? ty : t; -} - /// Test whether a type is a function_type. /// /// @param t the type to test. @@ -8979,16 +10112,6 @@ /// If a class (or union) is a decl-only class, get its definition. /// Otherwise, just return the initial class. /// -/// @param the_class the class (or union) to consider. -/// -/// @return either the definition of the class, or the class itself. -class_or_union_sptr -look_through_decl_only_class(const class_or_union& the_class) -{return is_class_or_union_type(look_through_decl_only(the_class));} - -/// If a class (or union) is a decl-only class, get its definition. -/// Otherwise, just return the initial class. -/// /// @param klass the class (or union) to consider. /// /// @return either the definition of the class, or the class itself. @@ -8999,16 +10122,6 @@ /// If an enum is a decl-only enum, get its definition. /// Otherwise, just return the initial enum. /// -/// @param the_enum the enum to consider. -/// -/// @return either the definition of the enum, or the enum itself. -enum_type_decl_sptr -look_through_decl_only_enum(const enum_type_decl& the_enum) -{return is_enum_type(look_through_decl_only(the_enum));} - -/// If an enum is a decl-only enum, get its definition. -/// Otherwise, just return the initial enum. -/// /// @param enom the enum to consider. /// /// @return either the definition of the enum, or the enum itself. @@ -9016,28 +10129,6 @@ look_through_decl_only_enum(enum_type_decl_sptr enom) {return is_enum_type(look_through_decl_only(enom));} -/// If a decl is decl-only get its definition. Otherwise, just return nil. -/// -/// @param d the decl to consider. -/// -/// @return either the definition of the decl, or nil. -decl_base_sptr -look_through_decl_only(const decl_base& d) -{ - decl_base_sptr decl; - if (d.get_is_declaration_only()) - decl = d.get_definition_of_declaration(); - - if (!decl) - return decl; - - while (decl->get_is_declaration_only() - && decl->get_definition_of_declaration()) - decl = decl->get_definition_of_declaration(); - - return decl; -} - /// If a decl is decl-only enum, get its definition. Otherwise, just /// return the initial decl. /// @@ -9047,14 +10138,8 @@ decl_base* look_through_decl_only(decl_base* d) { - if (!d) - return d; - - decl_base* result = look_through_decl_only(*d).get(); - if (!result) - result = d; - - return result; + decl_base_sptr decl(d, sptr_utils::noop_deleter()); + return look_through_decl_only(decl).get(); } /// If a decl is decl-only get its definition. Otherwise, just return nil. @@ -9063,16 +10148,20 @@ /// /// @return either the definition of the decl, or nil. decl_base_sptr -look_through_decl_only(const decl_base_sptr& d) +look_through_decl_only(decl_base_sptr d) { if (!d) return d; - decl_base_sptr result = look_through_decl_only(*d); - if (!result) - result = d; + while (d->get_is_declaration_only()) + { + decl_base_sptr definition = d->get_definition_of_declaration(); + if (!definition) + break; + d = definition; + } - return result; + return d; } /// Tests if a declaration is a variable declaration. @@ -12391,44 +13480,7 @@ { } -// <type_base definitions> - -/// Definition of the private data of @ref type_base. -struct type_base::priv -{ - size_t size_in_bits; - size_t alignment_in_bits; - type_base_wptr canonical_type; - // The data member below holds the canonical type that is managed by - // the smart pointer referenced by the canonical_type data member - // above. We are storing this underlying (naked) pointer here, so - // that users can access it *fast*. Otherwise, accessing - // canonical_type above implies creating a shared_ptr, and that has - // been measured to be slow for some performance hot spots. - type_base* naked_canonical_type; - // Computing the representation of a type again and again can be - // costly. So we cache the internal and non-internal type - // representation strings here. - interned_string internal_cached_repr_; - interned_string cached_repr_; - - priv() - : size_in_bits(), - alignment_in_bits(), - naked_canonical_type() - {} - - priv(size_t s, - size_t a, - type_base_sptr c = type_base_sptr()) - : size_in_bits(s), - alignment_in_bits(a), - canonical_type(c), - naked_canonical_type(c.get()) - {} -}; // end struct type_base::priv - -static void +static bool maybe_propagate_canonical_type(const type_base& lhs_type, const type_base& rhs_type); @@ -12474,6 +13526,16 @@ || (c2 && c2->get_is_anonymous() && !c2->get_naming_typedef())) return false; + // Two anonymous classes with naming typedefs should have the same + // typedef name. + if (c1 + && c2 + && c1->get_is_anonymous() && c1->get_naming_typedef() + && c2->get_is_anonymous() && c2->get_naming_typedef()) + if (c1->get_naming_typedef()->get_name() + != c2->get_naming_typedef()->get_name()) + return false; + // Two anonymous enum types cannot be eligible to this optimization. if (const enum_type_decl *e1 = is_enum_type(&t1)) if (const enum_type_decl *e2 = is_enum_type(&t2)) @@ -12532,6 +13594,61 @@ return false; } + +/// Compare a type T against a canonical type. +/// +/// This function is called during the canonicalization process of the +/// type T. T is called the "candidate type" because it's in the +/// process of being canonicalized. Meaning, it's going to be +/// compared to a canonical type C. If T equals C, then the canonical +/// type of T is C. +/// +/// The purpose of this function is to allow the debugging of the +/// canonicalization of T, if that debugging is activated by +/// configuring the libabigail package with +/// --enable-debug-type-canonicalization and by running "abidw +/// --debug-tc". In that case, T is going to be compared to C twice: +/// once with canonical equality and once with structural equality. +/// The two comparisons must be equal. Otherwise, the +/// canonicalization process is said to be faulty and this function +/// aborts. +/// +/// This is a sub-routine of type_base::get_canonical_type_for. +/// +/// @param canonical_type the canonical type to compare the candidate +/// type against. +/// +/// @param candidate_type the candidate type to compare against the +/// canonical type. +/// +/// @return true iff @p canonical_type equals @p candidate_type. +/// +static bool +compare_types_during_canonicalization(const type_base_sptr& canonical_type, + const type_base_sptr& candidate_type) +{ +#ifdef WITH_DEBUG_TYPE_CANONICALIZATION + environment *env = canonical_type->get_environment(); + if (env->debug_type_canonicalization_is_on()) + { + bool canonical_equality = false, structural_equality = false; + env->priv_->use_canonical_type_comparison_ = true; + canonical_equality = canonical_type == candidate_type; + env->priv_->use_canonical_type_comparison_ = false; + structural_equality = canonical_type == candidate_type; + if (canonical_equality != structural_equality) + { + std::cerr << "structural & canonical equality different for type: " + << canonical_type->get_pretty_representation(true, true) + << std::endl; + ABG_ASSERT_NOT_REACHED; + } + return structural_equality; + } +#endif //end WITH_DEBUG_TYPE_CANONICALIZATION + return canonical_type == candidate_type; +} + /// Compute the canonical type for a given instance of @ref type_base. /// /// Consider two types T and T'. The canonical type of T, denoted @@ -12563,6 +13680,10 @@ environment* env = t->get_environment(); ABG_ASSERT(env); + if (is_non_canonicalized_type(t)) + // This type should not be canonicalized! + return type_base_sptr(); + bool decl_only_class_equals_definition = (odr_is_relevant(*t) || env->decl_only_class_equals_definition()); @@ -12662,8 +13783,8 @@ // Compare types by considering that decl-only classes don't // equal their definition. env->decl_only_class_equals_definition(false); - bool equal = types_defined_same_linux_kernel_corpus_public(**it, *t) - || *it == t; + bool equal = (types_defined_same_linux_kernel_corpus_public(**it, *t) + || compare_types_during_canonicalization(*it, t)); // Restore the state of the on-the-fly-canonicalization and // the decl-only-class-being-equal-to-a-matching-definition // flags. @@ -12676,6 +13797,71 @@ break; } } +#ifdef WITH_DEBUG_SELF_COMPARISON + if (env->self_comparison_debug_is_on()) + { + // So we are debugging the canonicalization process, + // possibly via the use of 'abidw --debug-abidiff <binary>'. + corpus_sptr corp1, corp2; + env->get_self_comparison_debug_inputs(corp1, corp2); + if (corp1 && corp2 && t->get_corpus() == corp2.get()) + { + // If 't' comes from the second corpus, then it *must* + // be equal to its matching canonical type coming from + // the first corpus because the second corpus is the + // abixml representation of the first corpus. In other + // words, all types coming from the second corpus must + // have canonical types coming from the first corpus. + if (result) + { + if (!env->priv_-> + check_canonical_type_from_abixml_during_self_comp(t, + result)) + // The canonical type of the type re-read from abixml + // type doesn't match the canonical type that was + // initially serialized down. + std::cerr << "error: wrong canonical type for '" + << repr + << "' / type: @" + << std::hex + << t.get() + << "/ canon: @" + << result.get() + << std::endl; + } + else //!result + { + uintptr_t ptr_val = reinterpret_cast<uintptr_t>(t.get()); + string type_id = env->get_type_id_from_pointer(ptr_val); + if (type_id.empty()) + type_id = "type-id-<not-found>"; + // We are in the case where 't' is different from all + // the canonical types of the same name that come from + // the first corpus. + // + // If 't' indeed comes from the second corpus then this + // clearly is a canonicalization failure. + // + // There was a problem either during the serialization + // of 't' into abixml, or during the de-serialization + // from abixml into abigail::ir. Further debugging is + // needed to determine what that root cause problem is. + // + // Note that the first canonicalization problem of this + // kind must be fixed before looking at the subsequent + // ones, because the later might well just be + // consequences of the former. + std::cerr << "error: wrong induced canonical type for '" + << repr + << "' from second corpus" + << ", ptr: " << std::hex << t.get() + << "type-id: " << type_id + << std::endl; + } + } + } +#endif + if (!result) { v.push_back(t); @@ -12711,8 +13897,9 @@ maybe_adjust_canonical_type(const type_base_sptr& canonical, const type_base_sptr& type) { - if (// If 'type' is *NOT* a newly canonicalized type ... - type->get_naked_canonical_type() + if (!canonical + // If 'type' is *NOT* a newly canonicalized type ... + || type->get_naked_canonical_type() // ... or if 'type' is it's own canonical type, then get out. || type.get() == canonical.get()) return; @@ -12751,6 +13938,15 @@ } } } + + // If an artificial function type equals a non-artfificial one in + // the system, then the canonical type of both should be deemed + // non-artificial. This is important because only non-artificial + // canonical function types are emitted out into abixml, so if don't + // do this we risk missing to emit some function types. + if (is_function_type(type)) + if (type->get_is_artificial() != canonical->get_is_artificial()) + canonical->set_is_artificial(false); } /// Compute the canonical type of a given type. @@ -12798,9 +13994,23 @@ // Add the canonical type to the set of canonical types // belonging to its scope. if (scope) - scope->get_canonical_types().insert(canonical); - //else, if the type doesn't have a scope, it's doesn't meant - // to be emitted. This can be the case for the result of the + { + if (is_type(scope)) + // The scope in question is itself a type (e.g, a class + // or union). Let's call that type ST. We want to add + // 'canonical' to the set of canonical types belonging + // to ST. + if (type_base_sptr c = is_type(scope)->get_canonical_type()) + // We want to add 'canonical' to set of canonical + // types belonging to the canonical type of ST. That + // way, just looking at the canonical type of ST is + // enough to get the types that belong to the scope of + // the class of equivalence of ST. + scope = is_scope_decl(is_decl(c)).get(); + scope->get_canonical_types().insert(canonical); + } + // else, if the type doesn't have a scope, it's not meant to be + // emitted. This can be the case for the result of the // function strip_typedef, for instance. } @@ -12923,7 +14133,7 @@ if (!result) if (k) *k |= LOCAL_TYPE_CHANGE_KIND; - return result; + ABG_RETURN(result); } /// Return true iff both type declarations are equal. @@ -13384,12 +14594,12 @@ static_cast<const decl_base&>(r), k); if (!k && !result) - return false; + ABG_RETURN_FALSE; result &= equals(static_cast<const type_base&>(l), static_cast<const type_base&>(r), k); - return result; + ABG_RETURN(result); } /// Return true if both types equals. @@ -13476,10 +14686,15 @@ /// Get the pretty representation of the current instance of @ref /// type_decl. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @param qualified_name if true, names emitted in the pretty /// representation are fully qualified. @@ -13575,13 +14790,13 @@ k); if (!k && !result) - return false; + ABG_RETURN_FALSE; result &= equals(static_cast<const type_base&>(l), static_cast<const type_base&>(r), k); - return result; + ABG_RETURN(result); } /// Equality operator between two scope_type_decl. @@ -13693,10 +14908,15 @@ /// Build and return a copy of the pretty representation of the /// namespace. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @param qualified_name if true, names emitted in the pretty /// representation are fully qualified. @@ -13817,6 +15037,10 @@ : cv_quals_(quals), underlying_type_(t) {} + + priv(qualified_type_def::CV quals) + : cv_quals_(quals) + {} };// end class qualified_type_def::priv /// Build the name of the current instance of qualified type. @@ -13832,11 +15056,17 @@ string qualified_type_def::build_name(bool fully_qualified, bool internal) const { - ABG_ASSERT(get_underlying_type()); + type_base_sptr t = get_underlying_type(); + if (!t) + // The qualified type might temporarily have no underlying type, + // especially during the construction of the type, while the + // underlying type is not yet constructed. In that case, let's do + // like if the underlying type is the 'void' type. + t = get_environment()->get_void_type(); - return get_name_of_qualified_type(get_underlying_type(), - get_cv_quals(), - fully_qualified, internal); + return get_name_of_qualified_type(t, get_cv_quals(), + fully_qualified, + internal); } /// This function is automatically invoked whenever an instance of @@ -13875,6 +15105,32 @@ set_name(name); } +/// Constructor of the qualified_type_def +/// +/// @param env the environment of the type. +/// +/// @param quals a bitfield representing the const/volatile qualifiers +/// +/// @param locus the location of the qualified type definition +qualified_type_def::qualified_type_def(environment* env, + CV quals, + const location& locus) + : type_or_decl_base(env, + QUALIFIED_TYPE + | ABSTRACT_TYPE_BASE + | ABSTRACT_DECL_BASE), + type_base(env, /*size_in_bits=*/0, + /*alignment_in_bits=*/0), + decl_base(env, "", locus, ""), + priv_(new priv(quals)) +{ + runtime_type_instance(this); + // We don't yet have an underlying type. So for naming purpose, + // let's temporarily pretend the underlying type is 'void'. + interned_string name = env->intern("void"); + set_name(name); +} + /// Get the size of the qualified type def. /// /// This is an overload for type_base::get_size_in_bits(). @@ -13883,9 +15139,16 @@ size_t qualified_type_def::get_size_in_bits() const { - size_t s = get_underlying_type()->get_size_in_bits(); - if (s != type_base::get_size_in_bits()) - const_cast<qualified_type_def*>(this)->set_size_in_bits(s); + size_t s = 0; + if (type_base_sptr ut = get_underlying_type()) + { + // We do have the underlying type properly set, so let's make + // the size of the qualified type match the size of its + // underlying type. + s = ut->get_size_in_bits(); + if (s != type_base::get_size_in_bits()) + const_cast<qualified_type_def*>(this)->set_size_in_bits(s); + } return type_base::get_size_in_bits(); } @@ -13918,7 +15181,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } if (l.get_underlying_type() != r.get_underlying_type()) @@ -13940,10 +15203,10 @@ // putting it here to maintenance; that is, so that adding // subsequent clauses needed to compare two qualified types // later still works. - return false; + ABG_RETURN_FALSE; } - return result; + ABG_RETURN(result); } /// Equality operator for qualified types. @@ -14135,7 +15398,25 @@ /// @param t the new underlying type. void qualified_type_def::set_underlying_type(const type_base_sptr& t) -{priv_->underlying_type_ = t;} +{ + ABG_ASSERT(t); + priv_->underlying_type_ = t; + // Now we need to update other properties that depend on the new underlying type. + set_size_in_bits(t->get_size_in_bits()); + set_alignment_in_bits(t->get_alignment_in_bits()); + interned_string name = get_environment()->intern(build_name(false)); + set_name(name); + if (scope_decl* s = get_scope()) + { + // Now that the name has been updated, we need to update the + // lookup maps accordingly. + scope_decl::declarations::iterator i; + if (s->find_iterator_for_member(this, i)) + maybe_update_types_lookup_map(*i); + else + ABG_ASSERT_NOT_REACHED; + } +} /// Non-member equality operator for @ref qualified_type_def /// @@ -14260,6 +15541,16 @@ pointer_type_def::on_canonical_type_set() {clear_qualified_name();} + +///Constructor of @ref pointer_type_def. +/// +/// @param pointed_to the pointed-to type. +/// +/// @param size_in_bits the size of the type, in bits. +/// +/// @param align_in_bits the alignment of the type, in bits. +/// +/// @param locus the source location where the type was defined. pointer_type_def::pointer_type_def(const type_base_sptr& pointed_to, size_t size_in_bits, size_t align_in_bits, @@ -14287,6 +15578,55 @@ {} } +///Constructor of @ref pointer_type_def. +/// +/// @param env the environment of the type. +/// +/// @param size_in_bits the size of the type, in bits. +/// +/// @param align_in_bits the alignment of the type, in bits. +/// +/// @param locus the source location where the type was defined. +pointer_type_def::pointer_type_def(environment* env, size_t size_in_bits, + size_t alignment_in_bits, + const location& locus) + : type_or_decl_base(env, + POINTER_TYPE + | ABSTRACT_TYPE_BASE + | ABSTRACT_DECL_BASE), + type_base(env, size_in_bits, alignment_in_bits), + decl_base(env, "", locus, ""), + priv_(new priv()) +{ + runtime_type_instance(this); + string name = string("void") + "*"; + set_name(env->intern(name)); +} + +/// Set the pointed-to type of the pointer. +/// +/// @param t the new pointed-to type. +void +pointer_type_def::set_pointed_to_type(const type_base_sptr& t) +{ + ABG_ASSERT(t); + priv_->pointed_to_type_ = t; + priv_->naked_pointed_to_type_ = t.get(); + + try + { + const environment* env = t->get_environment(); + ABG_ASSERT(get_environment() == env); + decl_base_sptr pto = dynamic_pointer_cast<decl_base>(t); + string name = (pto ? pto->get_name() : string("void")) + "*"; + set_name(env->intern(name)); + if (pto) + set_visibility(pto->get_visibility()); + } + catch (...) + {} +} + /// Compares two instances of @ref pointer_type_def. /// /// If the two intances are different, set a bitfield to give some @@ -14309,9 +15649,7 @@ bool equals(const pointer_type_def& l, const pointer_type_def& r, change_kind* k) { - // Compare the pointed-to-types modulo the typedefs they might have - bool result = (peel_typedef_type(l.get_pointed_to_type()) - == peel_typedef_type(r.get_pointed_to_type())); + bool result = l.get_pointed_to_type() == r.get_pointed_to_type(); if (!result) if (k) { @@ -14323,7 +15661,7 @@ *k |= SUBTYPE_CHANGE_KIND; } - return result; + ABG_RETURN(result); } /// Return true iff both instances of pointer_type_def are equal. @@ -14402,6 +15740,9 @@ /// of @ref pointer_type_def. Subsequent invocations of this function /// return the cached value. /// +/// Note that this function should work even if the underlying type is +/// momentarily empty. +/// /// @param internal set to true if the call is intended for an /// internal use (for technical use inside the library itself), false /// otherwise. If you don't know what this is for, then set it to @@ -14418,10 +15759,11 @@ if (get_canonical_type()) { if (priv_->internal_qualified_name_.empty()) - priv_->internal_qualified_name_ = - get_name_of_pointer_to_type(*pointed_to_type, - /*qualified_name=*/true, - /*internal=*/true); + if (pointed_to_type) + priv_->internal_qualified_name_ = + get_name_of_pointer_to_type(*pointed_to_type, + /*qualified_name=*/true, + /*internal=*/true); return priv_->internal_qualified_name_; } else @@ -14430,10 +15772,11 @@ // (and so its name) can change. So let's invalidate the // cache where we store its name at each invocation of this // function. - priv_->temp_internal_qualified_name_ = - get_name_of_pointer_to_type(*pointed_to_type, - /*qualified_name=*/true, - /*internal=*/true); + if (pointed_to_type) + priv_->temp_internal_qualified_name_ = + get_name_of_pointer_to_type(*pointed_to_type, + /*qualified_name=*/true, + /*internal=*/true); return priv_->temp_internal_qualified_name_; } } @@ -14454,10 +15797,11 @@ // (and so its name) can change. So let's invalidate the // cache where we store its name at each invocation of this // function. - set_qualified_name - (get_name_of_pointer_to_type(*pointed_to_type, - /*qualified_name=*/true, - /*internal=*/false)); + if (pointed_to_type) + set_qualified_name + (get_name_of_pointer_to_type(*pointed_to_type, + /*qualified_name=*/true, + /*internal=*/false)); return decl_base::peek_qualified_name(); } } @@ -14547,6 +15891,18 @@ reference_type_def::on_canonical_type_set() {clear_qualified_name();} +/// Constructor of the reference_type_def type. +/// +/// @param pointed_to the pointed to type. +/// +/// @param lvalue wether the reference is an lvalue reference. If +/// false, the reference is an rvalue one. +/// +/// @param size_in_bits the size of the type, in bits. +/// +/// @param align_in_bits the alignment of the type, in bits. +/// +/// @param locus the source location of the type. reference_type_def::reference_type_def(const type_base_sptr pointed_to, bool lvalue, size_t size_in_bits, @@ -14587,6 +15943,71 @@ {} } +/// Constructor of the reference_type_def type. +/// +/// This one creates a type that has no pointed-to type, temporarily. +/// This is useful for cases where the underlying type is not yet +/// available. It can be set later using +/// reference_type_def::set_pointed_to_type(). +/// +/// @param env the environment of the type. +/// +/// @param lvalue wether the reference is an lvalue reference. If +/// false, the reference is an rvalue one. +/// +/// @param size_in_bits the size of the type, in bits. +/// +/// @param align_in_bits the alignment of the type, in bits. +/// +/// @param locus the source location of the type. +reference_type_def::reference_type_def(const environment* env, bool lvalue, + size_t size_in_bits, + size_t alignment_in_bits, + const location& locus) + : type_or_decl_base(env, + REFERENCE_TYPE + | ABSTRACT_TYPE_BASE + | ABSTRACT_DECL_BASE), + type_base(env, size_in_bits, alignment_in_bits), + decl_base(env, "", locus, ""), + is_lvalue_(lvalue) +{ + runtime_type_instance(this); + string name = "void&"; + if (!is_lvalue()) + name += "&"; + ABG_ASSERT(env); + set_name(env->intern(name)); + pointed_to_type_ = type_base_wptr(env->get_void_type()); +} + +/// Setter of the pointed_to type of the current reference type. +/// +/// @param pointed_to the new pointed to type. +void +reference_type_def::set_pointed_to_type(type_base_sptr& pointed_to_type) +{ + ABG_ASSERT(pointed_to_type); + pointed_to_type_ = pointed_to_type; + + decl_base_sptr pto; + try + {pto = dynamic_pointer_cast<decl_base>(pointed_to_type);} + catch (...) + {} + + if (pto) + { + set_visibility(pto->get_visibility()); + string name = string(pto->get_name()) + "&"; + if (!is_lvalue()) + name += "&"; + environment* env = pto->get_environment(); + ABG_ASSERT(env && env == get_environment()); + set_name(env->intern(name)); + } +} + /// Compares two instances of @ref reference_type_def. /// /// If the two intances are different, set a bitfield to give some @@ -14613,12 +16034,11 @@ { if (k) *k |= LOCAL_TYPE_CHANGE_KIND; - return false; + ABG_RETURN_FALSE; } // Compare the pointed-to-types modulo the typedefs they might have - bool result = (peel_typedef_type(l.get_pointed_to_type()) - == (peel_typedef_type(r.get_pointed_to_type()))); + bool result = (l.get_pointed_to_type() == r.get_pointed_to_type()); if (!result) if (k) { @@ -14626,7 +16046,7 @@ *k |= LOCAL_TYPE_CHANGE_KIND; *k |= SUBTYPE_CHANGE_KIND; } - return result; + ABG_RETURN(result); } /// Equality operator of the @ref reference_type_def type. @@ -14794,6 +16214,7 @@ // <array_type_def definitions> // <array_type_def::subrange_type> +array_type_def::subrange_type::~subrange_type() = default; // <array_type_def::subrante_type::bound_value> @@ -15160,7 +16581,7 @@ if (k) *k |= LOCAL_TYPE_CHANGE_KIND; else - return result; + ABG_RETURN(result); } #if 0 @@ -15178,10 +16599,10 @@ *k |= SUBTYPE_CHANGE_KIND; } else - return result; + ABG_RETURN(result); } #endif - return result; + ABG_RETURN(result); } /// Equality operator. @@ -15241,10 +16662,15 @@ /// Build a pretty representation for an /// array_type_def::subrange_type. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @return a copy of the pretty representation of the current /// instance of typedef_decl. @@ -15299,9 +16725,15 @@ interned_string internal_qualified_name_; priv(type_base_sptr t) - : element_type_(t) {} + : element_type_(t) + {} + priv(type_base_sptr t, subranges_type subs) - : element_type_(t), subranges_(subs) {} + : element_type_(t), subranges_(subs) + {} + + priv() + {} }; /// Constructor for the type array_type_def @@ -15332,6 +16764,62 @@ append_subranges(subs); } +/// Constructor for the type array_type_def +/// +/// This constructor builds a temporary array that has no element type +/// associated. Later when the element type is available, it be set +/// with the array_type_def::set_element_type() member function. +/// +/// Note how the constructor expects a vector of subrange +/// objects. Parsing of the array information always entails +/// parsing the subrange info as well, thus the class subrange_type +/// is defined inside class array_type_def and also parsed +/// simultaneously. +/// +/// @param env the environment of the array type. +/// +/// @param subs a vector of the array's subranges(dimensions) +/// +/// @param locus the source location of the array type definition. +array_type_def::array_type_def(environment* env, + const std::vector<subrange_sptr>& subs, + const location& locus) + : type_or_decl_base(env, + ARRAY_TYPE + | ABSTRACT_TYPE_BASE + | ABSTRACT_DECL_BASE), + type_base(env, 0, 0), + decl_base(env, locus), + priv_(new priv) +{ + runtime_type_instance(this); + append_subranges(subs); +} + +/// Update the size of the array. +/// +/// This function computes the size of the array and sets it using +/// type_base::set_size_in_bits(). +void +array_type_def::update_size() +{ + type_base_sptr e = priv_->element_type_.lock(); + if (e) + { + size_t s = e->get_size_in_bits(); + if (s) + { + for (const auto &sub : get_subranges()) + s *= sub->get_length(); + + const environment* env = e->get_environment(); + ABG_ASSERT(env); + set_size_in_bits(s); + } + set_alignment_in_bits(e->get_alignment_in_bits()); + } +} + string array_type_def::get_subrange_representation() const { @@ -15360,15 +16848,21 @@ o << "array (" << a.get_subrange_representation() << ") of " - << e_type->get_pretty_representation(internal); + << e_type ? e_type->get_pretty_representation(internal):string("void"); } else { if (internal) - r = get_type_name(e_type, /*qualified=*/true, /*internal=*/true) + r = (e_type + ? get_type_name(e_type, + /*qualified=*/true, + /*internal=*/true) + : string("void")) + a.get_subrange_representation(); else - r = get_type_name(e_type, /*qualified=*/false, /*internal=*/false) + r = (e_type + ? get_type_name(e_type, /*qualified=*/false, /*internal=*/false) + : string("void")) + a.get_subrange_representation(); } @@ -15378,10 +16872,21 @@ /// Get the pretty representation of the current instance of @ref /// array_type_def. /// +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// @param internal set to true if the call is intended for an /// internal use (for technical use inside the library itself), false /// otherwise. If you don't know what this is for, then set it to /// false. +/// +/// @return the pretty representation of the ABI artifact. string array_type_def::get_pretty_representation(bool internal, bool /*qualified_name*/) const @@ -15419,7 +16924,7 @@ if (k) *k |= LOCAL_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } std::vector<array_type_def::subrange_sptr >::const_iterator i,j; @@ -15435,21 +16940,20 @@ break; } else - return false; + ABG_RETURN_FALSE; } // Compare the element types modulo the typedefs they might have - if (peel_typedef_type(l.get_element_type()) - != peel_typedef_type(r.get_element_type())) + if (l.get_element_type() != r.get_element_type()) { result = false; if (k) *k |= SUBTYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } - return result; + ABG_RETURN(result); } /// Test if two variables are equals modulo CV qualifiers. @@ -15467,7 +16971,7 @@ return true; if (!l || !r) - return false; + ABG_RETURN_FALSE; l = is_array_type(peel_qualified_or_typedef_type(l)); r = is_array_type(peel_qualified_or_typedef_type(r)); @@ -15476,14 +16980,14 @@ std::vector<array_type_def::subrange_sptr > other_subs = r->get_subranges(); if (this_subs.size() != other_subs.size()) - return false; + ABG_RETURN_FALSE; std::vector<array_type_def::subrange_sptr >::const_iterator i,j; for (i = this_subs.begin(), j = other_subs.begin(); i != this_subs.end() && j != other_subs.end(); ++i, ++j) if (**i != **j) - return false; + ABG_RETURN_FALSE; type_base *first_element_type = peel_qualified_or_typedef_type(l->get_element_type().get()); @@ -15491,7 +16995,7 @@ peel_qualified_or_typedef_type(r->get_element_type().get()); if (*first_element_type != *second_element_type) - return false; + ABG_RETURN_FALSE; return true; } @@ -15551,6 +17055,8 @@ array_type_def::set_element_type(const type_base_sptr& element_type) { priv_->element_type_ = element_type; + update_size(); + set_name(get_environment()->intern(get_pretty_representation())); } /// Append subranges from the vector @param subs to the current @@ -15558,20 +17064,12 @@ void array_type_def::append_subranges(const std::vector<subrange_sptr>& subs) { - size_t s = get_element_type()->get_size_in_bits(); - for (std::vector<shared_ptr<subrange_type> >::const_iterator i = subs.begin(); - i != subs.end(); - ++i) - { - priv_->subranges_.push_back(*i); - s *= (*i)->get_length(); - } + for (const auto &sub : subs) + priv_->subranges_.push_back(sub); - const environment* env = get_environment(); - ABG_ASSERT(env); - set_name(env->intern(get_pretty_representation())); - set_size_in_bits(s); + update_size(); + set_name(get_environment()->intern(get_pretty_representation())); } /// @return true if one of the sub-ranges of the array is infinite, or @@ -15652,9 +17150,10 @@ } else { - set_qualified_name(env->intern(get_type_representation - (*this, /*internal=*/false))); - return decl_base::peek_qualified_name(); + set_temporary_qualified_name(env->intern(get_type_representation + (*this, + /*internal=*/false))); + return decl_base::peek_temporary_qualified_name(); } } } @@ -15776,10 +17275,15 @@ /// Get the pretty representation of the current instance of @ref /// enum_type_decl. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @param qualified_name if true, names emitted in the pretty /// representation are fully qualified. @@ -15789,8 +17293,13 @@ enum_type_decl::get_pretty_representation(bool internal, bool qualified_name) const { - string r = "enum " + decl_base::get_pretty_representation(internal, - qualified_name); + string r = "enum "; + + if (internal && get_is_anonymous()) + r += get_type_name(this, qualified_name, /*internal=*/true); + else + r += decl_base::get_pretty_representation(internal, + qualified_name); return r; } @@ -15906,6 +17415,26 @@ return result; } +/// Test if a given enumerator is found present in an enum. +/// +/// This is a subroutine of the equals function for enums. +/// +/// @param enr the enumerator to consider. +/// +/// @param enom the enum to consider. +/// +/// @return true iff the enumerator @p enr is present in the enum @p +/// enom. +static bool +is_enumerator_present_in_enum(const enum_type_decl::enumerator &enr, + const enum_type_decl &enom) +{ + for (const auto &e : enom.get_enumerators()) + if (e == enr) + return true; + return false; +} + /// Compares two instances of @ref enum_type_decl. /// /// If the two intances are different, set a bitfield to give some @@ -15935,32 +17464,7 @@ if (k) *k |= SUBTYPE_CHANGE_KIND; else - return false; - } - - enum_type_decl::enumerators::const_iterator i, j; - for (i = l.get_enumerators().begin(), j = r.get_enumerators().begin(); - i != l.get_enumerators().end() && j != r.get_enumerators().end(); - ++i, ++j) - if (*i != *j) - { - result = false; - if (k) - { - *k |= LOCAL_TYPE_CHANGE_KIND; - break; - } - else - return false; - } - - if (i != l.get_enumerators().end() || j != r.get_enumerators().end()) - { - result = false; - if (k) - *k |= LOCAL_TYPE_CHANGE_KIND; - else - return false; + ABG_RETURN_FALSE; } if (!(l.decl_base::operator==(r) && l.type_base::operator==(r))) @@ -15974,10 +17478,66 @@ *k |= LOCAL_TYPE_CHANGE_KIND; } else - return false; + ABG_RETURN_FALSE; } - return result; + // Now compare the enumerators. Note that the order of declaration + // of enumerators should not matter in the comparison. + // + // Also if the value of + // abigail::ir::environment::use_enum_binary_only_equality() is + // true, then enumerators are compared by considering their value + // only. Their name is not taken into account. + // + // In that case, note that the two enums below are considered equal: + // + // enum foo + // { + // e0 = 0; + // e1 = 1; + // e2 = 2; + // }; + // + // enum foo + // { + // e0 = 0; + // e1 = 1; + // e2 = 2; + // e_added = 1; + // }; + // + // These two enums are considered different if + // environment::use_enum_binary_only_equality() return false. + // + // So enumerators comparison should accomodate these conditions. + + for(const auto &e : l.get_enumerators()) + if (!is_enumerator_present_in_enum(e, r)) + { + result = false; + if (k) + { + *k |= LOCAL_TYPE_CHANGE_KIND; + break; + } + else + ABG_RETURN_FALSE; + } + + for(const auto &e : r.get_enumerators()) + if (!is_enumerator_present_in_enum(e, l)) + { + result = false; + if (k) + { + *k |= LOCAL_TYPE_CHANGE_KIND; + break; + } + else + ABG_RETURN_FALSE; + } + + ABG_RETURN(result); } /// Equality operator. @@ -16074,6 +17634,9 @@ : priv_(new priv) {} +enum_type_decl::enumerator::~enumerator() = default; + + /// Constructor of the @ref enum_type_decl::enumerator type. /// /// @param env the environment we are operating from. @@ -16111,15 +17674,28 @@ } /// Equality operator /// -/// @param other the enumerator to compare to the current instance of -/// enum_type_decl::enumerator. +/// When environment::use_enum_binary_only_equality() is true, this +/// equality operator only cares about the value of the enumerator. +/// It doesn't take the name of the enumerator into account. This is +/// the ABI-oriented default equality operator. +/// +/// When the environment::use_enum_binary_only_equality() is false +/// however, then this equality operator also takes the name of the +/// enumerator into account as well as the value. +/// +/// @param other the enumerator to compare to the current +/// instance of enum_type_decl::enumerator. /// /// @return true if @p other equals the current instance of /// enum_type_decl::enumerator. bool enum_type_decl::enumerator::operator==(const enumerator& other) const -{return (get_name() == other.get_name() - && get_value() == other.get_value());} +{ + bool names_equal = true; + if (!get_environment()->use_enum_binary_only_equality()) + names_equal = (get_name() == other.get_name()); + return names_equal && (get_value() == other.get_value()); +} /// Inequality operator. /// @@ -16259,6 +17835,34 @@ runtime_type_instance(this); } +/// Constructor of the typedef_decl type. +/// +/// @param name the name of the typedef. +/// +/// @param env the environment of the current typedef. +/// +/// @param locus the source location of the typedef declaration. +/// +/// @param mangled_name the mangled name of the typedef. +/// +/// @param vis the visibility of the typedef type. +typedef_decl::typedef_decl(const string& name, + environment* env, + const location& locus, + const string& mangled_name, + visibility vis) + : type_or_decl_base(env, + TYPEDEF_TYPE + | ABSTRACT_TYPE_BASE + | ABSTRACT_DECL_BASE), + type_base(env, /*size_in_bits=*/0, + /*alignment_in_bits=*/0), + decl_base(env, name, locus, mangled_name, vis), + priv_(new priv(nullptr)) +{ + runtime_type_instance(this); +} + /// Return the size of the typedef. /// /// This function looks at the size of the underlying type and ensures @@ -16268,6 +17872,8 @@ size_t typedef_decl::get_size_in_bits() const { + if (!get_underlying_type()) + return 0; size_t s = get_underlying_type()->get_size_in_bits(); if (s != type_base::get_size_in_bits()) const_cast<typedef_decl*>(this)->set_size_in_bits(s); @@ -16283,7 +17889,9 @@ size_t typedef_decl::get_alignment_in_bits() const { - size_t s = get_underlying_type()->get_alignment_in_bits(); + if (!get_underlying_type()) + return 0; + size_t s = get_underlying_type()->get_alignment_in_bits(); if (s != type_base::get_alignment_in_bits()) const_cast<typedef_decl*>(this)->set_alignment_in_bits(s); return type_base::get_alignment_in_bits(); @@ -16312,20 +17920,15 @@ equals(const typedef_decl& l, const typedef_decl& r, change_kind* k) { bool result = true; - // Compare the properties of the 'is-a-member-decl" relation of this - // decl. For typedefs of a C program, this always return true as - // there is no "member typedef type" in C. - // - // In other words, in C, Only the underlying types of typedefs are - // compared. In C++ however, the properties of the - // 'is-a-member-decl' relation of the typedef are compared. - if (!maybe_compare_as_member_decls(l, r, k)) + if (!equals(static_cast<const decl_base&>(l), + static_cast<const decl_base&>(r), + k)) { result = false; if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } if (*l.get_underlying_type() != *r.get_underlying_type()) @@ -16336,10 +17939,10 @@ if (k) *k |= LOCAL_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } - return result; + ABG_RETURN(result); } /// Equality operator @@ -16371,11 +17974,16 @@ /// Build a pretty representation for a typedef_decl. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). /// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. + /// @param qualified_name if true, names emitted in the pretty /// representation are fully qualified. /// @@ -16407,7 +18015,11 @@ /// @param t the new underlying type of the typedef. void typedef_decl::set_underlying_type(const type_base_sptr& t) -{priv_->underlying_type_ = t;} +{ + priv_->underlying_type_ = t; + set_size_in_bits(t->get_size_in_bits()); + set_alignment_in_bits(t->get_alignment_in_bits()); +} /// This implements the ir_traversable_base::traverse pure virtual /// function. @@ -16465,11 +18077,11 @@ {} }; // end struct var_decl::priv -/// Constructor +/// Constructor of the @ref var_decl type. /// /// @param name the name of the variable declaration /// -/// @param name the type of the variable declaration +/// @param type the type of the variable declaration /// /// @param locus the source location where the variable was defined. /// @@ -16630,13 +18242,13 @@ if (k) { if (!types_have_similar_structure(l.get_naked_type(), - r.get_naked_type())) + r.get_naked_type())) *k |= (LOCAL_TYPE_CHANGE_KIND); else *k |= SUBTYPE_CHANGE_KIND; } else - return false; + ABG_RETURN_FALSE; } // If there are underlying elf symbols for these variables, @@ -16648,7 +18260,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } else if (s0 && s0 != s1) { @@ -16656,7 +18268,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } bool symbols_are_equal = (s0 && s1 && result); @@ -16665,12 +18277,13 @@ // The variables have underlying elf symbols that are equal, so // now, let's compare the decl_base part of the variables w/o // considering their decl names. - const interned_string &n1 = l.get_name(), &n2 = r.get_name(); - const_cast<var_decl&>(l).set_name(""); - const_cast<var_decl&>(r).set_name(""); + const environment* env = l.get_environment(); + const interned_string n1 = l.get_qualified_name(), n2 = r.get_qualified_name(); + const_cast<var_decl&>(l).set_qualified_name(env->intern("")); + const_cast<var_decl&>(r).set_qualified_name(env->intern("")); bool decl_bases_different = !l.decl_base::operator==(r); - const_cast<var_decl&>(l).set_name(n1); - const_cast<var_decl&>(r).set_name(n2); + const_cast<var_decl&>(l).set_qualified_name(n1); + const_cast<var_decl&>(r).set_qualified_name(n2); if (decl_bases_different) { @@ -16678,7 +18291,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } } else @@ -16688,7 +18301,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } const dm_context_rel* c0 = @@ -16703,10 +18316,10 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } - return result; + ABG_RETURN(result); } /// Comparison operator of @ref var_decl. @@ -16800,15 +18413,20 @@ set_qualified_name(get_environment()->intern(r)); } - return decl_base::get_qualified_name(internal); + return decl_base::get_qualified_name(internal); } /// Build and return the pretty representation of this variable. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @param qualified_name if true, names emitted in the pretty /// representation are fully qualified. @@ -16837,8 +18455,11 @@ else name = get_qualified_name(internal); - result += - get_type_declaration(t->get_element_type())->get_qualified_name(internal) + type_base_sptr et = t->get_element_type(); + ABG_ASSERT(et); + decl_base_sptr decl = get_type_declaration(et); + ABG_ASSERT(decl); + result += decl->get_qualified_name(internal) + " " + name + t->get_subrange_representation(); } else @@ -16905,7 +18526,11 @@ { string name; if (is_anonymous_data_member(this)) - name = get_pretty_representation(true, qualified); + // This function is used in the comparison engine to determine + // which anonymous data member was deleted. So it's not involved + // in type comparison or canonicalization. We don't want to use + // the 'internal' version of the pretty presentation. + name = get_pretty_representation(/*internal=*/false, qualified); else name = get_name(); @@ -16949,6 +18574,7 @@ type_base_wptr return_type_; interned_string cached_name_; interned_string internal_cached_name_; + interned_string temp_internal_cached_name_; priv() {} @@ -17228,29 +18854,18 @@ /// ///@return true if lhs == rhs, false otherwise. bool -equals(const function_type& lhs, - const function_type& rhs, +equals(const function_type& l, + const function_type& r, change_kind* k) { -#define RETURN(value) \ - do { \ - lhs.priv_->unmark_as_being_compared(lhs); \ - lhs.priv_->unmark_as_being_compared(rhs); \ - if (value == true) \ - maybe_propagate_canonical_type(lhs, rhs); \ - return value; \ - } while(0) +#define RETURN(value) return return_comparison_result(l, r, value) - if (lhs.priv_->comparison_started(lhs) - || lhs.priv_->comparison_started(rhs)) - return true; - - lhs.priv_->mark_as_being_compared(lhs); - lhs.priv_->mark_as_being_compared(rhs); + RETURN_TRUE_IF_COMPARISON_CYCLE_DETECTED(l, r); + mark_types_as_being_compared(l, r); bool result = true; - if (!lhs.type_base::operator==(rhs)) + if (!l.type_base::operator==(r)) { result = false; if (k) @@ -17259,16 +18874,16 @@ RETURN(result); } - class_or_union* lhs_class = 0, *rhs_class = 0; - if (const method_type* m = dynamic_cast<const method_type*>(&lhs)) - lhs_class = m->get_class_type().get(); + class_or_union* l_class = 0, *r_class = 0; + if (const method_type* m = dynamic_cast<const method_type*>(&l)) + l_class = m->get_class_type().get(); - if (const method_type* m = dynamic_cast<const method_type*>(&rhs)) - rhs_class = m->get_class_type().get(); + if (const method_type* m = dynamic_cast<const method_type*>(&r)) + r_class = m->get_class_type().get(); // Compare the names of the class of the method - if (!!lhs_class != !!rhs_class) + if (!!l_class != !!r_class) { result = false; if (k) @@ -17276,9 +18891,9 @@ else RETURN(result); } - else if (lhs_class - && (lhs_class->get_qualified_name() - != rhs_class->get_qualified_name())) + else if (l_class + && (l_class->get_qualified_name() + != r_class->get_qualified_name())) { result = false; if (k) @@ -17291,32 +18906,32 @@ // that is the same as the method class name; we can recurse for // ever in that case. - decl_base* lhs_return_type_decl = - get_type_declaration(lhs.get_return_type()).get(); - decl_base* rhs_return_type_decl = - get_type_declaration(rhs.get_return_type()).get(); + decl_base* l_return_type_decl = + get_type_declaration(l.get_return_type()).get(); + decl_base* r_return_type_decl = + get_type_declaration(r.get_return_type()).get(); bool compare_result_types = true; - string lhs_rt_name = lhs_return_type_decl - ? lhs_return_type_decl->get_qualified_name() + string l_rt_name = l_return_type_decl + ? l_return_type_decl->get_qualified_name() : string(); - string rhs_rt_name = rhs_return_type_decl - ? rhs_return_type_decl->get_qualified_name() + string r_rt_name = r_return_type_decl + ? r_return_type_decl->get_qualified_name() : string(); - if ((lhs_class && (lhs_class->get_qualified_name() == lhs_rt_name)) + if ((l_class && (l_class->get_qualified_name() == l_rt_name)) || - (rhs_class && (rhs_class->get_qualified_name() == rhs_rt_name))) + (r_class && (r_class->get_qualified_name() == r_rt_name))) compare_result_types = false; if (compare_result_types) { - if (lhs.get_return_type() != rhs.get_return_type()) + if (l.get_return_type() != r.get_return_type()) { result = false; if (k) { - if (!types_have_similar_structure(lhs.get_return_type(), - rhs.get_return_type())) + if (!types_have_similar_structure(l.get_return_type(), + r.get_return_type())) *k |= LOCAL_TYPE_CHANGE_KIND; else *k |= SUBTYPE_CHANGE_KIND; @@ -17326,7 +18941,7 @@ } } else - if (lhs_rt_name != rhs_rt_name) + if (l_rt_name != r_rt_name) { result = false; if (k) @@ -17336,8 +18951,8 @@ } vector<shared_ptr<function_decl::parameter> >::const_iterator i,j; - for (i = lhs.get_first_parm(), j = rhs.get_first_parm(); - i != lhs.get_parameters().end() && j != rhs.get_parameters().end(); + for (i = l.get_first_parm(), j = r.get_first_parm(); + i != l.get_parameters().end() && j != r.get_parameters().end(); ++i, ++j) { if (**i != **j) @@ -17356,8 +18971,8 @@ } } - if ((i != lhs.get_parameters().end() - || j != rhs.get_parameters().end())) + if ((i != l.get_parameters().end() + || j != r.get_parameters().end())) { result = false; if (k) @@ -17423,16 +19038,37 @@ { if (internal) { - if (!get_naked_canonical_type() || priv_->internal_cached_name_.empty()) - priv_->internal_cached_name_ = get_function_type_name(this, internal); - - return priv_->internal_cached_name_; + if (get_naked_canonical_type()) + { + if (priv_->internal_cached_name_.empty()) + priv_->internal_cached_name_ = + get_function_type_name(this, /*internal=*/true); + return priv_->internal_cached_name_; + } + else + { + priv_->temp_internal_cached_name_ = + get_function_type_name(this, + /*internal=*/true); + return priv_->temp_internal_cached_name_; + } } - - if (!get_naked_canonical_type() || priv_->cached_name_.empty()) - priv_->cached_name_ = get_function_type_name(this, internal); - - return priv_->cached_name_; + else + { + if (get_naked_canonical_type()) + { + if (priv_->cached_name_.empty()) + priv_->cached_name_ = + get_function_type_name(this, /*internal=*/false); + return priv_->cached_name_; + } + else + { + priv_->cached_name_ = + get_function_type_name(this, /*internal=*/false); + return priv_->cached_name_; + } + } } /// Equality operator for function_type. @@ -17452,10 +19088,15 @@ /// Return a copy of the pretty representation of the current @ref /// function_type. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @return a copy of the pretty representation of the current @ref /// function_type. @@ -17675,10 +19316,15 @@ /// Return a copy of the pretty representation of the current @ref /// method_type. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @return a copy of the pretty representation of the current @ref /// method_type. @@ -17745,6 +19391,21 @@ {} }; // end sruct function_decl::priv +/// Constructor of the @ref function_decl. +/// +/// @param name the name of the function. +/// +/// @param function_type the type of the function. +/// +/// @param declared_inline wether the function is declared inline. +/// +/// @param locus the source location of the function. +/// +/// @param mangled_name the linkage name of the function. +/// +/// @param vis the visibility of the function. +/// +/// @param bind the binding of the function. function_decl::function_decl(const string& name, function_type_sptr function_type, bool declared_inline, @@ -17802,10 +19463,15 @@ /// Get the pretty representation of the current instance of @ref function_decl. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @return the pretty representation for a function. string @@ -17846,10 +19512,15 @@ /// return type and the other specifiers of the beginning of the /// function's declaration ar omitted. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @return the pretty representation for the part of the function /// declaration that starts at the declarator. @@ -18109,7 +19780,7 @@ *k |= SUBTYPE_CHANGE_KIND; } else - return false; + ABG_RETURN_FALSE; } const elf_symbol_sptr &s0 = l.get_symbol(), &s1 = r.get_symbol(); @@ -18119,7 +19790,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } else if (s0 && s0 != s1) { @@ -18129,7 +19800,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } } bool symbols_are_equal = (s0 && s1 && result); @@ -18159,7 +19830,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } } else @@ -18169,7 +19840,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } // Compare the remaining properties @@ -18180,7 +19851,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } if (is_member_function(l) != is_member_function(r)) @@ -18189,7 +19860,7 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } if (is_member_function(l) && is_member_function(r)) @@ -18211,11 +19882,11 @@ if (k) *k |= LOCAL_NON_TYPE_CHANGE_KIND; else - return false; + ABG_RETURN_FALSE; } } - return result; + ABG_RETURN(result); } /// Comparison operator for @ref function_decl. @@ -18451,6 +20122,8 @@ runtime_type_instance(this); } +function_decl::parameter::~parameter() = default; + const type_base_sptr function_decl::parameter::get_type()const {return priv_->type_.lock();} @@ -18560,14 +20233,11 @@ *k |= LOCAL_TYPE_CHANGE_KIND; } else - return false; + ABG_RETURN_FALSE; } - - // Sometimes, function parameters can be wrapped into a no-op - // qualifier. Let's strip that qualifier out. - type_base_sptr l_type = look_through_no_op_qualified_type(l.get_type()); - type_base_sptr r_type = look_through_no_op_qualified_type(r.get_type()); + type_base_sptr l_type = l.get_type(); + type_base_sptr r_type = r.get_type(); if (l_type != r_type) { result = false; @@ -18579,10 +20249,10 @@ *k |= SUBTYPE_CHANGE_KIND; } else - return false; + ABG_RETURN_FALSE; } - return result; + ABG_RETURN(result); } bool @@ -18679,10 +20349,15 @@ /// Compute and return a copy of the pretty representation of the /// current function parameter. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @return a copy of the textual representation of the current /// function parameter. @@ -18714,145 +20389,6 @@ // </function_decl::parameter definitions> // <class_or_union definitions> -struct class_or_union::priv -{ - typedef_decl_wptr naming_typedef_; - member_types member_types_; - data_members data_members_; - data_members non_static_data_members_; - member_functions member_functions_; - // A map that associates a linkage name to a member function. - string_mem_fn_sptr_map_type mem_fns_map_; - // A map that associates function signature strings to member - // function. - string_mem_fn_ptr_map_type signature_2_mem_fn_map_; - member_function_templates member_function_templates_; - member_class_templates member_class_templates_; - - priv() - {} - - priv(class_or_union::member_types& mbr_types, - class_or_union::data_members& data_mbrs, - class_or_union::member_functions& mbr_fns) - : member_types_(mbr_types), - data_members_(data_mbrs), - member_functions_(mbr_fns) - { - for (data_members::const_iterator i = data_members_.begin(); - i != data_members_.end(); - ++i) - if (!get_member_is_static(*i)) - non_static_data_members_.push_back(*i); - } - - /// Mark a class or union or union as being currently compared using - /// the class_or_union== operator. - /// - /// Note that is marking business is to avoid infinite loop when - /// comparing a class or union or union. If via the comparison of a - /// data member or a member function a recursive re-comparison of - /// the class or union is attempted, the marking business help to - /// detect that infinite loop possibility and avoid it. - /// - /// @param klass the class or union or union to mark as being - /// currently compared. - void - mark_as_being_compared(const class_or_union& klass) const - { - const environment* env = klass.get_environment(); - ABG_ASSERT(env); - env->priv_->classes_being_compared_.insert(&klass); - } - - /// Mark a class or union as being currently compared using the - /// class_or_union== operator. - /// - /// Note that is marking business is to avoid infinite loop when - /// comparing a class or union. If via the comparison of a data - /// member or a member function a recursive re-comparison of the - /// class or union is attempted, the marking business help to detect - /// that infinite loop possibility and avoid it. - /// - /// @param klass the class or union to mark as being currently - /// compared. - void - mark_as_being_compared(const class_or_union* klass) const - {mark_as_being_compared(*klass);} - - /// Mark a class or union as being currently compared using the - /// class_or_union== operator. - /// - /// Note that is marking business is to avoid infinite loop when - /// comparing a class or union. If via the comparison of a data - /// member or a member function a recursive re-comparison of the - /// class or union is attempted, the marking business help to detect - /// that infinite loop possibility and avoid it. - /// - /// @param klass the class or union to mark as being currently - /// compared. - void - mark_as_being_compared(const class_or_union_sptr& klass) const - {mark_as_being_compared(*klass);} - - /// If the instance of class_or_union has been previously marked as - /// being compared -- via an invocation of mark_as_being_compared() - /// this method unmarks it. Otherwise is has no effect. - /// - /// This method is not thread safe because it uses the static data - /// member classes_being_compared_. If you wish to use it in a - /// multi-threaded environment you should probably protect the - /// access to that static data member with a mutex or somesuch. - /// - /// @param klass the instance of class_or_union to unmark. - void - unmark_as_being_compared(const class_or_union& klass) const - { - const environment* env = klass.get_environment(); - ABG_ASSERT(env); - env->priv_->classes_being_compared_.erase(&klass); - } - - /// If the instance of class_or_union has been previously marked as - /// being compared -- via an invocation of mark_as_being_compared() - /// this method unmarks it. Otherwise is has no effect. - /// - /// @param klass the instance of class_or_union to unmark. - void - unmark_as_being_compared(const class_or_union* klass) const - { - if (klass) - return unmark_as_being_compared(*klass); - } - - /// Test if a given instance of class_or_union is being currently - /// compared. - /// - ///@param klass the class or union to test. - /// - /// @return true if @p klass is being compared, false otherwise. - bool - comparison_started(const class_or_union& klass) const - { - const environment* env = klass.get_environment(); - ABG_ASSERT(env); - return env->priv_->classes_being_compared_.count(&klass); - } - - /// Test if a given instance of class_or_union is being currently - /// compared. - /// - ///@param klass the class or union to test. - /// - /// @return true if @p klass is being compared, false otherwise. - bool - comparison_started(const class_or_union* klass) const - { - if (klass) - return comparison_started(*klass); - return false; - } -}; // end struct class_or_union::priv /// A Constructor for instances of @ref class_or_union /// @@ -19237,37 +20773,6 @@ return type_base::get_size_in_bits(); } - -/// Getter for the naming typedef of the current class. -/// -/// Consider the C idiom: -/// -/// typedef struct {int member;} foo_type; -/// -/// In that idiom, foo_type is the naming typedef of the anonymous -/// struct that is declared. -/// -/// @return the naming typedef, if any. Otherwise, returns nil. -typedef_decl_sptr -class_or_union::get_naming_typedef() const -{return priv_->naming_typedef_.lock();} - -/// Set the naming typedef of the current instance of @ref class_decl. -/// -/// Consider the C idiom: -/// -/// typedef struct {int member;} foo_type; -/// -/// In that idiom, foo_type is the naming typedef of the anonymous -/// struct that is declared. -/// -/// @param typedef_type the new naming typedef. -void -class_or_union::set_naming_typedef(const typedef_decl_sptr& typedef_type) -{ - priv_->naming_typedef_ = typedef_type; -} - /// Get the member types of this @ref class_or_union. /// /// @return a vector of the member types of this ref class_or_union. @@ -19460,8 +20965,8 @@ ++it) { if (is_anonymous_data_member(*it)) - if ((*it)->get_pretty_representation(true, true) - == v->get_pretty_representation(true, true)) + if ((*it)->get_pretty_representation(/*internal=*/false, true) + == v->get_pretty_representation(/*internal=*/false, true)) return *it; } @@ -19788,12 +21293,7 @@ bool equals(const class_or_union& l, const class_or_union& r, change_kind* k) { -#define RETURN(value) \ - do { \ - l.priv_->unmark_as_being_compared(l); \ - l.priv_->unmark_as_being_compared(r); \ - return value; \ - } while(0) +#define RETURN(value) return return_comparison_result(l, r, value); // if one of the classes is declaration-only, look through it to // get its definition. @@ -19822,9 +21322,11 @@ // change. return true; - if (l.get_environment()->decl_only_class_equals_definition() - && !l.get_is_anonymous() - && !r.get_is_anonymous()) + if ((l.get_environment()->decl_only_class_equals_definition() + || ((odr_is_relevant(l) && !def1) + || (odr_is_relevant(r) && !def2))) + && !is_anonymous_or_typedef_named(l) + && !is_anonymous_or_typedef_named(r)) { const interned_string& q1 = l.get_scoped_name(); const interned_string& q2 = r.get_scoped_name(); @@ -19846,7 +21348,7 @@ // we haven't marked l or r as being compared yet, and // doing so has a peformance cost that shows up on // performance profiles for *big* libraries. - return false; + ABG_RETURN_FALSE; } } else // A decl-only class is considered different from a @@ -19856,7 +21358,7 @@ { if (k) *k |= LOCAL_TYPE_CHANGE_KIND; - return false; + ABG_RETURN_FALSE; } // both definitions are empty @@ -19865,19 +21367,16 @@ { if (k) *k |= LOCAL_TYPE_CHANGE_KIND; - return false; + ABG_RETURN_FALSE; } return true; } } - if (l.priv_->comparison_started(l) - || l.priv_->comparison_started(r)) - return true; + RETURN_TRUE_IF_COMPARISON_CYCLE_DETECTED(l, r); - l.priv_->mark_as_being_compared(l); - l.priv_->mark_as_being_compared(r); + mark_types_as_being_compared(l, r); bool val = *def1 == *def2; if (!val) @@ -19892,18 +21391,15 @@ { if (k) *k |= LOCAL_TYPE_CHANGE_KIND; - return false; + ABG_RETURN_FALSE; } if (types_defined_same_linux_kernel_corpus_public(l, r)) return true; - if (l.priv_->comparison_started(l) - || l.priv_->comparison_started(r)) - return true; + RETURN_TRUE_IF_COMPARISON_CYCLE_DETECTED(l, r); - l.priv_->mark_as_being_compared(l); - l.priv_->mark_as_being_compared(r); + mark_types_as_being_compared(l, r); bool result = true; @@ -20085,39 +21581,11 @@ // </class_or_union definitions> -/// Test if two @ref class_decl or @ref function_type are already -/// being compared. -/// -/// @param lhs_type the first type that would be involved in a -/// potential comparison. -/// -/// @param rhs_type the second type that would involved in a potential -/// comparison. -/// -/// @return true iff @p lhs_type and @p rhs_type are being compared. -static bool -types_are_being_compared(const type_base& lhs_type, - const type_base& rhs_type) -{ - type_base *l = &const_cast<type_base&>(lhs_type); - type_base *r = &const_cast<type_base&>(rhs_type); - - if (class_or_union *l_cou = is_class_or_union_type(l)) - if (class_or_union *r_cou = is_class_or_union_type(r)) - return (l_cou->priv_->comparison_started(*l_cou) - || l_cou->priv_->comparison_started(*r_cou)); - - if (function_type *l_fn_type = is_function_type(l)) - if (function_type *r_fn_type = is_function_type(r)) - return (l_fn_type->priv_->comparison_started(*l_fn_type) - || l_fn_type->priv_->comparison_started(*r_fn_type)); - - return false; -} - /// @defgroup OnTheFlyCanonicalization On-the-fly Canonicalization /// @{ /// +/// This optimization is also known as "canonical type propagation". +/// /// During the canonicalization of a type T (which doesn't yet have a /// canonical type), T is compared structurally (member-wise) against /// a type C which already has a canonical type. The comparison @@ -20138,6 +21606,70 @@ /// For now this on-the-fly canonicalization only happens when /// comparing @ref class_decl and @ref function_type. /// +/// Note however that there is a case when a type is *NOT* eligible to +/// this canonical type propagation optimization. +/// +/// The reason why a type is deemed NON-eligible to the canonical type +/// propagation optimization is that it "depends" on recursively +/// present type. Let me explain. +/// +/// Suppose we have a type T that has sub-types named ST0 and ST1. +/// Suppose ST1 itself has a sub-type that is T itself. In this case, +/// we say that T is a recursive type, because it has T (itself) as +/// one of its sub-types: +/// +/// T +/// +-- ST0 +/// | +/// +-- ST1 +/// | + +/// | | +/// | +-- T +/// | +/// +-- ST2 +/// +/// ST1 is said to "depend" on T because it has T as a sub-type. But +/// because T is recursive, then ST1 is said to depend on a recursive +/// type. Notice however that ST0 does not depend on any recursive +/// type. +/// +/// Now suppose we are comparing T to a type T' that has the same +/// structure with sub-types ST0', ST1' and ST2'. During the +/// comparison of ST1 against ST1', their sub-type T is compared +/// against T'. Because T (resp. T') is a recursive type that is +/// already being compared, the comparison of T against T' (as a +/// subtypes of ST1 and ST1') returns true, meaning they are +/// considered equal. This is done so that we don't enter an infinite +/// recursion. +/// +/// That means ST1 is also deemed equal to ST1'. If we are in the +/// course of the canonicalization of T' and thus if T (as well as as +/// all of its sub-types) is already canonicalized, then the canonical +/// type propagation optimization will make us propagate the canonical +/// type of ST1 onto ST1'. So the canonical type of ST1' will be +/// equal to the canonical type of ST1 as a result of that +/// optmization. +/// +/// But then, later down the road, when ST2 is compared against ST2', +/// let's suppose that we find out that they are different. Meaning +/// that ST2 != ST2'. This means that T != T', i.e, the +/// canonicalization of T' failed for now. But most importantly, it +/// means that the propagation of the canonical type of ST1 to ST1' +/// must now be invalidated. Meaning, ST1' must now be considered as +/// not having any canonical type. +/// +/// In other words, during type canonicalization, if ST1' depends on a +/// recursive type T', its propagated canonical type must be +/// invalidated (set to nullptr) if T' appears to be different from T, +/// a.k.a, the canonicalization of T' temporarily failed. +/// +/// This means that any sub-type that depends on recursive types and +/// that has been the target of the canonical type propagation +/// optimization must be tracked. If the dependant recursive type +/// fails its canonicalization, then the sub-type being compared must +/// have its propagated canonical type cleared. In other words, its +/// propagated canonical type must be cancelled. +/// /// @} @@ -20148,22 +21680,17 @@ /// @param lhs_type the type which canonical type to propagate. /// /// @param rhs_type the type which canonical type to set. -static void +static bool maybe_propagate_canonical_type(const type_base& lhs_type, const type_base& rhs_type) { - if (const environment *env = lhs_type.get_environment()) if (env->do_on_the_fly_canonicalization()) if (type_base_sptr canonical_type = lhs_type.get_canonical_type()) - if (!rhs_type.get_canonical_type() - && !types_are_being_compared(lhs_type, rhs_type)) - { - const_cast<type_base&>(rhs_type).priv_->canonical_type = - canonical_type; - const_cast<type_base&>(rhs_type).priv_->naked_canonical_type = - canonical_type.get(); - } + if (!rhs_type.get_canonical_type()) + if (env->priv_->propagate_ct(lhs_type, rhs_type)) + return true; + return false; } // <class_decl definitions> @@ -20514,10 +22041,15 @@ /// Getter of the pretty representation of the current instance of /// @ref class_decl. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @param qualified_name if true, names emitted in the pretty /// representation are fully qualified. @@ -20535,9 +22067,14 @@ // if an anonymous class is named by a typedef, then consider that // it has a name, which is the typedef name. if (get_is_anonymous()) - return get_class_or_union_flat_representation(this, "", - /*one_line=*/true, - internal); + { + if (internal) + return cl + get_type_name(this, qualified_name, /*internal=*/true); + return get_class_or_union_flat_representation(this, "", + /*one_line=*/true, + internal); + + } string result = cl; if (qualified_name) @@ -20703,6 +22240,8 @@ runtime_type_instance(this); } +class_decl::base_spec::~base_spec() = default; + /// Compares two instances of @ref class_decl::base_spec. /// /// If the two intances are different, set a bitfield to give some @@ -20731,7 +22270,7 @@ { if (k) *k |= LOCAL_TYPE_CHANGE_KIND; - return false; + ABG_RETURN_FALSE; } return (*l.get_base_class() == *r.get_base_class()); @@ -21317,12 +22856,41 @@ for (class_decl::member_functions::const_iterator i = fns.begin(); i != fns.end(); ++i) - if (methods_equal_modulo_elf_symbol(*i, method)) + // Note that the comparison must be done in this order: method == + // *i This is to keep the consistency of the comparison. It's + // important especially when doing type canonicalization. The + // already canonicalize type is the left operand, and the type + // being canonicalized is the right operand. This comes from the + // code in type_base::get_canonical_type_for(). + if (methods_equal_modulo_elf_symbol(method, *i)) return true; return false; } +/// Cancel the canonical type that was propagated. +/// +/// If we are in the process of comparing a type for the purpose of +/// canonicalization, and if that type has been the target of the +/// canonical type propagation optimization, then clear the propagated +/// canonical type. See @ref OnTheFlyCanonicalization for more about +/// the canonical type optimization +/// +/// @param t the type to consider. +static bool +maybe_cancel_propagated_canonical_type(const class_or_union& t) +{ + const environment* env = t.get_environment(); + if (env && env->do_on_the_fly_canonicalization()) + if (is_type(&t)->priv_->canonical_type_propagated()) + { + is_type(&t)->priv_->clear_propagated_canonical_type(); + env->priv_->remove_from_types_with_non_confirmed_propagated_ct(&t); + return true; + } + return false; +} + /// Compares two instances of @ref class_decl. /// /// If the two intances are different, set a bitfield to give some @@ -21352,9 +22920,8 @@ static_cast<const class_or_union&>(r), k); - if (l.class_or_union::priv_->comparison_started(l) - || l.class_or_union::priv_->comparison_started(r)) - return true; + RETURN_TRUE_IF_COMPARISON_CYCLE_DETECTED(static_cast<const class_or_union&>(l), + static_cast<const class_or_union&>(r)); bool result = true; if (!equals(static_cast<const class_or_union&>(l), @@ -21366,17 +22933,19 @@ return result; } - l.class_or_union::priv_->mark_as_being_compared(l); - l.class_or_union::priv_->mark_as_being_compared(r); + mark_types_as_being_compared(static_cast<const class_or_union&>(l), + static_cast<const class_or_union&>(r)); -#define RETURN(value) \ - do { \ - l.class_or_union::priv_->unmark_as_being_compared(l); \ - l.class_or_union::priv_->unmark_as_being_compared(r); \ - if (value == true) \ - maybe_propagate_canonical_type(l, r); \ - return value; \ - } while(0) +#define RETURN(value) \ + return return_comparison_result(static_cast<const class_or_union&>(l), \ + static_cast<const class_or_union&>(r), \ + value); + + // If comparing the class_or_union 'part' of the type led to + // canonical type propagation, then cancel that because it's too + // early to do that at this point. We still need to compare bases + // virtual members. + maybe_cancel_propagated_canonical_type(r); // Compare bases. if (l.get_base_specifiers().size() != r.get_base_specifiers().size()) @@ -22288,10 +23857,15 @@ /// Getter of the pretty representation of the current instance of /// @ref union_decl. /// -/// @param internal set to true if the call is intended for an -/// internal use (for technical use inside the library itself), false -/// otherwise. If you don't know what this is for, then set it to -/// false. +/// @param internal set to true if the call is intended to get a +/// representation of the decl (or type) for the purpose of canonical +/// type comparison. This is mainly used in the function +/// type_base::get_canonical_type_for(). +/// +/// In other words if the argument for this parameter is true then the +/// call is meant for internal use (for technical use inside the +/// library itself), false otherwise. If you don't know what this is +/// for, then set it to false. /// /// @param qualified_name if true, names emitted in the pretty /// representation are fully qualified. @@ -22303,9 +23877,15 @@ { string repr; if (get_is_anonymous()) - repr = get_class_or_union_flat_representation(this, "", - /*one_line=*/true, - internal); + { + if (internal) + repr = string("union ") + + get_type_name(this, qualified_name, /*internal=*/true); + else + repr = get_class_or_union_flat_representation(this, "", + /*one_line=*/true, + internal); + } else { repr = "union "; @@ -22472,9 +24052,7 @@ bool result = equals(static_cast<const class_or_union&>(l), static_cast<const class_or_union&>(r), k); - if (result == true) - maybe_propagate_canonical_type(l, r); - return result; + ABG_RETURN(result); } /// Copy a method of a @ref union_decl into a new @ref @@ -23466,8 +25044,8 @@ type_base_sptr t1 = strip_typedef(t_v1); type_base_sptr t2 = strip_typedef(t_v2); - string repr1 = get_pretty_representation(t1), - repr2 = get_pretty_representation(t2); + string repr1 = get_pretty_representation(t1, /*internal=*/false), + repr2 = get_pretty_representation(t2, /*internal=*/false); return (t1 != t2 && repr1 == repr2); } @@ -23516,7 +25094,7 @@ { ABG_ASSERT(v->get_type()); size_t h = hash_type_or_decl(v->get_type()); - string repr = v->get_pretty_representation(); + string repr = v->get_pretty_representation(/*internal=*/true); std::hash<string> hash_string; h = hashing::combine_hashes(h, hash_string(repr)); result = h; @@ -23525,7 +25103,7 @@ { ABG_ASSERT(f->get_type()); size_t h = hash_type_or_decl(f->get_type()); - string repr = f->get_pretty_representation(); + string repr = f->get_pretty_representation(/*internal=*/true); std::hash<string> hash_string; h = hashing::combine_hashes(h, hash_string(repr)); result = h; @@ -23593,6 +25171,70 @@ hash_type_or_decl(const type_or_decl_base_sptr& tod) {return hash_type_or_decl(tod.get());} +/// Test if a given type is allowed to be non canonicalized +/// +/// This is a subroutine of hash_as_canonical_type_or_constant. +/// +/// For now, the only types allowed to be non canonicalized in the +/// system are decl-only class/union and the void type. +/// +/// @return true iff @p t is a one of the only types allowed to be +/// non-canonicalized in the system. +bool +is_non_canonicalized_type(const type_base *t) +{ + if (!t) + return true; + + const environment* env = t->get_environment(); + return is_declaration_only_class_or_union_type(t) || env->is_void_type(t); +} + +/// For a given type, return its exemplar type. +/// +/// For a given type, its exemplar type is either its canonical type +/// or the canonical type of the definition type of a given +/// declaration-only type. If the neither of those two types exist, +/// then the exemplar type is the given type itself. +/// +/// @param type the input to consider. +/// +/// @return the exemplar type. +type_base* +get_exemplar_type(const type_base* type) +{ + if (decl_base * decl = is_decl(type)) + { + // Make sure we get the real definition of a decl-only type. + decl = look_through_decl_only(decl); + type = is_type(decl); + ABG_ASSERT(type); + } + type_base *exemplar = type->get_naked_canonical_type(); + if (!exemplar) + { + // The type has no canonical type. Let's be sure that it's one + // of those rare types that are allowed to be non canonicalized + // in the system. + exemplar = const_cast<type_base*>(type); + ABG_ASSERT(is_non_canonicalized_type(exemplar)); + } + return exemplar; +} + +/// Test if a given type is allowed to be non canonicalized +/// +/// This is a subroutine of hash_as_canonical_type_or_constant. +/// +/// For now, the only types allowed to be non canonicalized in the +/// system are decl-only class/union and the void type. +/// +/// @return true iff @p t is a one of the only types allowed to be +/// non-canonicalized in the system. +bool +is_non_canonicalized_type(const type_base_sptr& t) +{return is_non_canonicalized_type(t.get());} + /// Hash a type by either returning the pointer value of its canonical /// type or by returning a constant if the type doesn't have a /// canonical type. @@ -23632,10 +25274,10 @@ return reinterpret_cast<size_t>(canonical_type); // If we reached this point, it means we are seeing a - // non-canonicalized type. It must be a decl-only class or a - // function type, otherwise it means that for some weird reason, the - // type hasn't been canonicalized. It should be! - ABG_ASSERT(is_declaration_only_class_or_union_type(t)); + // non-canonicalized type. It must be a decl-only class or a void + // type, otherwise it means that for some weird reason, the type + // hasn't been canonicalized. It should be! + ABG_ASSERT(is_non_canonicalized_type(t)); return 0xDEADBABE; } @@ -23659,8 +25301,8 @@ if (fr != sr) return fr < sr; - fr = f.get_pretty_representation(), - sr = s.get_pretty_representation(); + fr = f.get_pretty_representation(/*internal=*/true), + sr = s.get_pretty_representation(/*internal=*/true); if (fr != sr) return fr < sr; @@ -23706,7 +25348,43 @@ types_have_similar_structure(const type_base_sptr& first, const type_base_sptr& second, bool indirect_type) -{return types_have_similar_structure(first.get(), second.get(), indirect_type);} +{ + // This wrapper function is used during comparisons. It is called by and its + // wrappee calls the main equality functions, possibly resulting in a + // multiplication of the cost of comparison. + + // This is a convenient place to add some memoisation to avoid at + // least some of the duplicate calls. This is safe only if pointer + // addresses are never reused. + using Arguments = std::tuple<const type_base*, const type_base*, bool>; + + struct Hasher { + size_t operator()(const Arguments& arguments) const { + const auto& [first, second, indirect] = arguments; + size_t seed = 0; + std::hash<const type_base*> h; + combine_hash(seed, h(first)); + combine_hash(seed, h(second)); + combine_hash(seed, indirect); + return seed; + } + static void combine_hash(size_t& seed, size_t hash) { + seed ^= hash + 0x9e3779b97f4a7c15 + (seed << 12) + (seed >> 4); + } + }; + + static std::unordered_map<Arguments, abg_compat::optional<bool>, Hasher> memo; + + const Arguments t{first.get(), second.get(), indirect_type}; + const auto& [it, inserted] = memo.insert({t, {}}); + auto& result = it->second; + if (inserted) + result = types_have_similar_structure( + std::get<0>(t), std::get<1>(t), std::get<2>(t)); + else + ABG_ASSERT(result.has_value()); + return *result; +} /// Test if two types have similar structures, even though they are /// (or can be) different. @@ -23970,6 +25648,8 @@ : priv_(new priv) {} +ir_node_visitor::~ir_node_visitor() = default; + /// Set if the walker using this visitor is allowed to re-visit a type /// node that was previously visited or not. ///
diff --git a/src/abg-libxml-utils.cc b/src/abg-libxml-utils.cc index a1acff1..b29d2a8 100644 --- a/src/abg-libxml-utils.cc +++ b/src/abg-libxml-utils.cc
@@ -413,41 +413,5 @@ return result; } -/// Maybe get the next sibling element node of an XML node, or stay to the sam -/// -/// If there is no next sibling xml element node, the function returns -/// the initial node. -/// -/// @param node the initial node to consider. -/// -/// @return the next sibling node or the initial node @p node. -static xmlNodePtr -go_to_next_sibling_element_or_stay(xmlNodePtr node) -{ - xmlNodePtr n; - for (n = node; n; n = n->next) - { - if (n->type == XML_ELEMENT_NODE) - break; - } - return n ? n : node; -} - -/// Get the next sibling element node of an XML node. -/// -/// If there is no next sibling xml element node, the function returns nil. -/// -/// @param node the XML node to consider. -/// -/// @return the next sibling element node or nil. -xmlNodePtr -advance_to_next_sibling_element(xmlNodePtr node) -{ - xmlNodePtr n = go_to_next_sibling_element_or_stay(node->next); - if (n == 0 || n->type != XML_ELEMENT_NODE) - return 0; - return n; -} - }//end namespace xml }//end namespace abigail
diff --git a/src/abg-reader.cc b/src/abg-reader.cc index d4295d5..93b2a5f 100644 --- a/src/abg-reader.cc +++ b/src/abg-reader.cc
@@ -58,7 +58,19 @@ static bool read_is_artificial(xmlNodePtr, bool&); static bool read_tracking_non_reachable_types(xmlNodePtr, bool&); static bool read_is_non_reachable_type(xmlNodePtr, bool&); - +static bool read_naming_typedef_id_string(xmlNodePtr, string&); +#ifdef WITH_DEBUG_SELF_COMPARISON +static bool read_type_id_string(xmlNodePtr, string&); +static bool maybe_map_type_with_type_id(const type_base_sptr&, + xmlNodePtr); +static bool maybe_map_type_with_type_id(const type_base_sptr&, + const string&); +#define MAYBE_MAP_TYPE_WITH_TYPE_ID(type, xml_node) \ + maybe_map_type_with_type_id(type, xml_node) +#else +#define MAYBE_MAP_TYPE_WITH_TYPE_ID(type, xml_node) +#endif +static void maybe_set_naming_typedef(read_context& ctxt, xmlNodePtr, const decl_base_sptr &); class read_context; /// This abstracts the context in which the current ABI @@ -108,7 +120,6 @@ suppr::suppressions_type m_supprs; bool m_tracking_non_reachable_types; bool m_drop_undefined_syms; - bool m_merge_translation_units; read_context(); @@ -120,8 +131,7 @@ m_corp_node(), m_exported_decls_builder(), m_tracking_non_reachable_types(), - m_drop_undefined_syms(), - m_merge_translation_units() + m_drop_undefined_syms() {} /// Getter for the flag that tells us if we are tracking types that @@ -159,22 +169,6 @@ drop_undefined_syms(bool f) {m_drop_undefined_syms = f;} - /// Getter for the flag that tells us if we are merging translation - /// units. - /// - /// @return true iff we are merging translation units. - bool - merge_translation_units() const - {return m_merge_translation_units;} - - /// Setter for the flag that tells us if we are merging translation - /// units. - /// - /// @param f the new value of the flag. - void - merge_translation_units(bool f) - {m_merge_translation_units = f;} - /// Getter of the path to the ABI file. /// /// @return the path to the native xml abi file. @@ -214,10 +208,20 @@ get_reader() const {return m_reader;} + /// Getter of the current XML node in the corpus element sub-tree + /// that needs to be processed. + /// + /// @return the current XML node in the corpus element sub-tree that + /// needs to be processed. xmlNodePtr get_corpus_node() const {return m_corp_node;} + /// Setter of the current XML node in the corpus element sub-tree + /// that needs to be processed. + /// + /// @param node set the current XML node in the corpus element + /// sub-tree that needs to be processed. void set_corpus_node(xmlNodePtr node) {m_corp_node = node;} @@ -799,6 +803,75 @@ clear_decls_stack(); } +#ifdef WITH_DEBUG_SELF_COMPARISON + /// Perform a debugging routine for the "self-comparison" mode. + /// + /// This is done when this command is on: + /// + /// "abidw --debug-abidiff". + /// + /// Consider a type 't' built from an XML element from the abixml + /// reader and that has just been canonicalized. + /// + /// This function checks if the canonical type of 't' is the same as + /// the canonical type of the type which was saved into the abixml + /// with the same "type-id" as the one of 't'. + /// + /// Note that at abixml saving time, a debugging file was saved on + /// disk to record the mapping of canonical type pointers and their + /// type-ids. Right before reading the abixml again, that file was + /// read again and the mapping was loaded in the map returned by + /// environment::get_type_id_canonical_type_map(). + void + maybe_check_abixml_canonical_type_stability(type_base_sptr& t) + { + if (!m_env->self_comparison_debug_is_on() + || m_env->get_type_id_canonical_type_map().empty()) + return ; + + if (class_decl_sptr c = is_class_type(t)) + if (odr_is_relevant(*c) && c->get_is_declaration_only()) + // Declaration-only classes don't have canonical types in + // environments where ODR is relevant (like in C++). + return; + + // Let's get the type-id of this type as recorded in the + // originating abixml file. + string type_id = + m_env->get_type_id_from_pointer(reinterpret_cast<uintptr_t>(t.get())); + + if (!type_id.empty()) + { + // Now let's get the canonical type that initially led to the + // serialization of a type with this type-id, when the abixml + // was being serialized. + auto j = m_env->get_type_id_canonical_type_map().find(type_id); + if (j == m_env->get_type_id_canonical_type_map().end()) + { + if (t->get_naked_canonical_type()) + std::cerr << "error: no type with type-id: '" + << type_id + << "' could be read back from the typeid file\n"; + } + else if (j->second + != reinterpret_cast<uintptr_t>(t->get_canonical_type().get())) + // So thecanonical type of 't' (at abixml de-serialization + // time) is different from the canonical type that led to + // the serialization of 't' at abixml serialization time. + // Report this because it needs further debugging. + std::cerr << "error: canonical type for type '" + << t->get_pretty_representation(/*internal=*/false, + /*qualified=*/false) + << "' of type-id '" << type_id + << "' changed from '" << std::hex + << j->second << "' to '" << std::hex + << reinterpret_cast<uintptr_t>(t->get_canonical_type().get()) + << std::dec + << "'\n"; + } + } +#endif + /// Test if a type should be canonicalized early. If so, /// canonicalize it right away. Otherwise, schedule it for late /// canonicalizing; that is, schedule it so that it's going to be @@ -840,11 +913,17 @@ && !is_method_type(t) && !is_reference_type(t) && !is_pointer_type(t) + && !is_array_type(t) && !is_qualified_type(t) && !is_typedef(t) && !is_enum_type(t) && !is_function_type(t)) - canonicalize(t); + { + canonicalize(t); +#ifdef WITH_DEBUG_SELF_COMPARISON + maybe_check_abixml_canonical_type_stability(t); +#endif + } else { // We do not want to try to canonicalize a class type that @@ -873,7 +952,12 @@ for (vector<type_base_sptr>::iterator i = m_types_to_canonicalize.begin(); i != m_types_to_canonicalize.end(); ++i) - canonicalize(*i); + { + canonicalize(*i); +#ifdef WITH_DEBUG_SELF_COMPARISON + maybe_check_abixml_canonical_type_stability(*i); +#endif + } } /// Test whether if a given function suppression matches a function @@ -1063,6 +1147,11 @@ string_elf_symbols_map_sptr&, string_elf_symbols_map_sptr&); static bool read_location(const read_context&, xmlNodePtr, location&); +static bool read_artificial_location(const read_context&, + xmlNodePtr, location&); +static bool maybe_set_artificial_location(const read_context&, + xmlNodePtr, + type_or_decl_base_sptr); static bool read_visibility(xmlNodePtr, decl_base::visibility&); static bool read_binding(xmlNodePtr, decl_base::binding&); static bool read_access(xmlNodePtr, access_specifier&); @@ -1362,7 +1451,7 @@ ctxt.map_id_and_node(id, n); } - for (n = n->children; n; n = n->next) + for (n = xmlFirstElementChild(n); n; n = xmlNextElementSibling(n)) walk_xml_node_to_map_type_ids(ctxt, n); } @@ -1404,12 +1493,10 @@ || !ctxt.get_corpus()) walk_xml_node_to_map_type_ids(ctxt, node); - for (xmlNodePtr n = node->children; n; n = n->next) - { - if (n->type != XML_ELEMENT_NODE) - continue; - handle_element_node(ctxt, n, /*add_decl_to_scope=*/true); - } + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) + handle_element_node(ctxt, n, /*add_decl_to_scope=*/true); ctxt.pop_scope_or_abort(tu.get_global_scope()); @@ -1502,37 +1589,23 @@ } else { - node = 0; - for (xmlNodePtr n = ctxt.get_corpus_node()->next; n; n = n->next) - { - if (!n - || n->type != XML_ELEMENT_NODE) - continue; - if (!xmlStrEqual(n->name, BAD_CAST("abi-instr"))) - return nil; - node = n; - break; - } + if (!xmlStrEqual(node->name, BAD_CAST("abi-instr"))) + return nil; } - if (node == 0) - return nil; - tu = get_or_read_and_add_translation_unit(ctxt, node); - // So read_translation_unit() can trigger (under the hood) reading - // from several translation units just because - // read_context::get_scope_for_node() has been called. In that - // case, after that unexpected call to read_translation_unit(), the - // current corpus node of the context is going to point to that - // translation unit that has been read under the hood. Let's set - // the corpus node to the one we initially called - // read_translation_unit() on here. - ctxt.set_corpus_node(node); + + // We are not in the mode where the current corpus node came from a + // local invocation of xmlTextReaderExpand. So let's set + // ctxt.get_corpus_node to the next child element node of the corpus + // that needs to be processed. + ctxt.set_corpus_node(xmlNextElementSibling(node)); + return tu; } -/// Parse the input XML document containing a function symbols -/// or a variable symbol database. +/// Parse the input XML document that may contain function symbol and +/// variable symbol databases. /// /// A function symbols database is an XML element named /// "elf-function-symbols" and a variable symbols database is an XML @@ -1541,12 +1614,11 @@ /// /// @param ctxt the read_context to use for the parsing. /// -/// @param function_symbols is true if this function should look for a -/// function symbols database, false if it should look for a variable -/// symbols database. +/// @param fn_symdb any resulting function symbol database object, if +/// elf-function-symbols was present. /// -/// @param symdb the resulting symbol database object. This is set -/// iff the function return true. +/// @param var_symdb any resulting variable symbol database object, if +/// elf-variable-symbols was present. /// /// @return true upon successful parsing, false otherwise. static bool @@ -1558,8 +1630,6 @@ if (!reader) return false; - bool found = false; - if (!ctxt.get_corpus_node()) for (;;) { @@ -1586,49 +1656,35 @@ return false; if (has_fn_syms) - { - fn_symdb = build_elf_symbol_db(ctxt, node, true); - if (fn_symdb) - found = true; - } + fn_symdb = build_elf_symbol_db(ctxt, node, true); else if (has_var_syms) - { - var_symdb = build_elf_symbol_db(ctxt, node, false); - if (var_symdb) - found = true; - } + var_symdb = build_elf_symbol_db(ctxt, node, false); xmlTextReaderNext(reader.get()); } else - for (xmlNodePtr n = ctxt.get_corpus_node()->next; n; n = n->next) + for (xmlNodePtr n = ctxt.get_corpus_node(); n; n = xmlNextElementSibling(n)) { - if (!n || n->type != XML_ELEMENT_NODE) - continue; - bool has_fn_syms = false, has_var_syms = false; if (xmlStrEqual(n->name, BAD_CAST("elf-function-symbols"))) has_fn_syms = true; else if (xmlStrEqual(n->name, BAD_CAST("elf-variable-symbols"))) has_var_syms = true; else - break; - ctxt.set_corpus_node(n); + { + ctxt.set_corpus_node(n); + break; + } + if (has_fn_syms) - { - fn_symdb = build_elf_symbol_db(ctxt, n, true); - found = true; - } + fn_symdb = build_elf_symbol_db(ctxt, n, true); else if (has_var_syms) - { - var_symdb = build_elf_symbol_db(ctxt, n, false); - found = true; - } + var_symdb = build_elf_symbol_db(ctxt, n, false); else break; } - return found; + return true; } /// From an "elf-needed" XML_ELEMENT node, build a vector of strings @@ -1644,16 +1700,14 @@ static bool build_needed(xmlNode* node, vector<string>& needed) { - if (!node) - return false; - if (!node || !xmlStrEqual(node->name,BAD_CAST("elf-needed"))) return false; - for (xmlNodePtr n = node->children; n; n = n->next) + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) { - if (n->type != XML_ELEMENT_NODE - || !xmlStrEqual(n->name, BAD_CAST("dependency"))) + if (!xmlStrEqual(n->name, BAD_CAST("dependency"))) continue; string name; @@ -1684,9 +1738,9 @@ if (!reader) return false; - xmlNodePtr node = 0; + xmlNodePtr node = ctxt.get_corpus_node(); - if (ctxt.get_corpus_node() == 0) + if (!node) { int status = 1; while (status == 1 @@ -1706,23 +1760,13 @@ } else { - for (xmlNodePtr n = ctxt.get_corpus_node()->next; n; n = n->next) - { - if (!n || n->type != XML_ELEMENT_NODE) - continue; - if (!xmlStrEqual(n->name, BAD_CAST("elf-needed"))) - return false; - node = n; - break; - } + if (!xmlStrEqual(node->name, BAD_CAST("elf-needed"))) + return false; } - bool result = false; - if (node) - { - result = build_needed(node, needed); - ctxt.set_corpus_node(node); - } + bool result = build_needed(node, needed); + + ctxt.set_corpus_node(xmlNextElementSibling(node)); return result; } @@ -1824,6 +1868,8 @@ if (!reader) return nil; + // This is to remember to call xmlTextReaderNext if we ever call + // xmlTextReaderExpand. bool call_reader_next = false; xmlNodePtr node = ctxt.get_corpus_node(); @@ -1839,16 +1885,18 @@ BAD_CAST("abi-corpus"))) return nil; - if (!ctxt.get_corpus()) - { - corpus_sptr c(new corpus(ctxt.get_environment(), "")); - ctxt.set_corpus(c); - } + ctxt.set_corpus(std::make_shared<corpus>(ctxt.get_environment(), "")); +#ifdef WITH_DEBUG_SELF_COMPARISON + if (ctxt.get_environment()->self_comparison_debug_is_on()) + ctxt.get_environment()-> + set_self_comparison_debug_input(ctxt.get_corpus()); +#endif if (!ctxt.get_corpus_group()) ctxt.clear_per_corpus_data(); corpus& corp = *ctxt.get_corpus(); + corp.set_origin(corpus::NATIVE_XML_ORIGIN); ctxt.set_exported_decls_builder(corp.get_exported_decls_builder().get()); handle_version_attribute(reader, corp); @@ -1897,16 +1945,19 @@ } else { - if (!ctxt.get_corpus()) - { - corpus_sptr c(new corpus(ctxt.get_environment(), "")); - ctxt.set_corpus(c); - } + ctxt.set_corpus(std::make_shared<corpus>(ctxt.get_environment(), "")); +#ifdef WITH_DEBUG_SELF_COMPARISON + if (ctxt.get_environment()->self_comparison_debug_is_on()) + ctxt.get_environment()-> + set_self_comparison_debug_input(ctxt.get_corpus()); +#endif if (!ctxt.get_corpus_group()) ctxt.clear_per_corpus_data(); corpus& corp = *ctxt.get_corpus(); + corp.set_origin(corpus::NATIVE_XML_ORIGIN); + ctxt.set_exported_decls_builder(corp.get_exported_decls_builder().get()); xml::xml_char_sptr path_str = XML_NODE_GET_ATTRIBUTE(node, "path"); @@ -1925,10 +1976,14 @@ corp.set_soname(reinterpret_cast<char*>(soname_str.get())); } - if (!node->children) - return nil; - - ctxt.set_corpus_node(node->children); + // If the corpus element node has children nodes, make + // ctxt.get_corpus_node() returns the first child element node of + // the corpus element that *needs* to be processed. + if (node->children) + { + xmlNodePtr n = xmlFirstElementChild(node); + ctxt.set_corpus_node(n); + } corpus& corp = *ctxt.get_corpus(); @@ -1943,24 +1998,16 @@ string_elf_symbols_map_sptr fn_sym_db, var_sym_db; // Read the symbol databases. - bool is_ok = read_symbol_db_from_input(ctxt, fn_sym_db, var_sym_db); - if (is_ok) - { - // Note that it's possible that both fn_sym_db and var_sym_db - // are nil, due to potential suppression specifications. That's - // fine. - corp.set_symtab(symtab_reader::symtab::load(fn_sym_db, var_sym_db)); - } + read_symbol_db_from_input(ctxt, fn_sym_db, var_sym_db); + // Note that it's possible that both fn_sym_db and var_sym_db are nil, + // due to potential suppression specifications. That's fine. + corp.set_symtab(symtab_reader::symtab::load(fn_sym_db, var_sym_db)); ctxt.get_environment()->canonicalization_is_done(false); // Read the translation units. - do - { - translation_unit_sptr tu = read_translation_unit_from_input(ctxt); - is_ok = bool(tu); - } - while (is_ok); + while (read_translation_unit_from_input(ctxt)) + ; if (ctxt.tracking_non_reachable_types()) { @@ -1977,22 +2024,25 @@ ctxt.get_environment()->canonicalization_is_done(true); - corp.set_origin(corpus::NATIVE_XML_ORIGIN); - if (call_reader_next) { // This is the necessary counter-part of the xmlTextReaderExpand() // call at the beginning of the function. xmlTextReaderNext(reader.get()); + // The call above invalidates the xml node returned by + // xmlTextReaderExpand, which is can still be accessed via + // ctxt.set_corpus_node. + ctxt.set_corpus_node(0); } else { node = ctxt.get_corpus_node(); - node = xml::advance_to_next_sibling_element(node); + node = xmlNextElementSibling(node); if (!node) { node = ctxt.get_corpus_node(); - node = xml::advance_to_next_sibling_element(node->parent); + if (node) + node = xmlNextElementSibling(node->parent); } ctxt.set_corpus_node(node); } @@ -2045,8 +2095,7 @@ if (!node) return nil; - //node = xml::get_first_element_sibling_if_text(node->children); - node = xml::advance_to_next_sibling_element(node->children); + node = xmlFirstElementChild(node); ctxt.set_corpus_node(node); corpus_sptr corp; @@ -2224,10 +2273,12 @@ file_path = CHAR_STR(f); if (file_path.empty()) - return false; + return read_artificial_location(ctxt, node, loc); if (xml_char_sptr l = xml::build_sptr(xmlGetProp(node, BAD_CAST("line")))) line = atoi(CHAR_STR(l)); + else + return read_artificial_location(ctxt, node, loc); if (xml_char_sptr c = xml::build_sptr(xmlGetProp(node, BAD_CAST("column")))) column = atoi(CHAR_STR(c)); @@ -2239,6 +2290,72 @@ return true; } +/// Parses the artificial location attributes on an xmlNodePtr. +/// +/// The artificial location is the line number of the xmlNode as well +/// as the URI of the node. +/// +///@param ctxt the current parsing context +/// +///@param loc the resulting location. +/// +/// @return true upon sucessful parsing, false otherwise. +static bool +read_artificial_location(const read_context& ctxt, + xmlNodePtr node, + location& loc) +{ + if (!node) + return false; + + string file_path; + size_t line = 0, column = 0; + + line = node->line; + + if (node->doc) + file_path = reinterpret_cast<const char*>(node->doc->URL); + + read_context& c = const_cast<read_context&>(ctxt); + loc = + c.get_translation_unit()->get_loc_mgr().create_new_location(file_path, + line, column); + loc.set_is_artificial(true); + return true; +} + +/// Set the artificial location of a xmlNode to an artifact. +/// +/// The artificial location is the line number of the xmlNode as well +/// as the URI of the node. +/// +/// The function sets the artificial location only if the artifact +/// doesn"t already have one. +/// +///@param ctxt the current parsing context +/// +///@param node the XML node to consider. +/// +///@param artifact the ABI artifact. +/// +/// @return true iff the location was set on the artifact. +static bool +maybe_set_artificial_location(const read_context& ctxt, + xmlNodePtr node, + type_or_decl_base_sptr artefact) +{ + if (artefact && !artefact->has_artificial_location()) + { + location l; + if (read_artificial_location(ctxt, node, l)) + { + artefact->set_artificial_location(l); + return true; + } + } + return false; +} + /// Parse the visibility attribute. /// /// @param node the xml node to read from. @@ -2351,13 +2468,13 @@ bool got_something = false; if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "size-in-bits")) { - size_in_bits = atoi(CHAR_STR(s)); + size_in_bits = atoll(CHAR_STR(s)); got_something = true; } if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "alignment-in-bits")) { - align_in_bits = atoi(CHAR_STR(s)); + align_in_bits = atoll(CHAR_STR(s)); got_something = true; } return got_something; @@ -2564,6 +2681,26 @@ return false; } +/// Read the "naming-typedef-id" property from an XML node. +/// +/// @param node the XML node to consider. +/// +/// @param naming_typedef_id output parameter. It's set to the +/// content of the "naming-typedef-id" property, if it's present. +/// +/// @return true iff the "naming-typedef-id" property exists and was +/// read from @p node. +static bool +read_naming_typedef_id_string(xmlNodePtr node, string& naming_typedef_id) +{ + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "naming-typedef-id")) + { + naming_typedef_id = xml::unescape_xml_string(CHAR_STR(s)); + return true; + } + return false; +} + /// Read the "is-virtual" attribute of the current xml node. /// /// @param node the xml node to read the attribute from @@ -2694,6 +2831,114 @@ return false; } +#ifdef WITH_DEBUG_SELF_COMPARISON +/// Read the value of the 'id' attribute from a given XML node. +/// +/// @param node the XML node to consider. +/// +/// @param type_id the string to set the 'id' to. +/// +/// @return true iff @p type_id was successfully set. +static bool +read_type_id_string(xmlNodePtr node, string& type_id) +{ + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "id")) + { + type_id = CHAR_STR(s); + return true; + } + return false; +} + +/// Associate a type-id string with the type that was constructed from +/// it. +/// +/// Note that if we are not in "self comparison debugging" mode or if +/// the type we are looking at is not canonicalized, then this +/// function does nothing. +/// +/// @param t the type built from the a type XML node that has a +/// particular type-id. +/// +/// @param type_id the type-id of type @p t. +/// +/// @return true if the association was performed. +static bool +maybe_map_type_with_type_id(const type_base_sptr& t, + const string& type_id) +{ + if (!t) + return false; + + environment *env = t->get_environment(); + if (!env->self_comparison_debug_is_on() + || is_non_canonicalized_type(t.get())) + return false; + + env->get_pointer_type_id_map()[reinterpret_cast<uintptr_t>(t.get())] = + type_id; + + return true; +} + +/// Associate a type-id string with the type that was constructed from +/// it. +/// +/// Note that if we are not in "self comparison debugging" mode or if +/// the type we are looking at is not canonicalized, then this +/// function does nothing. +/// +/// @param t the type built from the a type XML node that has a +/// particular type-id. +/// +/// @param type_id the type-id of type @p t. +/// +/// @return true if the association was performed. +static bool +maybe_map_type_with_type_id(const type_base_sptr& t, + xmlNodePtr node) +{ + if (!t) + return false; + + environment *env = t->get_environment(); + if (!env->self_comparison_debug_is_on() + || is_non_canonicalized_type(t.get())) + return false; + + string type_id; + if (!read_type_id_string(node, type_id) || type_id.empty()) + return false; + + return maybe_map_type_with_type_id(t, type_id); +} + +#endif + +/// Set the naming typedef to a given decl depending on the content of +/// the "naming-typedef-id" property of its descriptive XML element. +/// +/// @param ctxt the current read context. +/// +/// @param node the XML node to read from. +/// +/// @param decl the decl to set the naming typedef to. +static void +maybe_set_naming_typedef(read_context& ctxt, + xmlNodePtr node, + const decl_base_sptr& decl) +{ + string naming_typedef_id; + read_naming_typedef_id_string(node, naming_typedef_id); + if (!naming_typedef_id.empty()) + { + typedef_decl_sptr naming_typedef = + is_typedef(ctxt.build_or_get_type_decl(naming_typedef_id, true)); + ABG_ASSERT(naming_typedef); + decl->set_naming_typedef(naming_typedef); + } +} + /// Build a @ref namespace_decl from an XML element node which name is /// "namespace-decl". Note that this function recursively reads the /// content of the namespace and builds the proper IR nodes @@ -2734,15 +2979,14 @@ const environment* env = ctxt.get_environment(); namespace_decl_sptr decl(new namespace_decl(env, name, loc)); + maybe_set_artificial_location(ctxt, node, decl); ctxt.push_decl_to_current_scope(decl, add_to_current_scope); ctxt.map_xml_node_to_decl(node, decl); - for (xmlNodePtr n = node->children; n; n = n->next) - { - if (n->type != XML_ELEMENT_NODE) - continue; - handle_element_node(ctxt, n, /*add_to_current_scope=*/true); - } + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) + handle_element_node(ctxt, n, /*add_to_current_scope=*/true); ctxt.pop_scope_or_abort(decl); @@ -2837,8 +3081,7 @@ elf_symbol_sptr e = elf_symbol::create(env, /*index=*/0, size, name, type, binding, is_defined, is_common, - version, visibility, - /*is_linux_string_cst=*/false); + version, visibility); e->set_is_suppressed(is_suppressed); @@ -2929,14 +3172,14 @@ xml_node_ptr_elf_symbol_sptr_map_type xml_node_ptr_elf_symbol_map; elf_symbol_sptr sym; - for (xmlNodePtr n = node->children; n; n = n->next) - { - if ((sym = build_elf_symbol(ctxt, n, /*drop_if_suppress=*/false))) - { - id_sym_map[sym->get_id_string()] = sym; - xml_node_ptr_elf_symbol_map[n] = sym; - } - } + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) + if ((sym = build_elf_symbol(ctxt, n, /*drop_if_suppress=*/false))) + { + id_sym_map[sym->get_id_string()] = sym; + xml_node_ptr_elf_symbol_map[n] = sym; + } if (id_sym_map.empty()) return nil; @@ -3095,12 +3338,11 @@ std::vector<function_decl::parameter_sptr> parms; type_base_sptr return_type = env->get_void_type(); - for (xmlNodePtr n = node->children; n ; n = n->next) + for (xmlNodePtr n = xmlFirstElementChild(node); + n ; + n = xmlNextElementSibling(n)) { - if (n->type != XML_ELEMENT_NODE) - continue; - - else if (xmlStrEqual(n->name, BAD_CAST("parameter"))) + if (xmlStrEqual(n->name, BAD_CAST("parameter"))) { if (function_decl::parameter_sptr p = build_function_parameter(ctxt, n)) @@ -3126,6 +3368,8 @@ ABG_ASSERT(fn_type); + fn_type->set_is_artificial(true); + function_decl_sptr fn_decl(as_method_decl ? new method_decl (name, fn_type, declared_inline, loc, @@ -3135,6 +3379,7 @@ mangled_name, vis, bind)); + maybe_set_artificial_location(ctxt, node, fn_decl); ctxt.push_decl_to_current_scope(fn_decl, add_to_current_scope); elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node); @@ -3367,6 +3612,7 @@ var_decl_sptr decl(new var_decl(name, underlying_type, locus, mangled_name, vis, bind)); + maybe_set_artificial_location(ctxt, node, decl); elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node); if (sym) @@ -3449,6 +3695,7 @@ const environment* env = ctxt.get_environment(); type_decl_sptr decl(new type_decl(env, name, size_in_bits, alignment_in_bits, loc)); + maybe_set_artificial_location(ctxt, node, decl); decl->set_is_anonymous(is_anonymous); decl->set_is_declaration_only(is_decl_only); if (ctxt.push_and_key_type_decl(decl, id, add_to_current_scope)) @@ -3488,29 +3735,17 @@ return result; } - string type_id; - if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) - type_id = CHAR_STR(s); - - shared_ptr<type_base> underlying_type = - ctxt.build_or_get_type_decl(type_id, true); - ABG_ASSERT(underlying_type); - - // maybe building the underlying type triggered building this one in - // the mean time ... - if (decl_base_sptr d = ctxt.get_decl_for_xml_node(node)) - { - qualified_type_def_sptr result = - dynamic_pointer_cast<qualified_type_def>(d); - ABG_ASSERT(result); - return result; - } - string id; if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE (node, "id")) id = CHAR_STR(s); - string const_str; + ABG_ASSERT(!id.empty()); + + location loc; + read_location(ctxt, node, loc); + + qualified_type_def::CV cv = qualified_type_def::CV_NONE; + string const_str; if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "const")) const_str = CHAR_STR(s); bool const_cv = const_str == "yes"; @@ -3525,7 +3760,6 @@ restrict_str = CHAR_STR(s); bool restrict_cv = restrict_str == "yes"; - qualified_type_def::CV cv = qualified_type_def::CV_NONE; if (const_cv) cv = cv | qualified_type_def::CV_CONST; if (volatile_cv) @@ -3533,30 +3767,31 @@ if (restrict_cv) cv = cv | qualified_type_def::CV_RESTRICT; - location loc; - read_location(ctxt, node, loc); + string type_id; + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) + type_id = CHAR_STR(s); + ABG_ASSERT(!type_id.empty()); - ABG_ASSERT(!id.empty()); + shared_ptr<type_base> underlying_type = + ctxt.build_or_get_type_decl(type_id, true); + ABG_ASSERT(underlying_type); qualified_type_def_sptr decl; - - if (type_base_sptr d = ctxt.get_type_decl(id)) + if (type_base_sptr t = ctxt.get_type_decl(id)) { - qualified_type_def_sptr ty = is_qualified_type(d); - ABG_ASSERT(ty); - string pr1 = get_pretty_representation(ty->get_underlying_type()), - pr2 = get_pretty_representation(underlying_type); - return ty; + decl = is_qualified_type(t); + ABG_ASSERT(decl); + } + else + { + decl.reset(new qualified_type_def(underlying_type, cv, loc)); + maybe_set_artificial_location(ctxt, node, decl); + ctxt.push_and_key_type_decl(decl, id, add_to_current_scope); } - decl.reset(new qualified_type_def(underlying_type, cv, loc)); - if (ctxt.push_and_key_type_decl(decl, id, add_to_current_scope)) - { - ctxt.map_xml_node_to_decl(node, decl); - return decl; - } + ctxt.map_xml_node_to_decl(node, decl); - return shared_ptr<qualified_type_def>((qualified_type_def*)0); + return decl; } /// Build a pointer_type_def from a 'pointer-type-def' xml node. @@ -3589,55 +3824,49 @@ return result; } - string type_id; - if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) - type_id = CHAR_STR(s); - - shared_ptr<type_base> pointed_to_type = - ctxt.build_or_get_type_decl(type_id, true); - ABG_ASSERT(pointed_to_type); - - // maybe building the underlying type triggered building this one in - // the mean time ... - if (decl_base_sptr d = ctxt.get_decl_for_xml_node(node)) - { - pointer_type_def_sptr result = - dynamic_pointer_cast<pointer_type_def>(d); - ABG_ASSERT(result); - return result; - } - - size_t size_in_bits = ctxt.get_translation_unit()->get_address_size(); - size_t alignment_in_bits = 0; - read_size_and_alignment(node, size_in_bits, alignment_in_bits); - string id; if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "id")) id = CHAR_STR(s); ABG_ASSERT(!id.empty()); - if (type_base_sptr d = ctxt.get_type_decl(id)) + + if (type_base_sptr t = ctxt.get_type_decl(id)) { - pointer_type_def_sptr ty = is_pointer_type(d); - ABG_ASSERT(ty); - ABG_ASSERT(ctxt.types_equal(pointed_to_type, - ty->get_pointed_to_type())); - return ty; + pointer_type_def_sptr result = is_pointer_type(t); + ABG_ASSERT(result); + return result; } + string type_id; + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) + type_id = CHAR_STR(s); + + size_t size_in_bits = ctxt.get_translation_unit()->get_address_size(); + size_t alignment_in_bits = 0; + read_size_and_alignment(node, size_in_bits, alignment_in_bits); location loc; read_location(ctxt, node, loc); - shared_ptr<pointer_type_def> t(new pointer_type_def(pointed_to_type, - size_in_bits, - alignment_in_bits, - loc)); - if (ctxt.push_and_key_type_decl(t, id, add_to_current_scope)) - { - ctxt.map_xml_node_to_decl(node, t); - return t; - } + // Create the pointer type /before/ the pointed-to type. After the + // creation, the type is 'keyed' using ctxt.push_and_key_type_decl. + // This means that the type can be retrieved from its type ID. This + // is so that if the pointed-to type indirectly uses this pointer + // type (via recursion) then that is made possible. + pointer_type_def_sptr t(new pointer_type_def(ctxt.get_environment(), + size_in_bits, + alignment_in_bits, + loc)); + maybe_set_artificial_location(ctxt, node, t); - return nil; + if (ctxt.push_and_key_type_decl(t, id, add_to_current_scope)) + ctxt.map_xml_node_to_decl(node, t); + + type_base_sptr pointed_to_type = + ctxt.build_or_get_type_decl(type_id, true); + ABG_ASSERT(pointed_to_type); + + t->set_pointed_to_type(pointed_to_type); + + return t; } /// Build a reference_type_def from a pointer to 'reference-type-def' @@ -3670,33 +3899,6 @@ return result; } - string kind; - if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "kind")) - kind = CHAR_STR(s); // this should be either "lvalue" or "rvalue". - bool is_lvalue = kind == "lvalue"; - - string type_id; - if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) - type_id = CHAR_STR(s); - - shared_ptr<type_base> pointed_to_type = ctxt.build_or_get_type_decl(type_id, - true); - ABG_ASSERT(pointed_to_type); - - // maybe building the underlying type triggered building this one in - // the mean time ... - if (decl_base_sptr d = ctxt.get_decl_for_xml_node(node)) - { - reference_type_def_sptr result = - dynamic_pointer_cast<reference_type_def>(d); - ABG_ASSERT(result); - return result; - } - - size_t size_in_bits = ctxt.get_translation_unit()->get_address_size(); - size_t alignment_in_bits = 0; - read_size_and_alignment(node, size_in_bits, alignment_in_bits); - string id; if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "id")) id = CHAR_STR(s); @@ -3706,25 +3908,44 @@ { reference_type_def_sptr ty = is_reference_type(d); ABG_ASSERT(ty); - ABG_ASSERT(ctxt.types_equal(pointed_to_type, ty->get_pointed_to_type())); return ty; } location loc; read_location(ctxt, node, loc); + string kind; + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "kind")) + kind = CHAR_STR(s); // this should be either "lvalue" or "rvalue". + bool is_lvalue = kind == "lvalue"; - shared_ptr<reference_type_def> t(new reference_type_def(pointed_to_type, - is_lvalue, - size_in_bits, - alignment_in_bits, - loc)); + size_t size_in_bits = ctxt.get_translation_unit()->get_address_size(); + size_t alignment_in_bits = 0; + read_size_and_alignment(node, size_in_bits, alignment_in_bits); + + string type_id; + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) + type_id = CHAR_STR(s); + ABG_ASSERT(!type_id.empty()); + + // Create the reference type /before/ the pointed-to type. After + // the creation, the type is 'keyed' using + // ctxt.push_and_key_type_decl. This means that the type can be + // retrieved from its type ID. This is so that if the pointed-to + // type indirectly uses this reference type (via recursion) then + // that is made possible. + reference_type_def_sptr t(new reference_type_def(ctxt.get_environment(), + is_lvalue, size_in_bits, + alignment_in_bits, loc)); + maybe_set_artificial_location(ctxt, node, t); if (ctxt.push_and_key_type_decl(t, id, add_to_current_scope)) - { - ctxt.map_xml_node_to_decl(node, t); - return t; - } + ctxt.map_xml_node_to_decl(node, t); - return nil; + type_base_sptr pointed_to_type = + ctxt.build_or_get_type_decl(type_id,/*add_to_current_scope=*/ true); + ABG_ASSERT(pointed_to_type); + t->set_pointed_to_type(pointed_to_type); + + return t; } /// Build a function_type from a pointer to 'function-type' @@ -3768,12 +3989,12 @@ std::vector<shared_ptr<function_decl::parameter> > parms; type_base_sptr return_type = env->get_void_type(); - class_decl_sptr method_class_type; + class_or_union_sptr method_class_type; if (is_method_t) { method_class_type = - is_class_type(ctxt.build_or_get_type_decl(method_class_id, - /*add_decl_to_scope=*/true)); + is_class_or_union_type(ctxt.build_or_get_type_decl(method_class_id, + /*add_decl_to_scope=*/true)); ABG_ASSERT(method_class_type); } @@ -3788,12 +4009,11 @@ ctxt.get_translation_unit()->bind_function_type_life_time(fn_type); ctxt.key_type_decl(fn_type, id); - for (xmlNodePtr n = node->children; n ; n = n->next) + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) { - if (n->type != XML_ELEMENT_NODE) - continue; - - else if (xmlStrEqual(n->name, BAD_CAST("parameter"))) + if (xmlStrEqual(n->name, BAD_CAST("parameter"))) { if (function_decl::parameter_sptr p = build_function_parameter(ctxt, n)) @@ -3924,6 +4144,7 @@ (new array_type_def::subrange_type(ctxt.get_environment(), name, min_bound, max_bound, underlying_type, loc)); + maybe_set_artificial_location(ctxt, node, p); p->is_infinite(is_infinite); return p; @@ -3959,6 +4180,18 @@ return result; } + string id; + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "id")) + id = CHAR_STR(s); + ABG_ASSERT(!id.empty()); + + if (type_base_sptr d = ctxt.get_type_decl(id)) + { + array_type_def_sptr ty = is_array_type(d); + ABG_ASSERT(ty); + return ty; + } + int dimensions = 0; if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "dimensions")) dimensions = atoi(CHAR_STR(s)); @@ -3967,11 +4200,6 @@ if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) type_id = CHAR_STR(s); - // The type of array elements. - type_base_sptr type = - ctxt.build_or_get_type_decl(type_id, true); - ABG_ASSERT(type); - // maybe building the type of array elements triggered building this // one in the mean time ... if (decl_base_sptr d = ctxt.get_decl_for_xml_node(node)) @@ -4006,47 +4234,37 @@ return nil; } - string id; - if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "id")) - id = CHAR_STR(s); - ABG_ASSERT(!id.empty()); - - if (type_base_sptr d = ctxt.get_type_decl(id)) - { - array_type_def_sptr ty = is_array_type(d); - ABG_ASSERT(ty); - ABG_ASSERT(*type == *ty->get_element_type()); - ABG_ASSERT(type->get_alignment_in_bits() == alignment_in_bits); - return ty; - } - location loc; read_location(ctxt, node, loc); array_type_def::subranges_type subranges; - for (xmlNodePtr n = node->children; n ; n = n->next) - { - if (n->type != XML_ELEMENT_NODE) - continue; + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) + if (xmlStrEqual(n->name, BAD_CAST("subrange"))) + { + if (array_type_def::subrange_sptr s = + build_subrange_type(ctxt, n)) + { + MAYBE_MAP_TYPE_WITH_TYPE_ID(s, n); + if (add_to_current_scope) + { + add_decl_to_scope(s, ctxt.get_cur_scope()); + ctxt.maybe_canonicalize_type(s); + } + subranges.push_back(s); + } + } - else if (xmlStrEqual(n->name, BAD_CAST("subrange"))) - { - if (array_type_def::subrange_sptr s = - build_subrange_type(ctxt, n)) - { - if (add_to_current_scope) - { - add_decl_to_scope(s, ctxt.get_cur_scope()); - ctxt.maybe_canonicalize_type(s); - } - subranges.push_back(s); - } - } - } + // The type of array elements. + type_base_sptr type = + ctxt.build_or_get_type_decl(type_id, true); + ABG_ASSERT(type); - array_type_def_sptr ar_type(new array_type_def(type, - subranges, - loc)); + array_type_def_sptr ar_type(new array_type_def(type, subranges, loc)); + maybe_set_artificial_location(ctxt, node, ar_type); + if (ctxt.push_and_key_type_decl(ar_type, id, add_to_current_scope)) + ctxt.map_xml_node_to_decl(node, ar_type); if (dimensions != ar_type->get_dimension_count() || (alignment_in_bits @@ -4088,13 +4306,7 @@ } } - if (ctxt.push_and_key_type_decl(ar_type, id, add_to_current_scope)) - { - ctxt.map_xml_node_to_decl(node, ar_type); - return ar_type; - } - - return nil; + return ar_type; } /// Build an @ref enum_type_decl from the XML node that represents it, @@ -4182,11 +4394,10 @@ string base_type_id; enum_type_decl::enumerators enums; - for (xmlNodePtr n = node->children; n; n = n->next) + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) { - if (n->type != XML_ELEMENT_NODE) - continue; - if (xmlStrEqual(n->name, BAD_CAST("underlying-type"))) { xml_char_sptr a = xml::build_sptr(xmlGetProp(n, BAD_CAST("type-id"))); @@ -4208,7 +4419,11 @@ if (a) { value = strtoll(CHAR_STR(a), NULL, 0); - if (value == LLONG_MIN || value == LLONG_MAX) + // when strtoll encounters overflow or underflow, errno + // is set to ERANGE and the returned value is either + // LLONG_MIN or LLONG_MAX. + if ((errno == ERANGE) + && (value == LLONG_MIN || value == LLONG_MAX)) return nil; } @@ -4223,11 +4438,13 @@ enum_type_decl_sptr t(new enum_type_decl(name, loc, underlying_type, enums, linkage_name)); + maybe_set_artificial_location(ctxt, node, t); t->set_is_anonymous(is_anonymous); t->set_is_artificial(is_artificial); t->set_is_declaration_only(is_decl_only); if (ctxt.push_and_key_type_decl(t, id, add_to_current_scope)) { + maybe_set_naming_typedef(ctxt, node, t); ctxt.map_xml_node_to_decl(node, t); return t; } @@ -4265,47 +4482,34 @@ id = CHAR_STR(s); ABG_ASSERT(!id.empty()); - string name; - if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "name")) - name = xml::unescape_xml_string(CHAR_STR(s)); - - string type_id; - if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) - type_id = CHAR_STR(s); - shared_ptr<type_base> underlying_type(ctxt.build_or_get_type_decl(type_id, - true)); - ABG_ASSERT(underlying_type); - - // maybe building the underlying type triggered building this one in - // the mean time ... - if (decl_base_sptr d = ctxt.get_decl_for_xml_node(node)) + if (type_base_sptr t = ctxt.get_type_decl(id)) { - typedef_decl_sptr result = dynamic_pointer_cast<typedef_decl>(d); + typedef_decl_sptr result = is_typedef(t); ABG_ASSERT(result); return result; } + string name; + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "name")) + name = xml::unescape_xml_string(CHAR_STR(s)); + location loc; read_location(ctxt, node, loc); - if (type_base_sptr d = ctxt.get_type_decl(id)) - { - typedef_decl_sptr ty = dynamic_pointer_cast<typedef_decl>(d); - ABG_ASSERT(ty); - ABG_ASSERT(name == ty->get_name()); - ABG_ASSERT(get_type_name(underlying_type) - == get_type_name(ty->get_underlying_type())); - // it's possible to have the same typedef several times. - } + string type_id; + if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "type-id")) + type_id = CHAR_STR(s); + ABG_ASSERT(!type_id.empty()); + + type_base_sptr underlying_type(ctxt.build_or_get_type_decl(type_id, true)); + ABG_ASSERT(underlying_type); + typedef_decl_sptr t(new typedef_decl(name, underlying_type, loc)); + maybe_set_artificial_location(ctxt, node, t); + ctxt.push_and_key_type_decl(t, id, add_to_current_scope); + ctxt.map_xml_node_to_decl(node, t); - if (ctxt.push_and_key_type_decl(t, id, add_to_current_scope)) - { - ctxt.map_xml_node_to_decl(node, t); - return t; - } - - return nil; + return t; } /// Build a class from its XML node if it is not suppressed by a @@ -4418,15 +4622,18 @@ bool is_anonymous = false; read_is_anonymous(node, is_anonymous); - string naming_typedef_id; - - if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "naming-typedef-id")) - naming_typedef_id = xml::unescape_xml_string(CHAR_STR(s)); - ABG_ASSERT(!id.empty()); + class_decl_sptr previous_definition, previous_declaration; - const vector<type_base_sptr> *types_ptr = 0; if (!is_anonymous) + if (type_base_sptr t = ctxt.get_type_decl(id)) + { + previous_definition = is_class_type(t); + ABG_ASSERT(previous_definition); + } + + const vector<type_base_sptr> *types_ptr = 0; + if (!is_anonymous && !previous_definition) types_ptr = ctxt.get_all_type_decls(id); if (types_ptr) { @@ -4478,6 +4685,7 @@ decl->set_size_in_bits(size_in_bits); if (is_anonymous) decl->set_is_anonymous(is_anonymous); + decl->set_location(loc); } else decl.reset(new class_decl(env, name, size_in_bits, alignment_in_bits, @@ -4485,6 +4693,7 @@ data_mbrs, mbr_functions, is_anonymous)); } + maybe_set_artificial_location(ctxt, node, decl); decl->set_is_artificial(is_artificial); string def_id; @@ -4545,19 +4754,12 @@ ctxt.key_type_decl(decl, id); // If this class has a naming typedef, get it and refer to it. - if (!naming_typedef_id.empty()) - { - typedef_decl_sptr naming_typedef = - is_typedef(ctxt.build_or_get_type_decl(naming_typedef_id, true)); - ABG_ASSERT(naming_typedef); - decl->set_naming_typedef(naming_typedef); - } + maybe_set_naming_typedef(ctxt, node, decl); - for (xmlNodePtr n = node->children; !is_decl_only && n; n = n->next) + for (xmlNodePtr n = xmlFirstElementChild(node); + !is_decl_only && n; + n = xmlNextElementSibling(n)) { - if (n->type != XML_ELEMENT_NODE) - continue; - if (xmlStrEqual(n->name, BAD_CAST("base-class"))) { access_specifier access = @@ -4604,11 +4806,10 @@ ctxt.map_xml_node_to_decl(n, decl); - for (xmlNodePtr p = n->children; p; p = p->next) + for (xmlNodePtr p = xmlFirstElementChild(n); + p; + p = xmlNextElementSibling(p)) { - if (p->type != XML_ELEMENT_NODE) - continue; - if (type_base_sptr t = build_type(ctxt, p, /*add_to_current_scope=*/true)) { @@ -4642,11 +4843,10 @@ bool is_static = false; read_static(n, is_static); - for (xmlNodePtr p = n->children; p; p = p->next) + for (xmlNodePtr p = xmlFirstElementChild(n); + p; + p = xmlNextElementSibling(p)) { - if (p->type != XML_ELEMENT_NODE) - continue; - if (var_decl_sptr v = build_var_decl(ctxt, p, /*add_to_cur_scope=*/false)) { @@ -4700,11 +4900,10 @@ bool is_ctor = false, is_dtor = false, is_const = false; read_cdtor_const(n, is_ctor, is_dtor, is_const); - for (xmlNodePtr p = n->children; p; p = p->next) + for (xmlNodePtr p = xmlFirstElementChild(n); + p; + p = xmlNextElementSibling(p)) { - if (p->type != XML_ELEMENT_NODE) - continue; - if (function_decl_sptr f = build_function_decl_if_not_suppressed(ctxt, p, decl, /*add_to_cur_sc=*/true)) @@ -4739,11 +4938,10 @@ bool is_ctor = false, is_dtor = false, is_const = false; read_cdtor_const(n, is_ctor, is_dtor, is_const); - for (xmlNodePtr p = n->children; p; p = p->next) + for (xmlNodePtr p = xmlFirstElementChild(n); + p; + p = xmlNextElementSibling(p)) { - if (p->type != XML_ELEMENT_NODE) - continue; - if (shared_ptr<function_tdecl> f = build_function_tdecl(ctxt, p, /*add_to_current_scope=*/true)) @@ -4893,6 +5091,7 @@ is_anonymous)); } + maybe_set_artificial_location(ctxt, node, decl); decl->set_is_artificial(is_artificial); string def_id; @@ -4953,11 +5152,12 @@ ctxt.map_xml_node_to_decl(node, decl); ctxt.key_type_decl(decl, id); - for (xmlNodePtr n = node->children; !is_decl_only && n; n = n->next) - { - if (n->type != XML_ELEMENT_NODE) - continue; + maybe_set_naming_typedef(ctxt, node, decl); + for (xmlNodePtr n = xmlFirstElementChild(node); + !is_decl_only && n; + n = xmlNextElementSibling(n)) + { if (xmlStrEqual(n->name, BAD_CAST("member-type"))) { access_specifier access = private_access; @@ -4965,11 +5165,10 @@ ctxt.map_xml_node_to_decl(n, decl); - for (xmlNodePtr p = n->children; p; p = p->next) + for (xmlNodePtr p = xmlFirstElementChild(n); + p; + p = xmlNextElementSibling(p)) { - if (p->type != XML_ELEMENT_NODE) - continue; - if (type_base_sptr t = build_type(ctxt, p, /*add_to_current_scope=*/true)) { @@ -4997,11 +5196,10 @@ bool is_static = false; read_static(n, is_static); - for (xmlNodePtr p = n->children; p; p = p->next) + for (xmlNodePtr p = xmlFirstElementChild(n); + p; + p = xmlNextElementSibling(p)) { - if (p->type != XML_ELEMENT_NODE) - continue; - if (var_decl_sptr v = build_var_decl(ctxt, p, /*add_to_cur_scope=*/false)) { @@ -5039,11 +5237,10 @@ bool is_ctor = false, is_dtor = false, is_const = false; read_cdtor_const(n, is_ctor, is_dtor, is_const); - for (xmlNodePtr p = n->children; p; p = p->next) + for (xmlNodePtr p = xmlFirstElementChild(n); + p; + p = xmlNextElementSibling(p)) { - if (p->type != XML_ELEMENT_NODE) - continue; - if (function_decl_sptr f = build_function_decl_if_not_suppressed(ctxt, p, decl, /*add_to_cur_sc=*/true)) @@ -5072,11 +5269,10 @@ bool is_ctor = false, is_dtor = false, is_const = false; read_cdtor_const(n, is_ctor, is_dtor, is_const); - for (xmlNodePtr p = n->children; p; p = p->next) + for (xmlNodePtr p = xmlFirstElementChild(n); + p; + p = xmlNextElementSibling(p)) { - if (p->type != XML_ELEMENT_NODE) - continue; - if (function_tdecl_sptr f = build_function_tdecl(ctxt, p, /*add_to_current_scope=*/true)) @@ -5147,15 +5343,15 @@ ABG_ASSERT(env); function_tdecl_sptr fn_tmpl_decl(new function_tdecl(env, loc, vis, bind)); + maybe_set_artificial_location(ctxt, node, fn_tmpl_decl); ctxt.push_decl_to_current_scope(fn_tmpl_decl, add_to_current_scope); unsigned parm_index = 0; - for (xmlNodePtr n = node->children; n; n = n->next) + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) { - if (n->type != XML_ELEMENT_NODE) - continue; - if (template_parameter_sptr parm = build_template_parameter(ctxt, n, parm_index, fn_tmpl_decl)) { @@ -5211,15 +5407,15 @@ ABG_ASSERT(env); class_tdecl_sptr class_tmpl (new class_tdecl(env, loc, vis)); + maybe_set_artificial_location(ctxt, node, class_tmpl); ctxt.push_decl_to_current_scope(class_tmpl, add_to_current_scope); unsigned parm_index = 0; - for (xmlNodePtr n = node->children; n; n = n->next) + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) { - if (n->type != XML_ELEMENT_NODE) - continue; - if (template_parameter_sptr parm= build_template_parameter(ctxt, n, parm_index, class_tmpl)) { @@ -5289,6 +5485,7 @@ read_location(ctxt, node,loc); result.reset(new type_tparameter(index, tdecl, name, loc)); + maybe_set_artificial_location(ctxt, node, result); if (id.empty()) ctxt.push_decl_to_current_scope(dynamic_pointer_cast<decl_base>(result), @@ -5334,11 +5531,10 @@ ctxt.push_decl_to_current_scope(dynamic_pointer_cast<decl_base>(result), /*add_to_current_scope=*/true); - for (xmlNodePtr n = node->children; n; n = n->next) + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) { - if (n->type != XML_ELEMENT_NODE) - continue; - if ((composed_type = build_pointer_type_def(ctxt, n, /*add_to_current_scope=*/true)) @@ -5404,6 +5600,7 @@ read_location(ctxt, node,loc); r.reset(new non_type_tparameter(index, tdecl, name, type, loc)); + maybe_set_artificial_location(ctxt, node, r); ctxt.push_decl_to_current_scope(dynamic_pointer_cast<decl_base>(r), /*add_to_current_scope=*/true); @@ -5459,23 +5656,20 @@ template_tparameter_sptr result(new template_tparameter(index, tdecl, name, loc)); - + maybe_set_artificial_location(ctxt, node, result); ctxt.push_decl_to_current_scope(result, /*add_to_current_scope=*/true); // Go parse template parameters that are children nodes int parm_index = 0; - for (xmlNodePtr n = node->children; n; n = n->next) - { - if (n->type != XML_ELEMENT_NODE) - continue; - - if (shared_ptr<template_parameter> p = - build_template_parameter(ctxt, n, parm_index, result)) - { - result->add_template_parameter(p); - ++parm_index; - } - } + for (xmlNodePtr n = xmlFirstElementChild(node); + n; + n = xmlNextElementSibling(n)) + if (shared_ptr<template_parameter> p = + build_template_parameter(ctxt, n, parm_index, result)) + { + result->add_template_parameter(p); + ++parm_index; + } if (result) { @@ -5555,7 +5749,10 @@ abi->record_type_as_reachable_from_public_interfaces(*t); } - ctxt.maybe_canonicalize_type(t); + MAYBE_MAP_TYPE_WITH_TYPE_ID(t, node); + + if (t) + ctxt.maybe_canonicalize_type(t,/*force_delay=*/false ); return t; } @@ -5570,6 +5767,7 @@ bool add_to_current_scope) { type_decl_sptr decl = build_type_decl(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(decl, node); if (decl && decl->get_scope()) ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; @@ -5603,6 +5801,7 @@ qualified_type_def_sptr decl = build_qualified_type_decl(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(decl, node); if (decl && decl->get_scope()) ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; @@ -5620,6 +5819,7 @@ { pointer_type_def_sptr decl = build_pointer_type_def(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(decl, node); if (decl && decl->get_scope()) ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; @@ -5637,6 +5837,7 @@ { reference_type_def_sptr decl = build_reference_type_def(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(decl, node); if (decl && decl->get_scope()) ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; @@ -5649,11 +5850,12 @@ /// function_type is added to. static type_base_sptr handle_function_type(read_context& ctxt, - xmlNodePtr node, + xmlNodePtr node, bool add_to_current_scope) { function_type_sptr type = build_function_type(ctxt, node, - add_to_current_scope); + add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(type, node); ctxt.maybe_canonicalize_type(type, /*force_delay=*/true); return type; } @@ -5670,6 +5872,7 @@ { array_type_def_sptr decl = build_array_type_def(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(decl, node); ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; } @@ -5685,6 +5888,7 @@ enum_type_decl_sptr decl = build_enum_type_decl_if_not_suppressed(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(decl, node); if (decl && decl->get_scope()) ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; @@ -5700,6 +5904,7 @@ { typedef_decl_sptr decl = build_typedef_decl(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(decl, node); if (decl && decl->get_scope()) ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; @@ -5752,6 +5957,7 @@ { class_decl_sptr decl = build_class_decl_if_not_suppressed(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(is_type(decl), node); if (decl && decl->get_scope()) ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; @@ -5770,6 +5976,7 @@ { union_decl_sptr decl = build_union_decl_if_not_suppressed(ctxt, node, add_to_current_scope); + MAYBE_MAP_TYPE_WITH_TYPE_ID(is_type(decl), node); if (decl && decl->get_scope()) ctxt.maybe_canonicalize_type(decl, /*force_delay=*/false); return decl; @@ -5846,6 +6053,10 @@ env)); corpus_sptr corp(new corpus(env)); result->set_corpus(corp); +#ifdef WITH_DEBUG_SELF_COMPARISON + if (env->self_comparison_debug_is_on()) + env->set_self_comparison_debug_input(result->get_corpus()); +#endif result->set_path(path); return result; } @@ -5865,6 +6076,10 @@ env)); corpus_sptr corp(new corpus(env, "")); result->set_corpus(corp); +#ifdef WITH_DEBUG_SELF_COMPARISON + if (env->self_comparison_debug_is_on()) + env->set_self_comparison_debug_input(result->get_corpus()); +#endif return result; } @@ -5919,4 +6134,89 @@ }//end namespace xml_reader +#ifdef WITH_DEBUG_SELF_COMPARISON +/// Load the map that is stored at +/// environment::get_type_id_canonical_type_map(). +/// +/// That map associates type-ids to the pointer value of the canonical +/// types they correspond to. The map is loaded from a file that was +/// stored on disk by some debugging primitive that is activated when +/// the command "abidw --debug-abidiff <binary>' is used." +/// +/// The function that stored the map in that file is +/// write_canonical_type_ids. +/// +/// @param ctxt the read context to use. +/// +/// @param file_path the path to the file containing the type-ids <-> +/// canonical type mapping. +/// +/// @return true iff the loading was successful. +bool +load_canonical_type_ids(xml_reader::read_context& ctxt, const string &file_path) +{ + xmlDocPtr doc = xmlReadFile(file_path.c_str(), NULL, XML_PARSE_NOERROR); + if (!doc) + return false; + + xmlNodePtr node = xmlDocGetRootElement(doc); + if (!node) + return false; + + // We expect a file which content looks like: + // + // <abixml-types-check> + // <type> + // <id>type-id-573</id> + // <c>0x262ee28</c> + // </type> + // <type> + // <id>type-id-569</id> + // <c>0x2628298</c> + // </type> + // <type> + // <id>type-id-575</id> + // <c>0x25f9ba8</c> + // </type> + // <abixml-types-check> + // + // So let's parse it! + + if (xmlStrcmp(node->name, (xmlChar*) "abixml-types-check")) + return false; + + for (node = xmlFirstElementChild(node); + node; + node = xmlNextElementSibling(node)) + { + if (xmlStrcmp(node->name, (xmlChar*) "type")) + continue; + + string id, canonical_address; + xmlNodePtr data = xmlFirstElementChild(node); + if (data && !xmlStrcmp(data->name, (xmlChar*) "id") + && data->children && xmlNodeIsText(data->children)) + id = (char*) XML_GET_CONTENT(data->children); + + data = xmlNextElementSibling(data); + if (data && !xmlStrcmp(data->name, (xmlChar*) "c") + && data->children && xmlNodeIsText(data->children)) + { + canonical_address = (char*) XML_GET_CONTENT(data->children); + std::stringstream s; + s << canonical_address; + uintptr_t v = 0; + s >> std::hex >> v; + if (!id.empty() + // 0xdeadbabe is the special value the hash of types + // that are not canonicalized. Look into function + // hash_as_canonical_type_or_constant for the details. + && v != 0xdeadbabe) + ctxt.get_environment()->get_type_id_canonical_type_map()[id] = v; + } + } + return true; +} +#endif + }//end namespace abigail
diff --git a/src/abg-suppression.cc b/src/abg-suppression.cc index d3343a8..eab5fc1 100644 --- a/src/abg-suppression.cc +++ b/src/abg-suppression.cc
@@ -14,6 +14,7 @@ #include "abg-internal.h" #include <memory> +#include <limits> // <headers defining libabigail's API go under here> ABG_BEGIN_EXPORT_DECLARATIONS @@ -773,67 +774,91 @@ d = is_type_diff(get_typedef_diff_underlying_type_diff(d)); } + // Now let's consider class diffs in the context of a suppr spec + // that contains properties like "has_data_member_inserted_*". + const class_diff* klass_diff = dynamic_cast<const class_diff*>(d); - if (// We are looking at a class diff ... - klass_diff - // ... that has inserted data members ... - && !get_data_member_insertion_ranges().empty() - // ... that has no deleted data members ... - && klass_diff->deleted_data_members().empty() - // ... and in which the class size hasn't shrunk (because, e.g, - // the base classes have changed). - && (klass_diff->first_class_decl()->get_size_in_bits() - <= klass_diff->second_class_decl()->get_size_in_bits())) + if (klass_diff) { - const class_decl_sptr& first_type_decl = klass_diff->first_class_decl(); - const class_decl_sptr& second_type_decl = klass_diff->second_class_decl(); - size_t first_type_size = first_type_decl->get_size_in_bits(); - size_t second_type_size = second_type_decl->get_size_in_bits(); - - for (string_decl_base_sptr_map::const_iterator m = - klass_diff->inserted_data_members().begin(); - m != klass_diff->inserted_data_members().end(); - ++m) + // We are looking at a class diff ... + if (!get_data_member_insertion_ranges().empty()) { - decl_base_sptr member = m->second; - size_t dm_offset = get_data_member_offset(member); - bool matched = false; - - for (insertion_ranges::const_iterator i = - get_data_member_insertion_ranges().begin(); - i != get_data_member_insertion_ranges().end(); - ++i) + // ... and the suppr spec contains a + // "has_data_member_inserted_*" clause ... + if (klass_diff->deleted_data_members().empty() + && (klass_diff->first_class_decl()->get_size_in_bits() + <= klass_diff->second_class_decl()->get_size_in_bits())) { - type_suppression::insertion_range_sptr range = *i; - ssize_t range_begin_val = 0,range_end_val = 0; - if (!type_suppression::insertion_range::eval_boundary - (range->begin(), first_type_decl, range_begin_val)) - break; - if (!type_suppression::insertion_range::eval_boundary - (range->end(), first_type_decl, range_end_val)) - break; + // That "has_data_member_inserted_*" clause doesn't hold + // if the class has deleted data members or shrunk. - unsigned range_begin = - (range_begin_val < 0) ? first_type_size : range_begin_val; + const class_decl_sptr& first_type_decl = + klass_diff->first_class_decl(); - unsigned range_end = - (range_end_val < 0) ? second_type_size : range_end_val; - - if (range_begin > range_end) - continue; - - if (range_begin_val < 0 || range_end_val < 0) + for (string_decl_base_sptr_map::const_iterator m = + klass_diff->inserted_data_members().begin(); + m != klass_diff->inserted_data_members().end(); + ++m) { - if (dm_offset < range_begin) - continue; - } - else - if (dm_offset < range_begin || dm_offset > range_end) - continue; + decl_base_sptr member = m->second; + size_t dm_offset = get_data_member_offset(member); + bool matched = false; - matched = true; + for (insertion_ranges::const_iterator i = + get_data_member_insertion_ranges().begin(); + i != get_data_member_insertion_ranges().end(); + ++i) + { + type_suppression::insertion_range_sptr range = *i; + uint64_t range_begin_val = 0, range_end_val = 0; + if (!type_suppression::insertion_range::eval_boundary + (range->begin(), first_type_decl, range_begin_val)) + break; + if (!type_suppression::insertion_range::eval_boundary + (range->end(), first_type_decl, range_end_val)) + break; + + uint64_t range_begin = range_begin_val; + uint64_t range_end = range_end_val; + + if (insertion_range::boundary_value_is_end(range_begin) + && insertion_range::boundary_value_is_end(range_end)) + { + // This idiom represents the predicate + // "has_data_member_inserted_at = end" + if (dm_offset > + get_data_member_offset(get_last_data_member + (first_type_decl))) + { + // So the data member was added after + // last data member of the klass. That + // matches the suppr spec + // "has_data_member_inserted_at = end". + matched = true; + continue; + } + } + + if (range_begin > range_end) + // Wrong suppr spec. Ignore it. + continue; + + if (dm_offset < range_begin || dm_offset > range_end) + // The offset of the added data member doesn't + // match the insertion range specified. So + // the diff object won't be suppressed. + continue; + + // If we reached this point, then all the + // insertion range constraints have been + // satisfied. So + matched = true; + } + if (!matched) + return false; + } } - if (!matched) + else return false; } } @@ -1311,7 +1336,7 @@ bool type_suppression::insertion_range::eval_boundary(boundary_sptr boundary, class_decl_sptr context, - ssize_t& value) + uint64_t& value) { if (integer_boundary_sptr b = is_integer_boundary(boundary)) { @@ -1338,8 +1363,13 @@ if (fn_call->get_name() == "offset_of") value = get_data_member_offset(*it); else if (fn_call->get_name() == "offset_after") - value = get_data_member_offset(*it) + - (*it)->get_type()->get_size_in_bits(); + { + if (!get_next_data_member_offset(context, *it, value)) + { + value = get_data_member_offset(*it) + + (*it)->get_type()->get_size_in_bits(); + } + } else // We should not reach this point. abort(); @@ -1351,6 +1381,19 @@ return false; } +/// Test if a given value supposed to be inside an insertion range +/// represents the end of the range. +/// +/// @param value the value to test for. +/// +/// @return true iff @p value represents the end of the insertion +/// range. +bool +type_suppression::insertion_range::boundary_value_is_end(uint64_t value) +{ + return value == std::numeric_limits<uint64_t>::max(); +} + /// Tests if a given instance of @ref /// type_suppression::insertion_range::boundary is actually an integer boundary. /// @@ -1398,13 +1441,13 @@ /// type_suppression::insertion_range::integer_boundary. struct type_suppression::insertion_range::integer_boundary::priv { - int value_; + uint64_t value_; priv() : value_() {} - priv(int value) + priv(uint64_t value) : value_(value) {} }; // end type_suppression::insertion_range::integer_boundary::priv @@ -1413,22 +1456,22 @@ /// type_suppression::insertion_range::integer_boundary. /// /// @param value the integer value of the newly created integer boundary. -type_suppression::insertion_range::integer_boundary::integer_boundary(int value) +type_suppression::insertion_range::integer_boundary::integer_boundary(uint64_t value) : priv_(new priv(value)) {} -/// Return the integer value of the current inace of @ref +/// Return the integer value of the current instance of @ref /// type_suppression::insertion_range::integer_boundary. /// /// @return the integer value of the current boundary. -int +uint64_t type_suppression::insertion_range::integer_boundary::as_integer() const {return priv_->value_;} /// Converts the current boundary into an integer value. /// /// @return the integer value of the current boundary. -type_suppression::insertion_range::integer_boundary::operator int() const +type_suppression::insertion_range::integer_boundary::operator uint64_t() const {return as_integer();} /// Destructor of @ref type_suppression::insertion_range::integer_boundary.
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc index edc9d82..04e8b23 100644 --- a/src/abg-symtab-reader.cc +++ b/src/abg-symtab-reader.cc
@@ -315,10 +315,7 @@ elf_helpers::stb_to_elf_symbol_binding(GELF_ST_BIND(sym->st_info)), sym_is_defined, sym_is_common, ver, elf_helpers::stv_to_elf_symbol_visibility - (GELF_ST_VISIBILITY(sym->st_other)), - /*is_linux_strings_cstr=*/false); // TODO: remove - // is_linux_strings_cstr - // as it is obsolete + (GELF_ST_VISIBILITY(sym->st_other))); // We do not take suppressed symbols into our symbol vector to avoid // accidental leakage. But we ensure supressed symbols are otherwise set @@ -354,6 +351,7 @@ elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle, sym); + // See also symtab::add_alternative_address_lookups. if (symbol_sptr->is_function()) { if (is_arm32) @@ -376,6 +374,8 @@ } } + add_alternative_address_lookups(elf_handle); + is_kernel_binary_ = elf_helpers::is_linux_kernel(elf_handle); // Now apply the ksymtab_exported attribute to the symbols we collected. @@ -564,5 +564,100 @@ } } +/// Fill up the lookup maps with alternative keys +/// +/// Due to special features like Control-Flow-Integrity (CFI), the symbol +/// lookup could be done indirectly. E.g. enabling CFI causes clang to +/// associate the DWARF information with the actual CFI protected function +/// (suffix .cfi) instead of with the entry symbol in the symtab. +/// +/// This function adds additional lookup keys to compensate for that. +/// +/// So far, this only implements CFI support, by adding addr->symbol pairs +/// where +/// addr : symbol value of the <foo>.cfi valyue +/// symbol : symbol_sptr looked up via "<foo>" +/// +/// @param elf_handle the ELF handle to operate on +void +symtab::add_alternative_address_lookups(Elf* elf_handle) +{ + const bool is_arm32 = elf_helpers::architecture_is_arm32(elf_handle); + const bool is_ppc64 = elf_helpers::architecture_is_ppc64(elf_handle); + + Elf_Scn* symtab_section = elf_helpers::find_symtab_section(elf_handle); + if (!symtab_section) + return; + GElf_Shdr symtab_sheader; + gelf_getshdr(symtab_section, &symtab_sheader); + + const size_t number_syms = + symtab_sheader.sh_size / symtab_sheader.sh_entsize; + + Elf_Data* symtab = elf_getdata(symtab_section, 0); + + for (size_t i = 0; i < number_syms; ++i) + { + GElf_Sym *sym, sym_mem; + sym = gelf_getsym(symtab, i, &sym_mem); + if (!sym) + { + std::cerr << "Could not load symbol with index " << i + << ": Skipping alternative symbol load.\n"; + continue; + } + + const char* const name_str = + elf_strptr(elf_handle, symtab_sheader.sh_link, sym->st_name); + + // no name, no game + if (!name_str) + continue; + + const std::string name = name_str; + if (name.empty()) + continue; + + // Add alternative lookup addresses for CFI symbols + static const std::string cfi = ".cfi"; + if (name.size() > cfi.size() + && name.compare(name.size() - cfi.size(), cfi.size(), cfi) == 0) + // ... name.ends_with(".cfi") + { + const auto candidate_name = name.substr(0, name.size() - cfi.size()); + + auto symbols = lookup_symbol(candidate_name); + // lookup_symbol returns a vector of symbols. For this case we handle + // only the case that there has been exactly one match. Otherwise we + // can't reasonably handle it and need to bail out. + ABG_ASSERT(symbols.size() <= 1); + if (symbols.size() == 1) + { + const auto& symbol_sptr = symbols[0]; + GElf_Addr symbol_value = + elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr( + elf_handle, sym); + + // See also symtab::load_. + if (symbol_sptr->is_function()) + { + if (is_arm32) + // Clear bit zero of ARM32 addresses as per "ELF for the Arm + // Architecture" section 5.5.3. + // https://static.docs.arm.com/ihi0044/g/aaelf32.pdf + symbol_value &= ~1; + else if (is_ppc64) + update_function_entry_address_symbol_map(elf_handle, sym, + symbol_sptr); + } + + const auto result = + addr_symbol_map_.emplace(symbol_value, symbol_sptr); + ABG_ASSERT(result.second); + } + } + } +} + } // end namespace symtab_reader } // end namespace abigail
diff --git a/src/abg-symtab-reader.h b/src/abg-symtab-reader.h index 3b6d5ed..7ac1535 100644 --- a/src/abg-symtab-reader.h +++ b/src/abg-symtab-reader.h
@@ -293,6 +293,9 @@ update_function_entry_address_symbol_map(Elf* elf_handle, GElf_Sym* native_symbol, const elf_symbol_sptr& symbol_sptr); + + void + add_alternative_address_lookups(Elf* elf_handle); }; /// Helper class to allow range-for loops on symtabs for C++11 and later code.
diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc index ee59258..16e734e 100644 --- a/src/abg-tools-utils.cc +++ b/src/abg-tools-utils.cc
@@ -137,7 +137,7 @@ /// @return true iff @p s has its ABIDIFF_ERROR bit set. bool abidiff_status_has_error(abidiff_status s) -{return s & ABIDIFF_ERROR;} +{return s & (ABIDIFF_ERROR | ABIDIFF_USAGE_ERROR);} /// Test if an instance of @param abidiff_status bits mask represents /// an abi change. @@ -1037,6 +1037,18 @@ return version_string; } +/// Return the version string for the ABIXML format. +/// +/// @return the version string of the ABIXML format. +string +get_abixml_version_string() +{ + string major, minor, version_string; + abigail::abigail_get_abixml_version(major, minor); + version_string = major + "." + minor; + return version_string; +} + /// Execute a shell command and returns its output. /// /// @param cmd the shell command to execute. @@ -2299,8 +2311,8 @@ FTSENT *entry; while ((entry = fts_read(file_hierarchy))) { - // Skip descendents of symbolic links. - if (entry->fts_info == FTS_SL || entry->fts_info == FTS_SLNONE) + // Skip descendents of dead symbolic links. + if (entry->fts_info == FTS_SLNONE) { fts_set(file_hierarchy, entry, FTS_SKIP); continue; @@ -2545,7 +2557,7 @@ char *di_root_ptr = di_root.get(); vector<char**> di_roots; di_roots.push_back(&di_root_ptr); - abigail::dwarf_reader::status status = abigail::dwarf_reader::STATUS_OK; + abigail::elf_reader::status status = abigail::elf_reader::STATUS_OK; corpus_group_sptr group; if (!vmlinux.empty()) {
diff --git a/src/abg-writer.cc b/src/abg-writer.cc index f9cae69..946772c 100644 --- a/src/abg-writer.cc +++ b/src/abg-writer.cc
@@ -31,12 +31,12 @@ #include "abg-config.h" #include "abg-corpus.h" -#include "abg-diff-utils.h" #include "abg-hash.h" #include "abg-sptr-utils.h" #include "abg-writer.h" #include "abg-libxml-utils.h" +#include "abg-fwd.h" ABG_END_EXPORT_DECLARATIONS // </headers defining libabigail's API> @@ -118,19 +118,13 @@ /// A convenience typedef for a map that associates a pointer to type /// to a string. The pointer to type is hashed as fast as possible. typedef unordered_map<type_base*, - interned_string, - type_hasher, - abigail::diff_utils::deep_ptr_eq_functor> type_ptr_map; + interned_string> type_ptr_map; // A convenience typedef for a set of type_base*. -typedef unordered_set<const type_base*, type_hasher, - abigail::diff_utils::deep_ptr_eq_functor> -type_ptr_set_type; +typedef unordered_set<const type_base*> type_ptr_set_type; /// A convenience typedef for a set of function type*. -typedef unordered_set<function_type*, type_hasher, - abigail::diff_utils::deep_ptr_eq_functor> -fn_type_ptr_set_type; +typedef unordered_set<function_type*> fn_type_ptr_set_type; typedef unordered_map<shared_ptr<function_tdecl>, string, @@ -158,7 +152,6 @@ mutable type_ptr_map m_type_id_map; mutable unordered_set<uint32_t> m_used_type_id_hashes; mutable type_ptr_set_type m_emitted_type_set; - type_ptr_set_type m_emitted_decl_only_set; // A map of types that are referenced by emitted pointers, // references or typedefs type_ptr_set_type m_referenced_types_set; @@ -168,9 +161,7 @@ class_tmpl_shared_ptr_map m_class_tmpl_id_map; string_elf_symbol_sptr_map_type m_fun_symbol_map; string_elf_symbol_sptr_map_type m_var_symbol_map; - mutable unordered_map<interned_string, - bool, - hash_interned_string> m_emitted_decls_map; + unordered_set<interned_string, hash_interned_string> m_emitted_decls_set; write_context(); @@ -396,10 +387,8 @@ bool type_has_existing_id(type_base* type) const { - type_base *c = type->get_naked_canonical_type(); - if (c == 0) - c = const_cast<type_base*>(type); - return (m_type_id_map.find(c) != m_type_id_map.end()); + type = get_exemplar_type(type); + return m_type_id_map.find(type) != m_type_id_map.end(); } /// Associate a unique id to a given type. For that, put the type @@ -415,11 +404,9 @@ /// associated to it, create a new one and return it. Otherwise, /// return the existing id for that type. interned_string - get_id_for_type(const type_base* t) const + get_id_for_type(type_base* type) const { - type_base *c = t->get_naked_canonical_type(); - if (c == 0) - c = const_cast<type_base*>(t); + type_base* c = get_exemplar_type(type); type_ptr_map::const_iterator it = m_type_id_map.find(c); if (it != m_type_id_map.end()) @@ -505,24 +492,46 @@ get_referenced_non_canonical_types() const {return m_referenced_non_canonical_types_set;} + /// Test if there are non emitted referenced types. + /// + /// @return true iff there are non emitted referenced types. + bool + has_non_emitted_referenced_types() const + { + for (const auto t : get_referenced_types()) + if (!type_is_emitted(t)) + return false; + + for (const auto t : get_referenced_function_types()) + if (!type_is_emitted(t)) + return false; + + for (const auto t : get_referenced_non_canonical_types()) + if (!type_is_emitted(t)) + return false; + + return true; + } + /// Record a given type as being referenced by a pointer, a /// reference or a typedef type that is being emitted to the XML /// output. /// /// @param t a shared pointer to a type void - record_type_as_referenced(const type_base_sptr& t) + record_type_as_referenced(const type_base_sptr& type) { + type_base* t = get_exemplar_type(type.get()); // If the type is a function type, record it in a dedicated data // structure. - if (function_type* f = is_function_type(t.get())) + if (function_type* f = is_function_type(t)) m_referenced_fn_types_set.insert(f); else if (!t->get_naked_canonical_type()) // If the type doesn't have a canonical type, record it in a // dedicated data structure. - m_referenced_non_canonical_types_set.insert(t.get()); + m_referenced_non_canonical_types_set.insert(t); else - m_referenced_types_set.insert(t.get()); + m_referenced_types_set.insert(t); } /// Test if a given type has been referenced by a pointer, a @@ -533,17 +542,17 @@ /// @return true if the type has been referenced, false /// otherwise. bool - type_is_referenced(const type_base_sptr& t) + type_is_referenced(const type_base_sptr& type) { - if (function_type *f = is_function_type(t.get())) + type_base* t = get_exemplar_type(type.get()); + if (function_type* f = is_function_type(t)) return (m_referenced_fn_types_set.find(f) != m_referenced_fn_types_set.end()); else if (!t->get_naked_canonical_type()) - return (m_referenced_non_canonical_types_set.find(t.get()) + return (m_referenced_non_canonical_types_set.find(t) != m_referenced_non_canonical_types_set.end()); else - return m_referenced_types_set.find - (t.get()) != m_referenced_types_set.end(); + return m_referenced_types_set.find(t) != m_referenced_types_set.end(); } /// A comparison functor to compare pointers to @ref type_base. @@ -624,40 +633,17 @@ /// /// @param types the map to sort. /// - /// @param sorted the resulted sorted vector. It's set by this - /// function with the result of the sorting. - void - sort_types(type_ptr_set_type& types, - vector<type_base*>& sorted) + /// @return the resulting sorted vector. + std::vector<type_base*> + sort_types(type_ptr_set_type& types) { - string id; - for (type_ptr_set_type::const_iterator i = types.begin(); - i != types.end(); - ++i) - sorted.push_back(const_cast<type_base*>(*i)); + std::vector<type_base*> sorted; + sorted.reserve(types.size()); + for (const type_base* t : types) + sorted.push_back(const_cast<type_base*>(t)); type_ptr_cmp comp(&m_type_id_map); - sort(sorted.begin(), sorted.end(), comp); - } - - /// Sort the content of a map of type pointers into a vector. - /// - /// The pointers are sorted by using their string representation as - /// the key to sort, lexicographically. - /// - /// @param types the map to sort. - /// - /// @param sorted the resulted sorted vector. It's set by this - /// function with the result of the sorting. - void - sort_types(const istring_type_base_wptr_map_type& types, - vector<type_base_sptr> &sorted) - { - for (istring_type_base_wptr_map_type::const_iterator i = types.begin(); - i != types.end(); - ++i) - sorted.push_back(type_base_sptr(i->second)); - type_ptr_cmp comp(&m_type_id_map); - sort(sorted.begin(), sorted.end(), comp); + std::sort(sorted.begin(), sorted.end(), comp); + return sorted; } /// Sort the content of a vector of function types into a vector of @@ -666,20 +652,19 @@ /// The pointers are sorted by using their string representation as /// the key to sort, lexicographically. /// - /// @param types the vector of function types to store. + /// @param types the vector of function types to sort. /// - /// @param sorted the resulted sorted vector. It's set by this - /// function with the result of the sorting. - void - sort_types(const vector<function_type_sptr>& types, - vector<type_base_sptr> &sorted) + /// @return the resulting sorted vector. + std::vector<type_base_sptr> + sort_types(const vector<function_type_sptr>& types) { - for (vector<function_type_sptr>::const_iterator i = types.begin(); - i != types.end(); - ++i) - sorted.push_back(*i); + std::vector<type_base_sptr> sorted; + sorted.reserve(types.size()); + for (const auto& t : types) + sorted.push_back(t); type_ptr_cmp comp(&m_type_id_map); - sort(sorted.begin(), sorted.end(), comp); + std::sort(sorted.begin(), sorted.end(), comp); + return sorted; } /// Flag a type as having been written out to the XML output. @@ -693,11 +678,9 @@ /// /// @param t the type to flag. void - record_type_as_emitted(const type_base *t) + record_type_as_emitted(const type_base* t) { - type_base *c = t->get_naked_canonical_type(); - if (c == 0) - c = const_cast<type_base*>(t); + type_base* c = get_exemplar_type(t); m_emitted_type_set.insert(c); } @@ -708,9 +691,10 @@ /// @return true if the type has already been emitted, false /// otherwise. bool - type_is_emitted(const type_base *t) + type_is_emitted(const type_base* t) const { - return m_emitted_type_set.find(t) != m_emitted_type_set.end(); + type_base* c = get_exemplar_type(t); + return m_emitted_type_set.find(c) != m_emitted_type_set.end(); } /// Test if a given type has been written out to the XML output. @@ -720,20 +704,9 @@ /// @return true if the type has already been emitted, false /// otherwise. bool - type_is_emitted(const type_base_sptr& t) + type_is_emitted(const type_base_sptr& t) const {return type_is_emitted(t.get());} - /// Test if the name of a given decl has been written out to the XML - /// output. - /// - /// @param the decl to consider. - /// - /// @return true if the decl has already been emitted, false - /// otherwise. - bool - decl_name_is_emitted(const interned_string& name) const - {return m_emitted_decls_map.find(name) != m_emitted_decls_map.end();} - /// Test if a given decl has been written out to the XML output. /// /// @param the decl to consider. @@ -741,77 +714,32 @@ /// @return true if the decl has already been emitted, false /// otherwise. bool - decl_is_emitted(decl_base_sptr& decl) const + decl_is_emitted(const decl_base_sptr& decl) const { - if (is_type(decl)) - return false; - + ABG_ASSERT(!is_type(decl)); string repr = get_pretty_representation(decl, true); interned_string irepr = decl->get_environment()->intern(repr); - bool is_emitted = decl_name_is_emitted(irepr); - return is_emitted; + return m_emitted_decls_set.find(irepr) != m_emitted_decls_set.end(); } - /// Record a declaration-only class as being emitted. - /// - /// For now, this function expects a declaration-only class, - /// otherwise, it aborts. - /// - /// @param t the declaration-only class to report as emitted. - void - record_decl_only_type_as_emitted(type_base* t) - { - class_or_union* cl = is_class_or_union_type(t); - ABG_ASSERT(cl && cl->get_is_declaration_only()); - m_emitted_decl_only_set.insert(t); - } - - /// Record a declaration-only class as being emitted. - /// - /// For now, this function expects a declaration-only class, - /// otherwise, it aborts. - /// - /// @param t the declaration-only class to report as emitted. - void - record_decl_only_type_as_emitted(const type_base_sptr& t) - {record_decl_only_type_as_emitted(t.get());} - - /// Test if a declaration-only class has been emitted. - /// - /// @param t the declaration-only class to test for. - /// - /// @return true iff the declaration-only class @p t has been - /// emitted. - bool - decl_only_type_is_emitted(const type_base* t) - { - type_ptr_set_type::const_iterator i = m_emitted_decl_only_set.find(t); - if (i == m_emitted_decl_only_set.end()) - return false; - return true; - } - - /// Test if a declaration-only class has been emitted. - /// - /// @param t the declaration-only class to test for. - /// - /// @return true iff the declaration-only class @p t has been - /// emitted. - bool - decl_only_type_is_emitted(const type_base_sptr& t) - {return decl_only_type_is_emitted(t.get());} - /// Record a declaration as emitted in the abixml output. /// /// @param decl the decl to consider. void - record_decl_as_emitted(const decl_base_sptr &decl)const + record_decl_as_emitted(const decl_base_sptr& decl) { string repr = get_pretty_representation(decl, true); interned_string irepr = decl->get_environment()->intern(repr); - m_emitted_decls_map[irepr] = true; + m_emitted_decls_set.insert(irepr); } + /// Get the set of types that have been emitted. + /// + /// @return the set of types that have been emitted. + const type_ptr_set_type& + get_emitted_types_set() const + {return m_emitted_type_set;} + /// Clear the map that contains the IDs of the types that has been /// recorded as having been written out to the XML output. void @@ -857,7 +785,7 @@ static void write_is_declaration_only(const decl_base_sptr&, ostream&); static void write_is_struct(const class_decl_sptr&, ostream&); static void write_is_anonymous(const decl_base_sptr&, ostream&); -static void write_naming_typedef(const class_decl_sptr&, write_context&); +static void write_naming_typedef(const decl_base_sptr&, write_context&); static bool write_decl(const decl_base_sptr&, write_context&, unsigned); static void write_decl_in_scope(const decl_base_sptr&, write_context&, unsigned); @@ -890,14 +818,12 @@ write_context&, unsigned); static bool write_member_type(const type_base_sptr&, write_context&, unsigned); -static bool write_class_decl_opening_tag(const class_decl_sptr&, const string&, +static bool write_class_decl_opening_tag(const class_decl_sptr&, write_context&, unsigned, bool); static bool write_class_decl(const class_decl_sptr&, write_context&, unsigned); -static bool write_union_decl_opening_tag(const union_decl_sptr&, const string&, +static bool write_union_decl_opening_tag(const union_decl_sptr&, write_context&, unsigned, bool); -static bool write_union_decl(const union_decl_sptr&, const string&, - write_context&, unsigned); static bool write_union_decl(const union_decl_sptr&, write_context&, unsigned); static bool write_type_tparameter (const shared_ptr<type_tparameter>, write_context&, unsigned); @@ -995,7 +921,7 @@ do_indent(o, indent); o << "<!-- " - << xml::escape_xml_comment(decl->get_pretty_representation()) + << xml::escape_xml_comment(decl->get_pretty_representation(/*internal=*/false)) << " -->\n"; return true; @@ -1223,7 +1149,7 @@ static void write_location(const location& loc, write_context& ctxt) { - if (!loc) + if (!loc || loc.get_is_artificial()) return; if (!ctxt.get_show_locs()) @@ -1838,17 +1764,17 @@ /// /// @param ctxt the write context to use. static void -write_naming_typedef(const class_decl_sptr& klass, write_context& ctxt) +write_naming_typedef(const decl_base_sptr& decl, write_context& ctxt) { - if (!klass) + if (!decl) return; ostream &o = ctxt.get_ostream(); - if (typedef_decl_sptr typedef_type = klass->get_naming_typedef()) + if (typedef_decl_sptr typedef_type = decl->get_naming_typedef()) { - string id = ctxt.get_id_for_type(typedef_type); - o << " naming-typedef-id='" << id << "'"; + o << " naming-typedef-id='" << ctxt.get_id_for_type(typedef_type) << "'"; + ctxt.record_type_as_referenced(typedef_type); } } @@ -1992,7 +1918,7 @@ else if (class_decl* c = is_class_type(*i)) { class_decl_sptr class_type(c, noop_deleter()); - write_class_decl_opening_tag(class_type, "", ctxt, indent, + write_class_decl_opening_tag(class_type, ctxt, indent, /*prepare_to_handle_members=*/false); closing_tags.push("</class-decl>"); closing_indents.push(indent); @@ -2006,7 +1932,7 @@ else if (union_decl *u = is_union_type(*i)) { union_decl_sptr union_type(u, noop_deleter()); - write_union_decl_opening_tag(union_type, "", ctxt, indent, + write_union_decl_opening_tag(union_type, ctxt, indent, /*prepare_to_handle_members=*/false); closing_tags.push("</union-decl>"); closing_indents.push(indent); @@ -2218,6 +2144,118 @@ return true; } +/// Test if a type referenced in a given translation unit should be +/// emitted or not. +/// +/// This is a subroutine of @ref write_translation_unit. +/// +/// @param t the type to consider. +/// +/// @param ctxt the write context to consider. +/// +/// @param tu the translation unit to consider. +/// +/// @param tu_is_last true if @p tu is the last translation unit being +/// emitted. +/// +/// @return true iff @p t is to be emitted. +static bool +referenced_type_should_be_emitted(const type_base *t, + const write_context& ctxt, + const translation_unit& tu, + bool tu_is_last) +{ + if ((tu_is_last || (t->get_translation_unit() + && (t->get_translation_unit()->get_absolute_path() + == tu.get_absolute_path()))) + && !ctxt.type_is_emitted(t)) + return true; + return false; +} + +/// Emit the types that were referenced by other emitted types. +/// +/// This is a sub-routine of write_translation_unit. +/// +/// @param ctxt the write context to use. +/// +/// @param tu the current translation unit that is being emitted. +/// +/// @param indent the indentation string. +/// +/// @param is_last whether @p tu is the last translation unit or not. +static void +write_referenced_types(write_context & ctxt, + const translation_unit& tu, + const unsigned indent, + bool is_last) +{ + const config& c = ctxt.get_config(); + // Now let's handle types that were referenced, but not yet + // emitted because they are either: + // 1/ Types without canonical type + // 2/ or function types (these might have no scope). + + while (true) + { + // This set will contain the referenced types we need to emit. + type_ptr_set_type referenced_types_to_emit; + + // For each referenced type, ensure that it is either emitted in the + // translation unit to which it belongs or in the last translation + // unit as a last resort. + for (type_ptr_set_type::const_iterator i = + ctxt.get_referenced_types().begin(); + i != ctxt.get_referenced_types().end(); + ++i) + if (referenced_type_should_be_emitted(*i, ctxt, tu, is_last)) + referenced_types_to_emit.insert(*i); + + for (fn_type_ptr_set_type::const_iterator i = + ctxt.get_referenced_function_types().begin(); + i != ctxt.get_referenced_function_types().end(); + ++i) + if (referenced_type_should_be_emitted(*i, ctxt, tu, is_last)) + referenced_types_to_emit.insert(*i); + + for (type_ptr_set_type::const_iterator i = + ctxt.get_referenced_non_canonical_types().begin(); + i != ctxt.get_referenced_non_canonical_types().end(); + ++i) + if (referenced_type_should_be_emitted(*i, ctxt, tu, is_last)) + referenced_types_to_emit.insert(*i); + + if (referenced_types_to_emit.empty()) + break; + // Ok, now let's emit the referenced type for good. + + // But first, we need to sort them, otherwise, emitting the ABI + // (in xml) of the same binary twice will yield different + // results, because we'd be walking an *unordered* hash table. + std::vector<type_base*> sorted_types = + ctxt.sort_types(referenced_types_to_emit); + + // Now, emit the referenced decls in a sorted order. + for (type_base* t : sorted_types) + // We handle types which have declarations *and* function + // types here. + if (ctxt.type_is_emitted(t)) + continue; + else if (decl_base* d = get_type_declaration(t)) + write_decl_in_scope(decl_base_sptr(d, noop_deleter()), ctxt, + indent + c.get_xml_element_indent()); + else if (function_type* f = is_function_type(t)) + write_function_type(function_type_sptr(f, noop_deleter()), ctxt, + indent + c.get_xml_element_indent()); + else + ABG_ASSERT_NOT_REACHED; + + // While emitting those referenced type, other types + // might have been referenced by those referenced types + // themselves! So let's go around again. + } +} + /// Serialize a translation unit to an output stream. /// /// @param ctxt the context of the serialization. It contains e.g, @@ -2228,12 +2266,31 @@ /// @param indent how many indentation spaces to use during the /// serialization. /// +/// @param is_last If true, it means the TU to emit is the last one of +/// the corpus. If this is the case, all the remaining referenced +/// types that were not emitted are going to be emitted here, +/// irrespective of if they belong to this TU or not. This is quite a +/// hack. Ideally, we should have a pass that walks all the TUs, +/// detect their non-emitted referenced types, before hand. Then, +/// when we start emitting the TUs, we know for each TU which +/// non-emitted referenced type should be emitted. As we don't yet +/// have such a pass, we do our best for now. +/// /// @return true upon successful completion, false otherwise. bool -write_translation_unit(write_context& ctxt, - const translation_unit& tu, - const unsigned indent) +write_translation_unit(write_context& ctxt, + const translation_unit& tu, + const unsigned indent, + bool is_last) { + if (tu.is_empty() && !is_last) + return false; + + if (is_last + && tu.is_empty() + && ctxt.has_non_emitted_referenced_types()) + return false; + ostream& o = ctxt.get_ostream(); const config& c = ctxt.get_config(); @@ -2259,7 +2316,7 @@ << translation_unit_language_to_string(tu.get_language()) <<"'"; - if (tu.is_empty()) + if (tu.is_empty() && !is_last) { o << "/>\n"; return true; @@ -2271,161 +2328,53 @@ ctxt, indent + c.get_xml_element_indent()); typedef scope_decl::declarations declarations; - typedef declarations::const_iterator const_iterator; - const declarations& d = tu.get_global_scope()->get_sorted_member_decls(); + const declarations& decls = tu.get_global_scope()->get_sorted_member_decls(); - for (const_iterator i = d.begin(); i != d.end(); ++i) + for (const decl_base_sptr& decl : decls) { - if (type_base_sptr t = is_type(*i)) + if (type_base_sptr t = is_type(decl)) { - // Emit non-empty classes that are declaration-only. Those - // beasts are class that only contain member types. + // Emit declaration-only classes that are needed. Some of + // these classes can be empty. Those beasts can be classes + // that only contain member types. They can also be classes + // considered "opaque". if (class_decl_sptr class_type = is_class_type(t)) if (class_type->get_is_declaration_only() - && !class_type->is_empty() && !ctxt.type_is_emitted(class_type)) write_type(class_type, ctxt, indent + c.get_xml_element_indent()); - continue; } - - if (decl_base_sptr d = is_decl(*i)) - if (ctxt.decl_is_emitted(d)) - continue; - write_decl(*i, ctxt, indent + c.get_xml_element_indent()); - } - - // Now let's handle types that were referenced, but not yet - // emitted because they are either: - // 1/ Types without canonical type - // 2/ or function types (these might have no scope). - - // So this map of type -> string is to contain the referenced types - // we need to emit. - type_ptr_set_type referenced_types_to_emit; - - for (type_ptr_set_type::const_iterator i = - ctxt.get_referenced_types().begin(); - i != ctxt.get_referenced_types().end(); - ++i) - if (!ctxt.type_is_emitted(*i) - && !ctxt.decl_only_type_is_emitted(*i)) - referenced_types_to_emit.insert(*i); - - for (fn_type_ptr_set_type::const_iterator i = - ctxt.get_referenced_function_types().begin(); - i != ctxt.get_referenced_function_types().end(); - ++i) - if (!ctxt.type_is_emitted(*i) - && !ctxt.decl_only_type_is_emitted(*i)) - // A referenced type that was not emitted at all must be - // emitted now. - referenced_types_to_emit.insert(*i); - - for (type_ptr_set_type::const_iterator i = - ctxt.get_referenced_non_canonical_types().begin(); - i != ctxt.get_referenced_non_canonical_types().end(); - ++i) - if (!ctxt.type_is_emitted(*i) - && !ctxt.decl_only_type_is_emitted(*i)) - // A referenced type that was not emitted at all must be - // emitted now. - referenced_types_to_emit.insert(*i); - - // Ok, now let's emit the referenced type for good. - while (!referenced_types_to_emit.empty()) - { - // But first, we need to sort them, otherwise, emitting the ABI - // (in xml) of the same binary twice will yield different - // results, because we'd be walking an *unordered* hash table. - vector<type_base*> sorted_referenced_types; - ctxt.sort_types(referenced_types_to_emit, - sorted_referenced_types); - - // Clear the types recorded as referenced by the process of - // emitting the types out. New types are going to be referenced - // the process of emitting the types below. - ctxt.clear_referenced_types(); - - // Now, emit the referenced decls in a sorted order. - for (vector<type_base*>::const_iterator i = - sorted_referenced_types.begin(); - i != sorted_referenced_types.end(); - ++i) + else { - // We handle types which have declarations *and* function - // types here. - type_base_sptr t(*i, noop_deleter()); - if (!ctxt.type_is_emitted(t)) - { - if (decl_base* d = get_type_declaration(*i)) - { - decl_base_sptr decl(d, noop_deleter()); - write_decl_in_scope(decl, ctxt, - indent + c.get_xml_element_indent()); - } - else if (function_type_sptr fn_type = is_function_type(t)) - write_function_type(fn_type, ctxt, - indent + c.get_xml_element_indent()); - else - ABG_ASSERT_NOT_REACHED; - } + if (!ctxt.decl_is_emitted(decl)) + write_decl(decl, ctxt, indent + c.get_xml_element_indent()); } - - // So all the (referenced) types that we wanted to emit were - // emitted. - referenced_types_to_emit.clear(); - - // But then, while emitting those referenced type, other types - // might have been referenced by those referenced types - // themselves! So let's look at the sets of referenced type - // that are maintained for the entire ABI corpus and see if - // there are still some referenced types in there that are not - // emitted yet. If yes, then we'll emit those again. - - for (type_ptr_set_type::const_iterator i = - ctxt.get_referenced_types().begin(); - i != ctxt.get_referenced_types().end(); - ++i) - if (!ctxt.type_is_emitted(*i) - && !ctxt.decl_only_type_is_emitted(*i)) - // A referenced type that was not emitted at all must be - // emitted now. - referenced_types_to_emit.insert(*i); - - for (type_ptr_set_type::const_iterator i = - ctxt.get_referenced_non_canonical_types().begin(); - i != ctxt.get_referenced_non_canonical_types().end(); - ++i) - if (!ctxt.type_is_emitted(*i) - && !ctxt.decl_only_type_is_emitted(*i)) - // A referenced type that was not emitted at all must be - // emitted now. - referenced_types_to_emit.insert(*i); } + write_referenced_types(ctxt, tu, indent, is_last); + // Now handle all function types that were not only referenced by // emitted types. - const vector<function_type_sptr>& t = tu.get_live_fn_types(); - vector<type_base_sptr> sorted_types; - ctxt.sort_types(t, sorted_types); + std::vector<type_base_sptr> sorted_types = + ctxt.sort_types(tu.get_live_fn_types()); - for (vector<type_base_sptr>::const_iterator i = sorted_types.begin(); - i != sorted_types.end(); - ++i) + for (const type_base_sptr& t : sorted_types) { - function_type_sptr fn_type = is_function_type(*i); + function_type_sptr fn_type = is_function_type(t); - if (!ctxt.type_is_referenced(fn_type) || ctxt.type_is_emitted(fn_type)) - // This function type is either not referenced by any emitted - // pointer or reference type, or has already been emitted, so skip it. + if (fn_type->get_is_artificial() || ctxt.type_is_emitted(fn_type)) + // This function type is either already emitted or it's + // artificial (i.e, artificially created just to represent the + // conceptual type of a function), so skip it. continue; ABG_ASSERT(fn_type); write_function_type(fn_type, ctxt, indent + c.get_xml_element_indent()); } - ctxt.clear_referenced_types(); + // After we've written out the live function types, we need to write + // the types they referenced. + write_referenced_types(ctxt, tu, indent, is_last); do_indent(o, indent); o << "</abi-instr>\n"; @@ -2505,7 +2454,7 @@ typedef scope_decl::declarations declarations; typedef declarations::const_iterator const_iterator; - const declarations& d = decl->get_member_decls(); + const declarations& d = decl->get_sorted_member_decls(); write_canonical_types_of_scope(*decl, ctxt, indent + c.get_xml_element_indent()); @@ -2530,14 +2479,6 @@ /// /// @param decl the qualfied type declaration to write. /// -/// @param id the type id identitifier to use in the serialized -/// output. If this is empty, the function will compute an -/// appropriate one. This is useful when this function is called to -/// serialize the underlying type of a member type; in that case, the -/// caller has already computed the id of the *member type*, and that -/// id is the one to be written as the value of the 'id' attribute of -/// the XML element of the underlying type. -/// /// @param ctxt the write context. /// /// @param indent the number of space to indent to during the @@ -2546,9 +2487,8 @@ /// @return true upon successful completion, false otherwise. static bool write_qualified_type_def(const qualified_type_def_sptr& decl, - const string& id, write_context& ctxt, - unsigned indent) + unsigned indent) { if (!decl) return false; @@ -2576,33 +2516,13 @@ write_location(static_pointer_cast<decl_base>(decl), ctxt); - string i = id; - if (i.empty()) - i = ctxt.get_id_for_type(decl); - - o << " id='" << i << "'/>\n"; + o << " id='" << ctxt.get_id_for_type(decl) << "'/>\n"; ctxt.record_type_as_emitted(decl); return true; } -/// Serialize a qualified type declaration to an output stream. -/// -/// @param decl the qualfied type declaration to write. -/// -/// @param ctxt the write context. -/// -/// @param indent the number of space to indent to during the -/// serialization. -/// -/// @return true upon successful completion, false otherwise. -static bool -write_qualified_type_def(const qualified_type_def_sptr& decl, - write_context& ctxt, - unsigned indent) -{return write_qualified_type_def(decl, "", ctxt, indent);} - /// Serialize a pointer to an instance of pointer_type_def. /// /// @param decl the pointer_type_def to serialize. @@ -2619,12 +2539,11 @@ /// /// @param indent the number of indentation white spaces to use. /// -/// @return true upon succesful completion, false otherwise. +/// @return true upon successful completion, false otherwise. static bool write_pointer_type_def(const pointer_type_def_sptr& decl, - const string& id, write_context& ctxt, - unsigned indent) + unsigned indent) { if (!decl) return false; @@ -2649,11 +2568,8 @@ : decl->get_translation_unit()->get_address_size()), 0); - string i = id; - if (i.empty()) - i = ctxt.get_id_for_type(decl); - - o << " id='" << i << "'"; + string id = ctxt.get_id_for_type(decl); + o << " id='" << id << "'"; write_location(static_pointer_cast<decl_base>(decl), ctxt); o << "/>\n"; @@ -2663,43 +2579,19 @@ return true; } -/// Serialize a pointer to an instance of pointer_type_def. -/// -/// @param decl the pointer_type_def to serialize. -/// -/// @param ctxt the context of the serialization. -/// -/// @param indent the number of indentation white spaces to use. -/// -/// @return true upon succesful completion, false otherwise. -static bool -write_pointer_type_def(const pointer_type_def_sptr& decl, - write_context& ctxt, - unsigned indent) -{return write_pointer_type_def(decl, "", ctxt, indent);} - /// Serialize a pointer to an instance of reference_type_def. /// /// @param decl the reference_type_def to serialize. /// -/// @param id the type id identitifier to use in the serialized -/// output. If this is empty, the function will compute an -/// appropriate one. This is useful when this function is called to -/// serialize the underlying type of a member type; in that case, the -/// caller has already computed the id of the *member type*, and that -/// id is the one to be written as the value of the 'id' attribute of -/// the XML element of the underlying type. -/// /// @param ctxt the context of the serialization. /// /// @param indent the number of indentation white spaces to use. /// -/// @return true upon succesful completion, false otherwise. +/// @return true upon successful completion, false otherwise. static bool write_reference_type_def(const reference_type_def_sptr& decl, - const string& id, write_context& ctxt, - unsigned indent) + unsigned indent) { if (!decl) return false; @@ -2731,10 +2623,7 @@ : decl->get_translation_unit()->get_address_size()), 0); - string i = id; - if (i.empty()) - i = ctxt.get_id_for_type(decl); - o << " id='" << i << "'"; + o << " id='" << ctxt.get_id_for_type(decl) << "'"; write_location(static_pointer_cast<decl_base>(decl), ctxt); @@ -2745,21 +2634,6 @@ return true; } -/// Serialize a pointer to an instance of reference_type_def. -/// -/// @param decl the reference_type_def to serialize. -/// -/// @param ctxt the context of the serialization. -/// -/// @param indent the number of indentation white spaces to use. -/// -/// @return true upon succesful completion, false otherwise. -static bool -write_reference_type_def(const reference_type_def_sptr& decl, - write_context& ctxt, - unsigned indent) -{return write_reference_type_def(decl, "", ctxt, indent);} - /// Serialize an instance of @ref array_type_def::subrange_type. /// /// @param decl the array_type_def::subrange_type to serialize. @@ -2821,6 +2695,8 @@ o << "/>\n"; + ctxt.record_type_as_emitted(decl); + return true; } @@ -2828,22 +2704,13 @@ /// /// @param decl the array_type_def to serialize. /// -/// @param id the type id identitifier to use in the serialized -/// output. If this is empty, the function will compute an -/// appropriate one. This is useful when this function is called to -/// serialize the underlying type of a member type; in that case, the -/// caller has already computed the id of the *member type*, and that -/// id is the one to be written as the value of the 'id' attribute of -/// the XML element of the underlying type. -/// /// @param ctxt the context of the serialization. /// /// @param indent the number of indentation white spaces to use. /// -/// @return true upon succesful completion, false otherwise. +/// @return true upon successful completion, false otherwise. static bool write_array_type_def(const array_type_def_sptr& decl, - const string& id, write_context& ctxt, unsigned indent) { @@ -2866,10 +2733,7 @@ write_array_size_and_alignment(decl, o); - string i = id; - if (i.empty()) - i = ctxt.get_id_for_type(decl); - o << " id='" << i << "'"; + o << " id='" << ctxt.get_id_for_type(decl) << "'"; write_location(static_pointer_cast<decl_base>(decl), ctxt); @@ -2898,47 +2762,25 @@ return true; } -/// Serialize a pointer to an instance of array_type_def. -/// -/// @param decl the array_type_def to serialize. -/// -/// @param ctxt the context of the serialization. -/// -/// @param indent the number of indentation white spaces to use. -/// -/// @return true upon succesful completion, false otherwise. -static bool -write_array_type_def(const array_type_def_sptr& decl, - write_context& ctxt, - unsigned indent) -{return write_array_type_def(decl, "", ctxt, indent);} - /// Serialize a pointer to an instance of enum_type_decl. /// /// @param decl the enum_type_decl to serialize. /// -/// @param id the type id identitifier to use in the serialized -/// output. If this is empty, the function will compute an -/// appropriate one. This is useful when this function is called to -/// serialize the underlying type of a member type; in that case, the -/// caller has already computed the id of the *member type*, and that -/// id is the one to be written as the value of the 'id' attribute of -/// the XML element of the underlying type. -/// /// @param ctxt the context of the serialization. /// /// @param indent the number of indentation white spaces to use. /// -/// @return true upon succesful completion, false otherwise. +/// @return true upon successful completion, false otherwise. static bool -write_enum_type_decl(const enum_type_decl_sptr& decl, - const string& id, +write_enum_type_decl(const enum_type_decl_sptr& d, write_context& ctxt, unsigned indent) { - if (!decl) + if (!d) return false; + enum_type_decl_sptr decl = is_enum_type(look_through_decl_only_enum(d)); + annotate(decl->get_canonical_type(), ctxt, indent); ostream& o = ctxt.get_ostream(); @@ -2947,19 +2789,19 @@ o << "<enum-decl name='" << xml::escape_xml_string(decl->get_name()) << "'"; write_is_anonymous(decl, o); + write_naming_typedef(decl, ctxt); write_is_artificial(decl, o); write_is_non_reachable(is_type(decl), o); if (!decl->get_linkage_name().empty()) - o << " linkage-name='" << decl->get_linkage_name() << "'"; + o << " linkage-name='" + << xml::escape_xml_string(decl->get_linkage_name()) + << "'"; write_location(decl, ctxt); write_is_declaration_only(decl, o); - string i = id; - if (i.empty()) - i = ctxt.get_id_for_type(decl); - o << " id='" << i << "'>\n"; + o << " id='" << ctxt.get_id_for_type(decl) << "'>\n"; do_indent(o, indent + ctxt.get_config().get_xml_element_indent()); o << "<underlying-type type-id='" @@ -2987,21 +2829,6 @@ return true; } -/// Serialize a pointer to an instance of enum_type_decl. -/// -/// @param decl the enum_type_decl to serialize. -/// -/// @param ctxt the context of the serialization. -/// -/// @param indent the number of indentation white spaces to use. -/// -/// @return true upon succesful completion, false otherwise. -static bool -write_enum_type_decl(const enum_type_decl_sptr& decl, - write_context& ctxt, - unsigned indent) -{return write_enum_type_decl(decl, "", ctxt, indent);} - /// Serialize an @ref elf_symbol to an XML element of name /// 'elf-symbol'. /// @@ -3085,7 +2912,6 @@ if (syms.empty()) return false; - unordered_map<string, bool> emitted_syms; for (elf_symbols::const_iterator it = syms.begin(); it != syms.end(); ++it) write_elf_symbol(*it, ctxt, indent); @@ -3126,22 +2952,13 @@ /// /// @param decl the typedef_decl to serialize. /// -/// @param id the type id identitifier to use in the serialized -/// output. If this is empty, the function will compute an -/// appropriate one. This is useful when this function is called to -/// serialize the underlying type of a member type; in that case, the -/// caller has already computed the id of the *member type*, and that -/// id is the one to be written as the value of the 'id' attribute of -/// the XML element of the underlying type. -/// /// @param ctxt the context of the serialization. /// /// @param indent the number of indentation white spaces to use. /// -/// @return true upon succesful completion, false otherwise. +/// @return true upon successful completion, false otherwise. static bool write_typedef_decl(const typedef_decl_sptr& decl, - const string& id, write_context& ctxt, unsigned indent) { @@ -3159,38 +2976,18 @@ << "'"; type_base_sptr underlying_type = decl->get_underlying_type(); - string type_id = ctxt.get_id_for_type(underlying_type); - o << " type-id='" << type_id << "'"; + o << " type-id='" << ctxt.get_id_for_type(underlying_type) << "'"; ctxt.record_type_as_referenced(underlying_type); write_location(decl, ctxt); - string i = id; - if (i.empty()) - i = ctxt.get_id_for_type(decl); - - o << " id='" << i << "'/>\n"; + o << " id='" << ctxt.get_id_for_type(decl) << "'/>\n"; ctxt.record_type_as_emitted(decl); return true; } -/// Serialize a pointer to an instance of typedef_decl. -/// -/// @param decl the typedef_decl to serialize. -/// -/// @param ctxt the context of the serialization. -/// -/// @param indent the number of indentation white spaces to use. -/// -/// @return true upon succesful completion, false otherwise. -static bool -write_typedef_decl(const typedef_decl_sptr& decl, - write_context& ctxt, - unsigned indent) -{return write_typedef_decl(decl, "", ctxt, indent);} - /// Serialize a pointer to an instances of var_decl. /// /// @param decl the var_decl to serialize. @@ -3202,7 +2999,7 @@ /// /// @param indent the number of indentation white spaces to use. /// -/// @return true upon succesful completion, false otherwise. +/// @return true upon successful completion, false otherwise. static bool write_var_decl(const var_decl_sptr& decl, write_context& ctxt, bool write_linkage_name, unsigned indent) @@ -3254,7 +3051,7 @@ /// /// @param indent the number of indentation white spaces to use. /// -/// @return true upon succesful completion, false otherwise. +/// @return true upon successful completion, false otherwise. static bool write_function_decl(const function_decl_sptr& decl, write_context& ctxt, bool skip_first_parm, unsigned indent) @@ -3353,7 +3150,7 @@ /// /// @param indent the number of indentation white spaces to use. /// -/// @return true upon succesful completion, false otherwise. +/// @return true upon successful completion, false otherwise. static bool write_function_type(const function_type_sptr& fn_type, write_context& ctxt, unsigned indent) @@ -3386,11 +3183,7 @@ /*is_static=*/false, o); } - interned_string id = ctxt.get_id_for_type(fn_type); - - o << " id='" - << id << "'" - << ">\n"; + o << " id='" << ctxt.get_id_for_type(fn_type) << "'" << ">\n"; type_base_sptr parm_type; for (vector<function_decl::parameter_sptr>::const_iterator pi = @@ -3445,9 +3238,6 @@ /// /// @param decl the class declaration to serialize. /// -/// @param the type ID to use for the 'class-decl' element,, or empty -/// if we need to build a new one. -/// /// @param ctxt the write context to use. /// /// @param indent the number of white space to use for indentation. @@ -3460,7 +3250,6 @@ /// @return true upon successful completion. static bool write_class_decl_opening_tag(const class_decl_sptr& decl, - const string& id, write_context& ctxt, unsigned indent, bool prepare_to_handle_members) @@ -3500,10 +3289,7 @@ << "'"; } - string i = id; - if (i.empty()) - i = ctxt.get_id_for_type(decl); - o << " id='" << i << "'"; + o << " id='" << ctxt.get_id_for_type(decl) << "'"; if (prepare_to_handle_members && decl->has_no_base_nor_member()) o << "/>\n"; @@ -3517,9 +3303,6 @@ /// /// @param decl the union declaration to serialize. /// -/// @param the type ID to use for the 'union-decl' element, or empty -/// if we need to build a new one. -/// /// @param ctxt the write context to use. /// /// @param indent the number of white space to use for indentation. @@ -3532,7 +3315,6 @@ /// @return true upon successful completion. static bool write_union_decl_opening_tag(const union_decl_sptr& decl, - const string& id, write_context& ctxt, unsigned indent, bool prepare_to_handle_members) @@ -3551,6 +3333,8 @@ write_is_anonymous(decl, o); + write_naming_typedef(decl, ctxt); + write_visibility(decl, o); write_is_artificial(decl, o); @@ -3561,10 +3345,7 @@ write_is_declaration_only(decl, o); - string i = id; - if (i.empty()) - i = ctxt.get_id_for_type(decl); - o << " id='" << i << "'"; + o << " id='" << ctxt.get_id_for_type(decl) << "'"; if (prepare_to_handle_members && decl->has_no_member()) o << "/>\n"; @@ -3578,21 +3359,12 @@ /// /// @param d the pointer to class_decl to serialize. /// -/// @param id the type id identitifier to use in the serialized -/// output. If this is empty, the function will compute an -/// appropriate one. This is useful when this function is called to -/// serialize the underlying type of a member type; in that case, the -/// caller has already computed the id of the *member type*, and that -/// id is the one to be written as the value of the 'id' attribute of -/// the XML element of the underlying type. -/// /// @param ctxt the context of the serialization. /// /// @param indent the initial indentation to use. static bool write_class_decl(const class_decl_sptr& d, - const string& id, - write_context& ctxt, + write_context& ctxt, unsigned indent) { if (!d) @@ -3604,7 +3376,7 @@ ostream& o = ctxt.get_ostream(); - write_class_decl_opening_tag(decl, id, ctxt, indent, + write_class_decl_opening_tag(decl, ctxt, indent, /*prepare_to_handle_members=*/true); if (!decl->has_no_base_nor_member()) @@ -3770,31 +3542,11 @@ o << "</class-decl>\n"; } - // We allow several *declarations* of the same class in the corpus, - // but only one definition. - if (!decl->get_is_declaration_only()) - ctxt.record_type_as_emitted(decl); - else - ctxt.record_decl_only_type_as_emitted(decl); + ctxt.record_type_as_emitted(decl); return true; } -/// Serialize a class_decl type. -/// -/// @param decl the pointer to class_decl to serialize. -/// -/// @param ctxt the context of the serialization. -/// -/// @param indent the initial indentation to use. -/// -/// @return true upon successful completion. -static bool -write_class_decl(const class_decl_sptr& decl, - write_context& ctxt, - unsigned indent) -{return write_class_decl(decl, "", ctxt, indent);} - /// Serialize a @ref union_decl type. /// /// @param d the pointer to @ref union_decl to serialize. @@ -3806,7 +3558,6 @@ /// @return true upon successful completion. static bool write_union_decl(const union_decl_sptr& d, - const string& id, write_context& ctxt, unsigned indent) { @@ -3819,7 +3570,7 @@ ostream& o = ctxt.get_ostream(); - write_union_decl_opening_tag(decl, id, ctxt, indent, + write_union_decl_opening_tag(decl, ctxt, indent, /*prepare_to_handle_members=*/true); if (!decl->has_no_member()) { @@ -3828,7 +3579,11 @@ decl->get_member_types().begin(); ti != decl->get_member_types().end(); ++ti) - write_member_type(*ti, ctxt, nb_ws); + if (!(*ti)->get_naked_canonical_type()) + write_member_type(*ti, ctxt, nb_ws); + + write_canonical_types_of_scope(*decl, ctxt, nb_ws, + /*is_member_type=*/true); for (union_decl::data_members::const_iterator data = decl->get_data_members().begin(); @@ -3926,22 +3681,11 @@ o << "</union-decl>\n"; } - // We allow several *declarations* of the same union in the corpus, - // but only one definition. - if (!decl->get_is_declaration_only()) - ctxt.record_type_as_emitted(decl); - else - ctxt.record_decl_only_type_as_emitted(decl); + ctxt.record_type_as_emitted(decl); return true; } -static bool -write_union_decl(const union_decl_sptr& decl, - write_context& ctxt, - unsigned indent) -{return write_union_decl(decl, "", ctxt, indent);} - /// Write the opening tag for a 'member-type' element. /// /// @param t the member type to consider. @@ -3972,11 +3716,6 @@ /// Serialize a member type. /// -/// Note that the id written as the value of the 'id' attribute of the -/// underlying type is actually the id of the member type, not the one -/// for the underying type. That id takes in account, the access -/// specifier and the qualified name of the member type. -/// /// @param decl the declaration of the member type to serialize. /// /// @param ctxt the write context to use. @@ -3992,25 +3731,23 @@ write_member_type_opening_tag(t, ctxt, indent); - string id = ctxt.get_id_for_type(t); - unsigned nb_ws = get_indent_to_level(ctxt, indent, 1); ABG_ASSERT(write_qualified_type_def(dynamic_pointer_cast<qualified_type_def>(t), - id, ctxt, nb_ws) + ctxt, nb_ws) || write_pointer_type_def(dynamic_pointer_cast<pointer_type_def>(t), - id, ctxt, nb_ws) + ctxt, nb_ws) || write_reference_type_def(dynamic_pointer_cast<reference_type_def>(t), - id, ctxt, nb_ws) + ctxt, nb_ws) || write_array_type_def(dynamic_pointer_cast<array_type_def>(t), - id, ctxt, nb_ws) + ctxt, nb_ws) || write_enum_type_decl(dynamic_pointer_cast<enum_type_decl>(t), - id, ctxt, nb_ws) + ctxt, nb_ws) || write_typedef_decl(dynamic_pointer_cast<typedef_decl>(t), - id, ctxt, nb_ws) + ctxt, nb_ws) || write_union_decl(dynamic_pointer_cast<union_decl>(t), - id, ctxt, nb_ws) + ctxt, nb_ws) || write_class_decl(dynamic_pointer_cast<class_decl>(t), - id, ctxt, nb_ws)); + ctxt, nb_ws)); do_indent_to_level(ctxt, indent, 0); o << "</member-type>\n"; @@ -4045,7 +3782,7 @@ id_attr_name = "id"; o << "<template-type-parameter " - << id_attr_name << "='" << ctxt.get_id_for_type(decl) << "'"; + << id_attr_name << "='" << ctxt.get_id_for_type(decl) << "'"; std::string name = xml::escape_xml_string(decl->get_name ()); if (!name.empty()) @@ -4434,19 +4171,23 @@ } // Now write the translation units. + unsigned nb_tus = corpus->get_translation_units().size(), n = 0; for (translation_units::const_iterator i = corpus->get_translation_units().begin(); i != corpus->get_translation_units().end(); - ++i) + ++i, ++n) { translation_unit& tu = **i; - if (!tu.is_empty()) - write_translation_unit(ctxt, tu, get_indent_to_level(ctxt, indent, 1)); + write_translation_unit(ctxt, tu, + get_indent_to_level(ctxt, indent, 1), + n == nb_tus - 1); } do_indent_to_level(ctxt, indent, 0); out << "</abi-corpus>\n"; + ctxt.clear_referenced_types(); + return true; } @@ -4689,5 +4430,106 @@ dump_decl_location(const decl_base_sptr d) {dump_decl_location(d.get());} +#ifdef WITH_DEBUG_SELF_COMPARISON +/// Write one of the records of the "type-ids" debugging file. +/// +/// This is a sub-routine of write_canonical_type_ids. +/// +/// @param ctxt the context to use. +/// +/// @param type the type which canonical type pointer value to emit. +/// +/// @param o the output stream to write to. +static void +write_type_record(xml_writer::write_context& ctxt, + const type_base* type, + ostream& o) +{ + // We want to serialize a type record which content looks like: + // + // <type> + // <id>type-id-573</id> + // <c>0x262ee28</c> + // </type> + // <type> + // <id>type-id-569</id> + // <c>0x2628298</c> + // </type> + // <type> + // <id>type-id-575</id> + // <c>0x25f9ba8</c> + // </type> + + string id = ctxt.get_id_for_type (type); + o << " <type>\n" + << " <id>" << id << "</id>\n" + << " <c>" + << std::hex + << (type->get_canonical_type() + ? reinterpret_cast<uintptr_t>(type->get_canonical_type().get()) + : 0xdeadbabe) + << "</c>\n" + << " </type>\n"; +} + +/// Serialize the map that is stored at +/// environment::get_type_id_canonical_type_map() to an output stream. +/// +/// This is for debugging purposes and is triggered ultimately by +/// invoking the command 'abidw --debug-abidiff <binary>'. +/// +/// @param ctxt the write context. +/// +/// @param o the output stream to serialize the map to. +void +write_canonical_type_ids(xml_writer::write_context& ctxt, ostream& o) +{ + // We want to serialize a file which content looks like: + // + // <abixml-types-check> + // <type> + // <id>type-id-573</id> + // <c>0x262ee28</c> + // </type> + // <type> + // <id>type-id-569</id> + // <c>0x2628298</c> + // </type> + // <type> + // <id>type-id-575</id> + // <c>0x25f9ba8</c> + // </type> + // <abixml-types-check> + + o << "<abixml-types-check>\n"; + + for (const auto &type : ctxt.get_emitted_types_set()) + write_type_record(ctxt, type, o); + + o << "</abixml-types-check>\n"; +} + +/// Serialize the map that is stored at +/// environment::get_type_id_canonical_type_map() to a file. +/// +/// This is for debugging purposes and is triggered ultimately by +/// invoking the command 'abidw --debug-abidiff <binary>'. +/// +/// @param ctxt the write context. +/// +/// @param file_path the file to serialize the map to. +bool +write_canonical_type_ids(xml_writer::write_context& ctxt, + const string &file_path) +{ + std:: ofstream o (file_path); + + if (!o.is_open()) + return true; + write_canonical_type_ids(ctxt, o); + o.close(); + return true; +} +#endif // </Debugging routines> } //end namespace abigail
diff --git a/tests/Makefile.am b/tests/Makefile.am index 7a3a1f9..17e2d4b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am
@@ -25,6 +25,10 @@ runtestreaddwarf \ runtestcanonicalizetypes.sh +if CTF_READER +TESTS += runtestreadctf +endif + # rather cheap tests TESTS+= \ runtestabicompat \ @@ -72,7 +76,7 @@ noinst_PROGRAMS= $(TESTS) testirwalker testdiff2 printdifftree noinst_SCRIPTS = mockfedabipkgdiff -noinst_LTLIBRARIES = libtestutils.la libcatch.la +noinst_LTLIBRARIES = libtestutils.la libtestreadcommon.la libcatch.la libtestutils_la_SOURCES= \ test-utils.h \ @@ -82,15 +86,31 @@ -DABIGAIL_SRC_DIR=\"${abs_top_srcdir}\" \ -DABIGAIL_BUILD_DIR=\"${abs_top_builddir}\" +libtestreadcommon_la_SOURCES= \ +test-read-common.h \ +test-read-common.cc + +libtestreadcommon_la_CXXFLAGS= \ +-DABIGAIL_SRC_DIR=\"${abs_top_srcdir}\" \ +-DABIGAIL_BUILD_DIR=\"${abs_top_builddir}\" + libcatch_la_SOURCES = lib/catch.cc lib/catch.hpp runtestreadwrite_SOURCES=test-read-write.cc runtestreadwrite_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la runtestreaddwarf_SOURCES=test-read-dwarf.cc -runtestreaddwarf_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la +runtestreaddwarf_LDADD=libtestreadcommon.la libtestutils.la \ + $(top_builddir)/src/libabigail.la runtestreaddwarf_LDFLAGS=-pthread +if CTF_READER +runtestreadctf_SOURCES=test-read-ctf.cc +runtestreadctf_LDADD=libtestreadcommon.la libtestutils.la \ + $(top_builddir)/src/libabigail.la +runtestreadctf_LDFLAGS=-pthread +endif + runtestannotate_SOURCES=test-annotate.cc runtestannotate_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la @@ -154,9 +174,6 @@ runtestsvg_SOURCES=test-svg.cc runtestsvg_LDADD=$(top_builddir)/src/libabigail.la -runtestdot_SOURCES = test-dot.cc -runtestdot_LDADD = $(top_builddir)/src/libabigail.la - testirwalker_SOURCES=test-ir-walker.cc testirwalker_LDADD=$(top_builddir)/src/libabigail.la
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index ee609b2..6bc9f34 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am
@@ -91,6 +91,18 @@ test-abidiff/test-crc-1.xml \ test-abidiff/test-crc-2.xml \ test-abidiff/test-crc-report.txt \ +test-abidiff/test-PR27985-report.txt \ +test-abidiff/test-PR27985-v0.c \ +test-abidiff/test-PR27985-v0.o \ +test-abidiff/test-PR27985-v0.o.abi \ +test-abidiff/test-PR27985-v1.c \ +test-abidiff/test-PR27985-v1.o \ +test-abidiff/test-PR27985-v1.o.abi \ +test-abidiff-exit/test-PR28316-v0.cc \ +test-abidiff-exit/test-PR28316-v1.cc \ +test-abidiff-exit/test-PR28316-v0.o \ +test-abidiff-exit/test-PR28316-v1.o \ +test-abidiff-exit/test-PR28316-report.txt \ \ test-abidiff-exit/test1-voffset-change-report0.txt \ test-abidiff-exit/test1-voffset-change-report1.txt \ @@ -207,6 +219,10 @@ test-abidiff-exit/test-missing-alias-report.txt \ test-abidiff-exit/test-missing-alias.abi \ test-abidiff-exit/test-missing-alias.suppr \ +test-abidiff/test-PR27616-squished-v0.abi \ +test-abidiff/test-PR27616-squished-v1.abi \ +test-abidiff/test-PR27616-v0.xml \ +test-abidiff/test-PR27616-v1.xml \ \ test-diff-dwarf/test0-v0.cc \ test-diff-dwarf/test0-v0.o \ @@ -442,6 +458,31 @@ test-diff-dwarf/PR25058-liblttng-ctl.so \ test-diff-dwarf/PR25058-liblttng-ctl2.10.so \ \ +test-read-common/test3.c \ +test-read-common/test3.so \ +test-read-common/test3-alias-1.suppr \ +test-read-common/test3-alias-2.suppr \ +test-read-common/test3-alias-3.suppr \ +test-read-common/test3-alias-4.suppr \ +test-read-common/test4.c \ +test-read-common/test4.so \ +test-read-common/PR26261/Makefile \ +test-read-common/PR26261/PR26261-obja.c \ +test-read-common/PR26261/PR26261-objb.c \ +test-read-common/PR26261/PR26261-exe \ +test-read-common/PR26261/PR26261-main.c \ +test-read-common/PR26261/PR26261-obja.h \ +test-read-common/PR26261/PR26261-objb.h \ +test-read-common/test-PR26568-1.c \ +test-read-common/test-PR26568-2.c \ +test-read-common/test-PR26568-2.o \ +test-read-common/test-PR26568-1.o \ +test-read-common/PR27700/include-dir/priv.h \ +test-read-common/PR27700/include-dir/pub.h \ +test-read-common/PR27700/pub-incdir/inc.h \ +test-read-common/PR27700/test-PR27700.c \ +test-read-common/PR27700/test-PR27700.o \ +\ test-read-dwarf/test0 \ test-read-dwarf/test0.abi \ test-read-dwarf/test0.hash.abi \ @@ -456,20 +497,12 @@ test-read-dwarf/test2.so \ test-read-dwarf/test2.so.abi \ test-read-dwarf/test2.so.hash.abi \ -test-read-dwarf/test3.c \ -test-read-dwarf/test3.so \ test-read-dwarf/test3.so.abi \ test-read-dwarf/test3.so.hash.abi \ test-read-dwarf/test3-alias-1.so.hash.abi \ -test-read-dwarf/test3-alias-1.suppr \ test-read-dwarf/test3-alias-2.so.hash.abi \ -test-read-dwarf/test3-alias-2.suppr \ test-read-dwarf/test3-alias-3.so.hash.abi \ -test-read-dwarf/test3-alias-3.suppr \ test-read-dwarf/test3-alias-4.so.hash.abi \ -test-read-dwarf/test3-alias-4.suppr \ -test-read-dwarf/test4.c \ -test-read-dwarf/test4.so \ test-read-dwarf/test4.so.abi \ test-read-dwarf/test4.so.hash.abi \ test-read-dwarf/test5.cc \ @@ -537,18 +570,7 @@ test-read-dwarf/test25-bogus-binary.elf \ test-read-dwarf/test26-bogus-binary.elf \ test-read-dwarf/test27-bogus-binary.elf \ -test-read-dwarf/PR26261/Makefile \ test-read-dwarf/PR26261/PR26261-exe.abi \ -test-read-dwarf/PR26261/PR26261-obja.c \ -test-read-dwarf/PR26261/PR26261-objb.c \ -test-read-dwarf/PR26261/PR26261-exe \ -test-read-dwarf/PR26261/PR26261-main.c \ -test-read-dwarf/PR26261/PR26261-obja.h \ -test-read-dwarf/PR26261/PR26261-objb.h \ -test-read-dwarf/test-PR26568-1.c \ -test-read-dwarf/test-PR26568-2.c \ -test-read-dwarf/test-PR26568-2.o \ -test-read-dwarf/test-PR26568-1.o \ test-read-dwarf/test-PR26568-1.o.abi \ test-read-dwarf/test-PR26568-2.o.abi \ test-read-dwarf/test-libandroid.so \ @@ -557,6 +579,94 @@ test-read-dwarf/test-suppressed-alias.o \ test-read-dwarf/test-suppressed-alias.o.abi \ test-read-dwarf/test-suppressed-alias.suppr \ +test-read-dwarf/PR27700/test-PR27700.abi \ +test-read-dwarf/test-libaaudio.so \ +test-read-dwarf/test-libaaudio.so.abi \ +test-read-dwarf/PR28584/PR28584-smv.cc \ +test-read-dwarf/PR28584/PR28584-smv.clang.o \ +test-read-dwarf/PR28584/PR28584-smv.clang.o.abi \ +\ +test-read-ctf/test0 \ +test-read-ctf/test0.abi \ +test-read-ctf/test0.c \ +test-read-ctf/test0.hash.abi \ +test-read-ctf/test1.c \ +test-read-ctf/test1.so \ +test-read-ctf/test1.so.abi \ +test-read-ctf/test1.so.hash.abi \ +test-read-ctf/test2.c \ +test-read-ctf/test2.so \ +test-read-ctf/test2.so.abi \ +test-read-ctf/test2.so.hash.abi \ +test-read-ctf/test3.so.abi \ +test-read-ctf/test3.so.hash.abi \ +test-read-ctf/test4.so.abi \ +test-read-ctf/test4.so.hash.abi \ +test-read-ctf/test5.c \ +test-read-ctf/test5.o \ +test-read-ctf/test5.o.abi \ +test-read-ctf/test6.c \ +test-read-ctf/test6.o.abi \ +test-read-ctf/test7.c \ +test-read-ctf/test7.h \ +test-read-ctf/test7.o \ +test-read-ctf/test7.o.abi \ +test-read-ctf/test8.c \ +test-read-ctf/test8.o \ +test-read-ctf/test8.o.abi \ +test-read-ctf/test9.c \ +test-read-ctf/test9.o \ +test-read-ctf/test9.o.abi \ +test-read-ctf/test-alias.c \ +test-read-ctf/test-alias.o.abi \ +test-read-ctf/test-ambiguous-struct-A.c \ +test-read-ctf/test-ambiguous-struct-A.o \ +test-read-ctf/test-ambiguous-struct-A.o.hash.abi \ +test-read-ctf/test-ambiguous-struct-B.c \ +test-read-ctf/test-ambiguous-struct-B.o \ +test-read-ctf/test-ambiguous-struct-B.o.hash.abi \ +test-read-ctf/test-conflicting-type-syms-a.c \ +test-read-ctf/test-conflicting-type-syms-a.o \ +test-read-ctf/test-conflicting-type-syms-a.o.hash.abi \ +test-read-ctf/test-conflicting-type-syms-b.c \ +test-read-ctf/test-conflicting-type-syms-b.o \ +test-read-ctf/test-conflicting-type-syms-b.o.hash.abi \ +test-read-ctf/test-dynamic-array.c \ +test-read-ctf/test-dynamic-array.o \ +test-read-ctf/test-dynamic-array.o.abi \ +test-read-ctf/test-enum.c \ +test-read-ctf/test-enum-many.c \ +test-read-ctf/test-enum-many.o \ +test-read-ctf/test-enum-many.o.hash.abi \ +test-read-ctf/test-enum.o \ +test-read-ctf/test-enum.o.abi \ +test-read-ctf/test-enum-symbol.c \ +test-read-ctf/test-enum-symbol.o \ +test-read-ctf/test-enum-symbol.o.hash.abi \ +test-read-ctf/test-PR26568-1.o.abi \ +test-read-ctf/test-PR26568-2.o.abi \ +test-read-ctf/test-struct-iteration.c \ +test-read-ctf/test-struct-iteration.o.abi \ +test-read-ctf/PR27700/test-PR27700.abi \ +test-read-ctf/PR26261/PR26261-exe.abi \ +test-read-ctf/test-callback.c \ +test-read-ctf/test-callback.abi \ +test-read-ctf/test-callback.o \ +test-read-ctf/test-array-of-pointers.c \ +test-read-ctf/test-array-of-pointers.o \ +test-read-ctf/test-array-of-pointers.abi \ +test-read-ctf/test-functions-declaration.abi \ +test-read-ctf/test-functions-declaration.c \ +test-read-ctf/test-functions-declaration.o \ +test-read-ctf/test-forward-type-decl.abi \ +test-read-ctf/test-forward-type-decl.o \ +test-read-ctf/test-forward-type-decl.c \ +test-read-ctf/test-list-struct.c \ +test-read-ctf/test-list-struct.o \ +test-read-ctf/test-list-struct.abi \ +test-read-ctf/test-callback2.c \ +test-read-ctf/test-callback2.o \ +test-read-ctf/test-callback2.abi \ \ test-annotate/test0.abi \ test-annotate/test1.abi \ @@ -593,6 +703,9 @@ test-types-stability/pr19204-libtcmalloc.so.4.2.6-xlc \ test-types-stability/PR27165-libzmq.so.5.2.3 \ test-types-stability/PR27165-libzmq.so.5.2.3.debug \ +test-types-stability/pr27980-libc.so \ +test-types-stability/PR27086-libstdc++.so.6.0.26 \ +test-types-stability/PR28450-libepetra.so.13.0 \ \ test-diff-filter/test0-v0.cc \ test-diff-filter/test0-v1.cc \ @@ -954,6 +1067,8 @@ test-diff-filter/test-PR27598-v1.cc \ test-diff-filter/test-PR27598-v1.o \ test-diff-filter/test-PR27598-report-0.txt \ +test-diff-filter/test-PR27995-report-0.txt \ +test-diff-filter/test-PR27995.abi \ \ test-diff-suppr/test0-type-suppr-v0.cc \ test-diff-suppr/test0-type-suppr-v1.cc \ @@ -1519,6 +1634,17 @@ test-diff-suppr/PR27267/libtestpr27267-v0.so \ test-diff-suppr/PR27267/libtestpr27267-v1.so \ test-diff-suppr/PR27267/report-1.txt \ +test-diff-suppr/PR28073/PR28073-bitfield-removed.c \ +test-diff-suppr/PR28073/PR28073-bitfield-removed.o \ +test-diff-suppr/PR28073/PR28073-bitfield-removed.o.abi \ +test-diff-suppr/PR28073/PR28073-output-1.txt \ +test-diff-suppr/PR28073/PR28073-output-2.txt \ +test-diff-suppr/PR28073/PR28073.after.o \ +test-diff-suppr/PR28073/PR28073.after.o.abi \ +test-diff-suppr/PR28073/PR28073.before.o \ +test-diff-suppr/PR28073/PR28073.before.o.abi \ +test-diff-suppr/PR28073/PR28073.c \ +test-diff-suppr/PR28073/bitfield.suppr \ \ test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1 \ test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi \ @@ -1843,6 +1969,21 @@ test-diff-pkg/elfutils-libs-0.183-1.el9.x86_64.rpm \ test-diff-pkg/elfutils-libs-debuginfo-0.183-1.el9.x86_64.rpm \ test-diff-pkg/elfutils-debuginfo-0.183-1.el9.x86_64.rpm \ +test-diff-pkg/graphviz-2.44.0-18.el9.aarch64-self-check-report-0.txt \ +test-diff-pkg/graphviz-2.44.0-18.el9.aarch64.rpm \ +test-diff-pkg/graphviz-debuginfo-2.44.0-18.el9.aarch64.rpm \ +test-diff-pkg/libxcrypt-4.1.1-6.el8.x86_64--libxcrypt-4.1.1-6.el8.x86_64-output-1.txt \ +test-diff-pkg/libxcrypt-4.1.1-6.el8.x86_64--libxcrypt-compat-4.4.18-3.el9.x86_64-report-1.txt \ +test-diff-pkg/libxcrypt-4.1.1-6.el8.x86_64.rpm \ +test-diff-pkg/libxcrypt-4.4.18-3.el9.x86_64.rpm \ +test-diff-pkg/libxcrypt-compat-4.4.18-3.el9.x86_64.rpm \ +test-diff-pkg/libxcrypt-compat-debuginfo-4.4.18-3.el9.x86_64.rpm \ +test-diff-pkg/libxcrypt-debuginfo-4.1.1-6.el8.x86_64.rpm \ +test-diff-pkg/libxcrypt-debuginfo-4.4.18-3.el9.x86_64.rpm \ +test-diff-pkg/wireshark/wireshark-cli-3.4.9-1.fc36.x86_64-self-check-report.txt \ +test-diff-pkg/wireshark/wireshark-cli-3.4.9-1.fc36.x86_64.rpm \ +test-diff-pkg/wireshark/wireshark-cli-debuginfo-3.4.9-1.fc36.x86_64.rpm \ +test-diff-pkg/wireshark/wireshark-debuginfo-3.4.9-1.fc36.x86_64.rpm \ \ test-fedabipkgdiff/dbus-glib-0.104-3.fc23.x86_64.rpm \ test-fedabipkgdiff/dbus-glib-debuginfo-0.104-3.fc23.x86_64.rpm \
diff --git a/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt b/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt index 8105aa7..e9bf3d4 100644 --- a/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt +++ b/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt
@@ -13,12 +13,14 @@ array element type 'void*' changed: entity changed from 'void*' to 'void* const' type size hasn't changed + type name changed from 'void*[7]' to 'void* const[7]' type size hasn't changed type of 'A v_a' changed: entity changed from 'typedef A' to compatible type 'void* volatile[7]' array element type 'void*' changed: entity changed from 'void*' to 'void* volatile' type size hasn't changed + type name changed from 'void*[7]' to 'void* volatile[7]' type size hasn't changed type of 'A r_a' changed: entity changed from 'typedef A' to compatible type 'void*[7]' @@ -29,6 +31,7 @@ array element type 'void*' changed: entity changed from 'void*' to 'void* const' type size hasn't changed + type name changed from 'void*[7]' to 'void* const[7]' type size hasn't changed type of 'B v_b' changed: typedef name changed from B to A at qualifier-typedef-array-v1.c:1:1 @@ -37,6 +40,7 @@ array element type 'void*' changed: entity changed from 'void*' to 'void* volatile' type size hasn't changed + type name changed from 'void*[7]' to 'void* volatile[7]' type size hasn't changed type of 'B r_b' changed: typedef name changed from B to A at qualifier-typedef-array-v1.c:1:1 @@ -46,36 +50,36 @@ entity changed from 'typedef C' to compatible type 'const volatile void* const[7]' array element type 'void* const' changed: 'void* const' changed to 'const volatile void* const' - type name changed from 'void*[7]' to 'volatile void* const[7]' + type name changed from 'void* const[7]' to 'volatile void* const[7]' type size hasn't changed type of 'C r_c' changed: entity changed from 'typedef C' to compatible type 'restrict void* const[7]' array element type 'void* const' changed: 'void* const' changed to 'restrict const void* const' - type name changed from 'void*[7]' to 'restrict void* const[7]' + type name changed from 'void* const[7]' to 'restrict void* const[7]' type size hasn't changed type of 'D v_d' changed: entity changed from 'typedef D' to compatible type 'const volatile void* const[7]' array element type 'void* const' changed: 'void* const' changed to 'const volatile void* const' - type name changed from 'void*[7]' to 'volatile void* const[7]' + type name changed from 'void* const[7]' to 'volatile void* const[7]' type size hasn't changed type of 'D r_d' changed: entity changed from 'typedef D' to compatible type 'restrict void* const[7]' array element type 'void* const' changed: 'void* const' changed to 'restrict const void* const' - type name changed from 'void*[7]' to 'restrict void* const[7]' + type name changed from 'void* const[7]' to 'restrict void* const[7]' type size hasn't changed type of 'E r_e' changed: entity changed from 'typedef E' to compatible type 'restrict const volatile void* const[7]' array element type 'const volatile void* const' changed: 'const volatile void* const' changed to 'restrict const volatile volatile void* const' - type name changed from 'volatile void* const[7]' to 'restrict volatile void* const[7]' + type name changed from 'volatile void* const[7]' to 'restrict const volatile void* const[7]' type size hasn't changed type of 'F r_f' changed: entity changed from 'typedef F' to compatible type 'restrict const volatile void* const[7]' array element type 'const volatile void* const' changed: 'const volatile void* const' changed to 'restrict const volatile volatile void* const' - type name changed from 'volatile void* const[7]' to 'restrict volatile void* const[7]' + type name changed from 'volatile void* const[7]' to 'restrict const volatile void* const[7]' type size hasn't changed
diff --git a/tests/data/test-abidiff-exit/test-PR28316-report.txt b/tests/data/test-abidiff-exit/test-PR28316-report.txt new file mode 100644 index 0000000..b08073f --- /dev/null +++ b/tests/data/test-abidiff-exit/test-PR28316-report.txt
@@ -0,0 +1,12 @@ +Functions changes summary: 0 Removed, 1 Changed, 0 Added function +Variables changes summary: 0 Removed, 0 Changed, 0 Added variable + +1 function with some indirect sub-type change: + + [C] 'function void foo(E)' at test-PR28316-v1.cc:9:1 has some indirect sub-type changes: + parameter 1 of type 'typedef E' has sub-type changes: + underlying type 'enum E' at test-PR28316-v0.cc:1:1 changed: + type size hasn't changed + 1 enumerator insertion: + 'E::v3' value '3' +
diff --git a/tests/data/test-abidiff-exit/test-PR28316-v0.cc b/tests/data/test-abidiff-exit/test-PR28316-v0.cc new file mode 100644 index 0000000..82c45ea --- /dev/null +++ b/tests/data/test-abidiff-exit/test-PR28316-v0.cc
@@ -0,0 +1,10 @@ +typedef enum { + v0, + v1, + v2 +} E; + +void +foo(E) +{ +}
diff --git a/tests/data/test-abidiff-exit/test-PR28316-v0.o b/tests/data/test-abidiff-exit/test-PR28316-v0.o new file mode 100644 index 0000000..c5efd3a --- /dev/null +++ b/tests/data/test-abidiff-exit/test-PR28316-v0.o Binary files differ
diff --git a/tests/data/test-abidiff-exit/test-PR28316-v1.cc b/tests/data/test-abidiff-exit/test-PR28316-v1.cc new file mode 100644 index 0000000..4886fdc --- /dev/null +++ b/tests/data/test-abidiff-exit/test-PR28316-v1.cc
@@ -0,0 +1,11 @@ +typedef enum { + v0, + v1, + v2, + v3 +} E; + +void +foo(E) +{ +}
diff --git a/tests/data/test-abidiff-exit/test-PR28316-v1.o b/tests/data/test-abidiff-exit/test-PR28316-v1.o new file mode 100644 index 0000000..e02bcc4 --- /dev/null +++ b/tests/data/test-abidiff-exit/test-PR28316-v1.o Binary files differ
diff --git a/tests/data/test-abidiff-exit/test-member-size-report0.txt b/tests/data/test-abidiff-exit/test-member-size-report0.txt index 1c60dbc..5c8ece6 100644 --- a/tests/data/test-abidiff-exit/test-member-size-report0.txt +++ b/tests/data/test-abidiff-exit/test-member-size-report0.txt
@@ -13,8 +13,7 @@ parameter 2 of type 'T*' has sub-type changes: in pointed to type 'struct T' at test-member-size-v1.cc:14:1: type size changed from 192 to 256 (in bits) - 2 data member changes: - 'S s' size changed from 128 to 192 (in bits) (by +64 bits) + 1 data member changes (1 filtered): 'int a' offset changed from 128 to 192 (in bits) (by +64 bits) [C] 'function void reg2(U*)' at test-member-size-v1.cc:27:1 has some indirect sub-type changes: @@ -24,7 +23,6 @@ 2 data member changes: type of 'anonymous data member struct {S s;}' changed: type size changed from 128 to 192 (in bits) - 1 data member change: - 'S s' size changed from 128 to 192 (in bits) (by +64 bits) + no data member change (1 filtered); 'int r' offset changed from 128 to 192 (in bits) (by +64 bits)
diff --git a/tests/data/test-abidiff/test-PR27616-squished-v0.abi b/tests/data/test-abidiff/test-PR27616-squished-v0.abi new file mode 100644 index 0000000..6b3d046 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27616-squished-v0.abi
@@ -0,0 +1,43 @@ +<abi-corpus version='2.0' path='data/test-read-dwarf/test6.so'> + <elf-needed> + <dependency name='libstdc++.so.6'/> + <dependency name='libm.so.6'/> + <dependency name='libgcc_s.so.1'/> + <dependency name='libc.so.6'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='_Z3barv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='_Z4blehv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='_ZN1B3fooEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='_ZN1CIiE3barE' size='4' type='object-type' binding='gnu-unique-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='_ZZN1B3fooEvE1a' size='4' type='object-type' binding='gnu-unique-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='64' path='test6.cc' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C_plus_plus'> + <type-decl name='int' size-in-bits='32' id='type-id-1'/> + <class-decl name='B' size-in-bits='8' is-struct='yes' visibility='default' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='9' column='1' id='type-id-2'> + <member-function access='public'> + <function-decl name='foo' mangled-name='_ZN1B3fooEv' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN1B3fooEv'> + <parameter type-id='type-id-3' name='this' is-artificial='yes'/> + <return type-id='type-id-1'/> + </function-decl> + </member-function> + </class-decl> + <class-decl name='C<int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='26' column='1' id='type-id-4'> + <data-member access='public' static='yes'> + <var-decl name='bar' type-id='type-id-1' mangled-name='_ZN1CIiE3barE' visibility='default' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='31' column='1' elf-symbol-id='_ZN1CIiE3barE'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-5'/> + <qualified-type-def type-id='type-id-5' const='yes' id='type-id-3'/> + <function-decl name='bar' mangled-name='_Z3barv' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='19' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3barv'> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='bleh' mangled-name='_Z4blehv' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z4blehv'> + <return type-id='type-id-1'/> + </function-decl> + </abi-instr> +</abi-corpus>
diff --git a/tests/data/test-abidiff/test-PR27616-squished-v1.abi b/tests/data/test-abidiff/test-PR27616-squished-v1.abi new file mode 100644 index 0000000..20495f0 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27616-squished-v1.abi
@@ -0,0 +1 @@ +<abi-corpus version='2.0' path='data/test-read-dwarf/test6.so'><elf-needed><dependency name='libstdc++.so.6'/><dependency name='libm.so.6'/><dependency name='libgcc_s.so.1'/><dependency name='libc.so.6'/></elf-needed><elf-function-symbols><elf-symbol name='_Z3barv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/><elf-symbol name='_Z4blehv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/><elf-symbol name='_ZN1B3fooEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/><elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/><elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/></elf-function-symbols><elf-variable-symbols><elf-symbol name='_ZN1CIiE3barE' size='4' type='object-type' binding='gnu-unique-binding' visibility='default-visibility' is-defined='yes'/><elf-symbol name='_ZZN1B3fooEvE1a' size='4' type='object-type' binding='gnu-unique-binding' visibility='default-visibility' is-defined='yes'/></elf-variable-symbols><abi-instr address-size='64' path='test6.cc' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C_plus_plus'><type-decl name='int' size-in-bits='32' id='type-id-1'/><class-decl name='B' size-in-bits='8' is-struct='yes' visibility='default' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='9' column='1' id='type-id-2'><member-function access='public'><function-decl name='foo' mangled-name='_ZN1B3fooEv' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN1B3fooEv'><parameter type-id='type-id-3' name='this' is-artificial='yes'/><return type-id='type-id-1'/></function-decl></member-function></class-decl><class-decl name='C<int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='26' column='1' id='type-id-4'><data-member access='public' static='yes'><var-decl name='bar' type-id='type-id-1' mangled-name='_ZN1CIiE3barE' visibility='default' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='31' column='1' elf-symbol-id='_ZN1CIiE3barE'/></data-member></class-decl><pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-5'/><qualified-type-def type-id='type-id-5' const='yes' id='type-id-3'/><function-decl name='bar' mangled-name='_Z3barv' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='19' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3barv'><return type-id='type-id-1'/></function-decl><function-decl name='bleh' mangled-name='_Z4blehv' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test6.cc' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z4blehv'><return type-id='type-id-1'/></function-decl></abi-instr></abi-corpus>
diff --git a/tests/data/test-abidiff/test-PR27616-v0.xml b/tests/data/test-abidiff/test-PR27616-v0.xml new file mode 100644 index 0000000..5e025ff --- /dev/null +++ b/tests/data/test-abidiff/test-PR27616-v0.xml
@@ -0,0 +1,4 @@ +<abi-corpus-group architecture='elf-arm-aarch64'> + <abi-corpus path='vmlinux' architecture='elf-arm-aarch64'> + </abi-corpus> +</abi-corpus-group>
diff --git a/tests/data/test-abidiff/test-PR27616-v1.xml b/tests/data/test-abidiff/test-PR27616-v1.xml new file mode 100644 index 0000000..aa8059b --- /dev/null +++ b/tests/data/test-abidiff/test-PR27616-v1.xml
@@ -0,0 +1,3 @@ +<abi-corpus-group architecture='elf-arm-aarch64'> + <abi-corpus path='vmlinux' architecture='elf-arm-aarch64'/> +</abi-corpus-group>
diff --git a/tests/data/test-abidiff/test-PR27985-report.txt b/tests/data/test-abidiff/test-PR27985-report.txt new file mode 100644 index 0000000..9e741f9 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-report.txt
@@ -0,0 +1,19 @@ +Functions changes summary: 0 Removed, 1 Changed, 0 Added function +Variables changes summary: 0 Removed, 0 Changed, 0 Added variable + +1 function with some indirect sub-type change: + + [C] 'function void foo(node*)' has some indirect sub-type changes: + parameter 1 of type 'node*' has sub-type changes: + in pointed to type 'struct node': + type size hasn't changed + 1 data member change: + type of 'leaf* ptr' changed: + in pointed to type 'struct leaf': + type size changed from 64 to 96 (in bits) + 1 data member change: + type of 'int numbers[2]' changed: + type name changed from 'int[2]' to 'int[3]' + array type size changed from 64 to 96 + array type subrange 1 changed length from 2 to 3 +
diff --git a/tests/data/test-abidiff/test-PR27985-v0.c b/tests/data/test-abidiff/test-PR27985-v0.c new file mode 100644 index 0000000..cd0b486 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v0.c
@@ -0,0 +1,11 @@ +struct leaf +{ + int numbers[2]; +}; + +struct node +{ + struct leaf* ptr; +}; + +void foo(struct node *n) { (void) n; }
diff --git a/tests/data/test-abidiff/test-PR27985-v0.o b/tests/data/test-abidiff/test-PR27985-v0.o new file mode 100644 index 0000000..fda4e9b --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v0.o Binary files differ
diff --git a/tests/data/test-abidiff/test-PR27985-v0.o.abi b/tests/data/test-abidiff/test-PR27985-v0.o.abi new file mode 100644 index 0000000..7fbae4a --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v0.o.abi
@@ -0,0 +1,29 @@ +<abi-corpus version='2.0' path='test-v0.o' architecture='elf-amd-x86_64'> + <elf-function-symbols> + <elf-symbol name='foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='64' path='test-v0.c' comp-dir-path='/home/dodji/git/libabigail/fixes/prtests/PR27985' language='LANG_C11'> + <type-decl name='int' size-in-bits='32' id='type-id-1'/> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-2'> + <subrange length='2' type-id='type-id-3' id='type-id-4'/> + </array-type-def> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/> + <type-decl name='void' id='type-id-5'/> + <class-decl name='leaf' size-in-bits='64' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v0.c' line='1' column='1' id='type-id-6'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='numbers' type-id='type-id-2' visibility='default' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v0.c' line='3' column='1'/> + </data-member> + </class-decl> + <class-decl name='node' size-in-bits='64' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v0.c' line='6' column='1' id='type-id-7'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='ptr' type-id='type-id-8' visibility='default' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v0.c' line='8' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-8'/> + <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-9'/> + <function-decl name='foo' mangled-name='foo' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v0.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'> + <parameter type-id='type-id-9' name='n' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v0.c' line='11' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> +</abi-corpus>
diff --git a/tests/data/test-abidiff/test-PR27985-v1.c b/tests/data/test-abidiff/test-PR27985-v1.c new file mode 100644 index 0000000..b7e0076 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v1.c
@@ -0,0 +1,11 @@ +struct leaf +{ + int numbers[3]; +}; + +struct node +{ + struct leaf* ptr; +}; + +void foo(struct node *n) { (void) n; }
diff --git a/tests/data/test-abidiff/test-PR27985-v1.o b/tests/data/test-abidiff/test-PR27985-v1.o new file mode 100644 index 0000000..017bd88 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v1.o Binary files differ
diff --git a/tests/data/test-abidiff/test-PR27985-v1.o.abi b/tests/data/test-abidiff/test-PR27985-v1.o.abi new file mode 100644 index 0000000..09d2f44 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v1.o.abi
@@ -0,0 +1,29 @@ +<abi-corpus version='2.0' path='test-v1.o' architecture='elf-amd-x86_64'> + <elf-function-symbols> + <elf-symbol name='foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='64' path='test-v1.c' comp-dir-path='/home/dodji/git/libabigail/fixes/prtests/PR27985' language='LANG_C11'> + <type-decl name='int' size-in-bits='32' id='type-id-1'/> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='96' id='type-id-2'> + <subrange length='3' type-id='type-id-3' id='type-id-4'/> + </array-type-def> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/> + <type-decl name='void' id='type-id-5'/> + <class-decl name='leaf' size-in-bits='96' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v1.c' line='1' column='1' id='type-id-6'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='numbers' type-id='type-id-2' visibility='default' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v1.c' line='3' column='1'/> + </data-member> + </class-decl> + <class-decl name='node' size-in-bits='64' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v1.c' line='6' column='1' id='type-id-7'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='ptr' type-id='type-id-8' visibility='default' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v1.c' line='8' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-8'/> + <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-9'/> + <function-decl name='foo' mangled-name='foo' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v1.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'> + <parameter type-id='type-id-9' name='n' filepath='/home/dodji/git/libabigail/fixes/prtests/PR27985/test-v1.c' line='11' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> +</abi-corpus>
diff --git a/tests/data/test-annotate/libtest23.so.abi b/tests/data/test-annotate/libtest23.so.abi index 3b5c603..ce6c145 100644 --- a/tests/data/test-annotate/libtest23.so.abi +++ b/tests/data/test-annotate/libtest23.so.abi
@@ -1,4 +1,4 @@ -<abi-corpus version='2.0' architecture='elf-amd-x86_64'> +<abi-corpus version='2.1' architecture='elf-amd-x86_64'> <elf-needed> <dependency name='libstdc++.so.6'/> <dependency name='libm.so.6'/> @@ -20,27 +20,27 @@ <type-decl name='bool' size-in-bits='8' id='type-id-1'/> <!-- char --> <type-decl name='char' size-in-bits='8' id='type-id-2'/> + <!-- struct {} --> + <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' id='type-id-3'/> <!-- struct typedef __va_list_tag __va_list_tag --> - <class-decl name='typedef __va_list_tag __va_list_tag' size-in-bits='192' is-struct='yes' visibility='default' id='type-id-3'> + <class-decl name='typedef __va_list_tag __va_list_tag' size-in-bits='192' is-struct='yes' visibility='default' id='type-id-4'> <data-member access='public' layout-offset-in-bits='0'> <!-- unsigned int typedef __va_list_tag __va_list_tag::gp_offset --> - <var-decl name='gp_offset' type-id='type-id-4' visibility='default'/> + <var-decl name='gp_offset' type-id='type-id-5' visibility='default'/> </data-member> <data-member access='public' layout-offset-in-bits='32'> <!-- unsigned int typedef __va_list_tag __va_list_tag::fp_offset --> - <var-decl name='fp_offset' type-id='type-id-4' visibility='default'/> + <var-decl name='fp_offset' type-id='type-id-5' visibility='default'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- void* typedef __va_list_tag __va_list_tag::overflow_arg_area --> - <var-decl name='overflow_arg_area' type-id='type-id-5' visibility='default'/> + <var-decl name='overflow_arg_area' type-id='type-id-6' visibility='default'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- void* typedef __va_list_tag __va_list_tag::reg_save_area --> - <var-decl name='reg_save_area' type-id='type-id-5' visibility='default'/> + <var-decl name='reg_save_area' type-id='type-id-6' visibility='default'/> </data-member> </class-decl> - <!-- struct {} --> - <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' id='type-id-6'/> <!-- double --> <type-decl name='double' size-in-bits='64' id='type-id-7'/> <!-- float --> @@ -58,7 +58,7 @@ <!-- short int --> <type-decl name='short int' size-in-bits='16' id='type-id-14'/> <!-- unsigned int --> - <type-decl name='unsigned int' size-in-bits='32' id='type-id-4'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-5'/> <!-- unsigned long int --> <type-decl name='unsigned long int' size-in-bits='64' id='type-id-15'/> <!-- unsigned long int[] --> @@ -68,37 +68,14 @@ </array-type-def> <!-- variadic parameter type --> <type-decl name='variadic parameter type' id='type-id-18'/> - <!-- void --> - <type-decl name='void' id='type-id-19'/> <!-- wchar_t --> - <type-decl name='wchar_t' size-in-bits='32' id='type-id-20'/> - <!-- typedef unsigned int wint_t --> - <typedef-decl name='wint_t' type-id='type-id-4' filepath='/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stddef.h' line='353' column='1' id='type-id-21'/> + <type-decl name='wchar_t' size-in-bits='32' id='type-id-19'/> + <!-- typedef int __int32_t --> + <typedef-decl name='__int32_t' type-id='type-id-9' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-20'/> <!-- typedef _IO_FILE __FILE --> - <typedef-decl name='__FILE' type-id='type-id-22' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-23'/> - <!-- typedef unsigned long int size_t --> - <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stddef.h' line='212' column='1' id='type-id-24'/> - <!-- typedef __mbstate_t mbstate_t --> - <typedef-decl name='mbstate_t' type-id='type-id-25' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-26'/> - <!-- typedef __anonymous_struct__ __mbstate_t --> - <typedef-decl name='__mbstate_t' type-id='type-id-27' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-25'/> - <!-- struct {int __count; union {} __value;} --> - <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-25' visibility='default' filepath='/usr/include/wchar.h' line='83' column='1' id='type-id-27'> - <member-type access='public'> - <!-- union {} --> - <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/> - </member-type> - <data-member access='public' layout-offset-in-bits='0'> - <!-- int __count --> - <var-decl name='__count' type-id='type-id-9' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- union {} __value --> - <var-decl name='__value' type-id='type-id-28' visibility='default' filepath='/usr/include/wchar.h' line='93' column='1'/> - </data-member> - </class-decl> + <typedef-decl name='__FILE' type-id='type-id-21' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-22'/> <!-- struct tm --> - <class-decl name='tm' size-in-bits='448' is-struct='yes' visibility='default' filepath='/usr/include/time.h' line='133' column='1' id='type-id-29'> + <class-decl name='tm' size-in-bits='448' is-struct='yes' visibility='default' filepath='/usr/include/time.h' line='133' column='1' id='type-id-23'> <data-member access='public' layout-offset-in-bits='0'> <!-- int tm::tm_sec --> <var-decl name='tm_sec' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/> @@ -141,234 +118,255 @@ </data-member> <data-member access='public' layout-offset-in-bits='384'> <!-- const char* tm::tm_zone --> - <var-decl name='tm_zone' type-id='type-id-30' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/> + <var-decl name='tm_zone' type-id='type-id-24' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/> </data-member> </class-decl> + <!-- struct __mbstate_t --> + <class-decl name='__mbstate_t' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-25' visibility='default' filepath='/usr/include/wchar.h' line='83' column='1' id='type-id-26'> + <member-type access='public'> + <!-- union {} --> + <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-27'/> + </member-type> + <data-member access='public' layout-offset-in-bits='0'> + <!-- int __mbstate_t::__count --> + <var-decl name='__count' type-id='type-id-9' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- union {} __mbstate_t::__value --> + <var-decl name='__value' type-id='type-id-27' visibility='default' filepath='/usr/include/wchar.h' line='93' column='1'/> + </data-member> + </class-decl> + <!-- typedef __mbstate_t __mbstate_t --> + <typedef-decl name='__mbstate_t' type-id='type-id-26' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-25'/> + <!-- typedef __mbstate_t mbstate_t --> + <typedef-decl name='mbstate_t' type-id='type-id-25' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-28'/> <!-- typedef unsigned long int wctype_t --> - <typedef-decl name='wctype_t' type-id='type-id-15' filepath='/usr/include/wctype.h' line='52' column='1' id='type-id-31'/> + <typedef-decl name='wctype_t' type-id='type-id-15' filepath='/usr/include/wctype.h' line='52' column='1' id='type-id-29'/> <!-- typedef const __int32_t* wctrans_t --> - <typedef-decl name='wctrans_t' type-id='type-id-32' filepath='/usr/include/wctype.h' line='186' column='1' id='type-id-33'/> - <!-- typedef int __int32_t --> - <typedef-decl name='__int32_t' type-id='type-id-9' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-34'/> + <typedef-decl name='wctrans_t' type-id='type-id-30' filepath='/usr/include/wctype.h' line='186' column='1' id='type-id-31'/> + <!-- typedef unsigned long int size_t --> + <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stddef.h' line='212' column='1' id='type-id-32'/> + <!-- typedef unsigned int wint_t --> + <typedef-decl name='wint_t' type-id='type-id-5' filepath='/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stddef.h' line='353' column='1' id='type-id-33'/> <!-- __FILE* --> - <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-35'/> - <!-- __anonymous_struct__1* --> - <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-36'/> + <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-34'/> + <!-- __anonymous_struct__* --> + <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-35'/> <!-- char& --> - <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-37'/> + <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-36'/> <!-- char* --> - <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-38'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-37'/> <!-- const __int32_t --> - <qualified-type-def type-id='type-id-34' const='yes' id='type-id-39'/> + <qualified-type-def type-id='type-id-20' const='yes' id='type-id-38'/> <!-- const __int32_t* --> - <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-32'/> + <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-30'/> <!-- const allocator<char> --> - <qualified-type-def type-id='type-id-40' const='yes' id='type-id-41'/> + <qualified-type-def type-id='type-id-39' const='yes' id='type-id-40'/> <!-- const allocator<char>& --> - <reference-type-def kind='lvalue' type-id='type-id-41' size-in-bits='64' id='type-id-42'/> + <reference-type-def kind='lvalue' type-id='type-id-40' size-in-bits='64' id='type-id-41'/> <!-- const bool --> - <qualified-type-def type-id='type-id-1' const='yes' id='type-id-43'/> + <qualified-type-def type-id='type-id-1' const='yes' id='type-id-42'/> <!-- const char --> - <qualified-type-def type-id='type-id-2' const='yes' id='type-id-44'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-43'/> <!-- const char& --> - <reference-type-def kind='lvalue' type-id='type-id-44' size-in-bits='64' id='type-id-45'/> + <reference-type-def kind='lvalue' type-id='type-id-43' size-in-bits='64' id='type-id-44'/> <!-- const char* --> - <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-30'/> + <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-24'/> <!-- const char** --> - <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-46'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-45'/> <!-- const int --> - <qualified-type-def type-id='type-id-9' const='yes' id='type-id-47'/> + <qualified-type-def type-id='type-id-9' const='yes' id='type-id-46'/> <!-- const long int --> - <qualified-type-def type-id='type-id-11' const='yes' id='type-id-48'/> + <qualified-type-def type-id='type-id-11' const='yes' id='type-id-47'/> <!-- const mbstate_t --> - <qualified-type-def type-id='type-id-26' const='yes' id='type-id-49'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-48'/> <!-- const mbstate_t* --> - <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/> + <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-49'/> <!-- const short int --> - <qualified-type-def type-id='type-id-14' const='yes' id='type-id-51'/> + <qualified-type-def type-id='type-id-14' const='yes' id='type-id-50'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> > --> - <qualified-type-def type-id='type-id-52' const='yes' id='type-id-53'/> + <qualified-type-def type-id='type-id-51' const='yes' id='type-id-52'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >& --> - <reference-type-def kind='lvalue' type-id='type-id-53' size-in-bits='64' id='type-id-54'/> + <reference-type-def kind='lvalue' type-id='type-id-52' size-in-bits='64' id='type-id-53'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >* --> - <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/> + <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-54'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep --> - <qualified-type-def type-id='type-id-56' const='yes' id='type-id-57'/> + <qualified-type-def type-id='type-id-55' const='yes' id='type-id-56'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type --> - <qualified-type-def type-id='type-id-58' const='yes' id='type-id-59'/> + <qualified-type-def type-id='type-id-57' const='yes' id='type-id-58'/> <!-- const tm --> - <qualified-type-def type-id='type-id-29' const='yes' id='type-id-60'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-59'/> <!-- const tm* --> - <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/> + <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-60'/> <!-- const unsigned long int --> - <qualified-type-def type-id='type-id-15' const='yes' id='type-id-62'/> + <qualified-type-def type-id='type-id-15' const='yes' id='type-id-61'/> <!-- const wchar_t --> - <qualified-type-def type-id='type-id-20' const='yes' id='type-id-63'/> + <qualified-type-def type-id='type-id-19' const='yes' id='type-id-62'/> <!-- const wchar_t* --> - <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-64'/> + <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/> <!-- const wchar_t** --> - <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-64'/> <!-- mbstate_t* --> - <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-66'/> + <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-65'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >& --> - <reference-type-def kind='lvalue' type-id='type-id-52' size-in-bits='64' id='type-id-67'/> + <reference-type-def kind='lvalue' type-id='type-id-51' size-in-bits='64' id='type-id-66'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >* --> - <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-68'/> + <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-67'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep& --> - <reference-type-def kind='lvalue' type-id='type-id-56' size-in-bits='64' id='type-id-69'/> + <reference-type-def kind='lvalue' type-id='type-id-55' size-in-bits='64' id='type-id-68'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep* --> - <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-70'/> + <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-69'/> <!-- std::string& --> - <qualified-type-def type-id='type-id-71' id='type-id-72'/> - <!-- std::string& --> - <reference-type-def kind='lvalue' type-id='type-id-73' size-in-bits='64' id='type-id-71'/> + <reference-type-def kind='lvalue' type-id='type-id-70' size-in-bits='64' id='type-id-71'/> <!-- typedef __va_list_tag __va_list_tag* --> - <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-74'/> + <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-72'/> <!-- void* --> - <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-5'/> + <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-6'/> <!-- wchar_t* --> - <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-75'/> + <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-74'/> <!-- wchar_t** --> - <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/> + <!-- struct _IO_FILE --> + <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-21'/> <!-- class allocator<char> --> - <class-decl name='allocator<char>' visibility='default' is-declaration-only='yes' id='type-id-40'> + <class-decl name='allocator<char>' visibility='default' is-declaration-only='yes' id='type-id-39'> <member-type access='public'> <!-- typedef std::size_t allocator<char>::size_type --> - <typedef-decl name='size_type' type-id='type-id-78' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='95' column='1' id='type-id-77'/> + <typedef-decl name='size_type' type-id='type-id-76' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='95' column='1' id='type-id-77'/> </member-type> <member-type access='public'> <!-- typedef std::ptrdiff_t allocator<char>::difference_type --> - <typedef-decl name='difference_type' type-id='type-id-80' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='96' column='1' id='type-id-79'/> - </member-type> - <member-type access='public'> - <!-- typedef char& allocator<char>::reference --> - <typedef-decl name='reference' type-id='type-id-37' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='99' column='1' id='type-id-81'/> - </member-type> - <member-type access='public'> - <!-- typedef const char& allocator<char>::const_reference --> - <typedef-decl name='const_reference' type-id='type-id-45' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='100' column='1' id='type-id-82'/> + <typedef-decl name='difference_type' type-id='type-id-78' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='96' column='1' id='type-id-79'/> </member-type> <member-type access='public'> <!-- typedef char* allocator<char>::pointer --> - <typedef-decl name='pointer' type-id='type-id-38' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='97' column='1' id='type-id-83'/> + <typedef-decl name='pointer' type-id='type-id-37' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='97' column='1' id='type-id-80'/> </member-type> <member-type access='public'> <!-- typedef const char* allocator<char>::const_pointer --> - <typedef-decl name='const_pointer' type-id='type-id-30' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='98' column='1' id='type-id-84'/> + <typedef-decl name='const_pointer' type-id='type-id-24' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='98' column='1' id='type-id-81'/> + </member-type> + <member-type access='public'> + <!-- typedef char& allocator<char>::reference --> + <typedef-decl name='reference' type-id='type-id-36' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='99' column='1' id='type-id-82'/> + </member-type> + <member-type access='public'> + <!-- typedef const char& allocator<char>::const_reference --> + <typedef-decl name='const_reference' type-id='type-id-44' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='100' column='1' id='type-id-83'/> </member-type> </class-decl> <!-- struct char_traits<char> --> - <class-decl name='char_traits<char>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-85'> + <class-decl name='char_traits<char>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-84'> <member-type access='public'> <!-- typedef char char_traits<char>::char_type --> - <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/include/c++/4.8.2/bits/char_traits.h' line='235' column='1' id='type-id-86'/> + <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/include/c++/4.8.2/bits/char_traits.h' line='235' column='1' id='type-id-85'/> </member-type> </class-decl> <!-- struct rebind<char> --> - <class-decl name='rebind<char>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-87'> + <class-decl name='rebind<char>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-86'> <member-type access='public'> <!-- typedef allocator<char> rebind<char>::other --> - <typedef-decl name='other' type-id='type-id-40' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='105' column='1' id='type-id-88'/> + <typedef-decl name='other' type-id='type-id-39' filepath='/usr/include/c++/4.8.2/bits/allocator.h' line='105' column='1' id='type-id-87'/> </member-type> </class-decl> <!-- namespace __gnu_cxx --> <namespace-decl name='__gnu_cxx'> + <!-- class __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> + <class-decl name='__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-88'/> <!-- class __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> <class-decl name='__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-89'/> - <!-- class __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> - <class-decl name='__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-90'/> </namespace-decl> <!-- namespace std --> <namespace-decl name='std'> <!-- typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::string --> - <typedef-decl name='string' type-id='type-id-52' filepath='/usr/include/c++/4.8.2/bits/stringfwd.h' line='62' column='1' id='type-id-73'/> + <typedef-decl name='string' type-id='type-id-51' filepath='/usr/include/c++/4.8.2/bits/stringfwd.h' line='62' column='1' id='type-id-70'/> </namespace-decl> <!-- namespace std --> <namespace-decl name='std'> <!-- class std::basic_string<char, std::char_traits<char>, std::allocator<char> > --> - <class-decl name='basic_string<char, std::char_traits<char>, std::allocator<char> >' size-in-bits='64' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='112' column='1' id='type-id-52'> - <member-type access='public'> - <!-- typedef allocator<char>::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type --> - <typedef-decl name='size_type' type-id='type-id-77' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='121' column='1' id='type-id-58'/> - </member-type> + <class-decl name='basic_string<char, std::char_traits<char>, std::allocator<char> >' size-in-bits='64' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='112' column='1' id='type-id-51'> <member-type access='private'> <!-- typedef rebind<char>::other std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_CharT_alloc_type --> - <typedef-decl name='_CharT_alloc_type' type-id='type-id-88' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='114' column='1' id='type-id-91'/> + <typedef-decl name='_CharT_alloc_type' type-id='type-id-87' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='114' column='1' id='type-id-90'/> </member-type> <member-type access='public'> <!-- typedef char_traits<char> std::basic_string<char, std::char_traits<char>, std::allocator<char> >::traits_type --> - <typedef-decl name='traits_type' type-id='type-id-85' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='118' column='1' id='type-id-92'/> + <typedef-decl name='traits_type' type-id='type-id-84' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='118' column='1' id='type-id-91'/> </member-type> <member-type access='public'> <!-- typedef char_traits<char>::char_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::value_type --> - <typedef-decl name='value_type' type-id='type-id-86' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='119' column='1' id='type-id-93'/> + <typedef-decl name='value_type' type-id='type-id-85' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='119' column='1' id='type-id-92'/> </member-type> <member-type access='public'> <!-- typedef allocator<char> std::basic_string<char, std::char_traits<char>, std::allocator<char> >::allocator_type --> - <typedef-decl name='allocator_type' type-id='type-id-40' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='120' column='1' id='type-id-94'/> + <typedef-decl name='allocator_type' type-id='type-id-39' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='120' column='1' id='type-id-93'/> + </member-type> + <member-type access='public'> + <!-- typedef allocator<char>::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type --> + <typedef-decl name='size_type' type-id='type-id-77' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='121' column='1' id='type-id-57'/> </member-type> <member-type access='public'> <!-- typedef allocator<char>::difference_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::difference_type --> - <typedef-decl name='difference_type' type-id='type-id-79' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='122' column='1' id='type-id-95'/> + <typedef-decl name='difference_type' type-id='type-id-79' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='122' column='1' id='type-id-94'/> </member-type> <member-type access='public'> <!-- typedef allocator<char>::reference std::basic_string<char, std::char_traits<char>, std::allocator<char> >::reference --> - <typedef-decl name='reference' type-id='type-id-81' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='123' column='1' id='type-id-96'/> + <typedef-decl name='reference' type-id='type-id-82' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='123' column='1' id='type-id-95'/> </member-type> <member-type access='public'> <!-- typedef allocator<char>::const_reference std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_reference --> - <typedef-decl name='const_reference' type-id='type-id-82' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='124' column='1' id='type-id-97'/> + <typedef-decl name='const_reference' type-id='type-id-83' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='124' column='1' id='type-id-96'/> </member-type> <member-type access='public'> <!-- typedef allocator<char>::pointer std::basic_string<char, std::char_traits<char>, std::allocator<char> >::pointer --> - <typedef-decl name='pointer' type-id='type-id-83' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='125' column='1' id='type-id-98'/> + <typedef-decl name='pointer' type-id='type-id-80' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='125' column='1' id='type-id-97'/> </member-type> <member-type access='public'> <!-- typedef allocator<char>::const_pointer std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_pointer --> - <typedef-decl name='const_pointer' type-id='type-id-84' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='126' column='1' id='type-id-99'/> + <typedef-decl name='const_pointer' type-id='type-id-81' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='126' column='1' id='type-id-98'/> </member-type> <member-type access='public'> <!-- typedef __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::iterator --> - <typedef-decl name='iterator' type-id='type-id-89' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='127' column='1' id='type-id-100'/> + <typedef-decl name='iterator' type-id='type-id-89' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='127' column='1' id='type-id-99'/> </member-type> <member-type access='public'> <!-- typedef __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_iterator --> - <typedef-decl name='const_iterator' type-id='type-id-90' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='129' column='1' id='type-id-101'/> + <typedef-decl name='const_iterator' type-id='type-id-88' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='129' column='1' id='type-id-100'/> </member-type> <member-type access='public'> <!-- typedef std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_reverse_iterator --> - <typedef-decl name='const_reverse_iterator' type-id='type-id-103' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='130' column='1' id='type-id-102'/> + <typedef-decl name='const_reverse_iterator' type-id='type-id-101' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='130' column='1' id='type-id-102'/> </member-type> <member-type access='public'> <!-- typedef std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::reverse_iterator --> - <typedef-decl name='reverse_iterator' type-id='type-id-105' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='131' column='1' id='type-id-104'/> + <typedef-decl name='reverse_iterator' type-id='type-id-103' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='131' column='1' id='type-id-104'/> </member-type> <member-type access='private'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider --> - <class-decl name='_Alloc_hider' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-106'> + <class-decl name='_Alloc_hider' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-105'> <member-function access='public' constructor='yes'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider() --> <function-decl name='_Alloc_hider' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='274' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> </class-decl> </member-type> <member-type access='private'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base --> - <class-decl name='_Rep_base' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-107'/> + <class-decl name='_Rep_base' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-106'/> </member-type> <member-type access='private'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep --> - <class-decl name='_Rep' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-56'> + <class-decl name='_Rep' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-55'> <data-member access='public' static='yes'> <!-- static const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_max_size --> - <var-decl name='_S_max_size' type-id='type-id-59' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='50' column='1'/> + <var-decl name='_S_max_size' type-id='type-id-58' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='50' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const char std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_terminal --> - <var-decl name='_S_terminal' type-id='type-id-44' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='55' column='1'/> + <var-decl name='_S_terminal' type-id='type-id-43' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='55' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static unsigned long int std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage[] --> @@ -378,127 +376,127 @@ </member-type> <data-member access='public' static='yes'> <!-- static const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::npos --> - <var-decl name='npos' type-id='type-id-59' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='285' column='1'/> + <var-decl name='npos' type-id='type-id-58' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='285' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='0'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dataplus --> - <var-decl name='_M_dataplus' type-id='type-id-106' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='289' column='1'/> + <var-decl name='_M_dataplus' type-id='type-id-105' visibility='default' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='289' column='1'/> </data-member> <member-function access='public'> <!-- void std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string() --> <function-decl name='basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='437' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> <member-function access='public'> <!-- void std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(const allocator<char>&) --> <function-decl name='basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='177' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- parameter of type 'const allocator<char>&' --> - <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> <member-function access='public'> <!-- void std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) --> <function-decl name='basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='169' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- parameter of type 'const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&' --> - <parameter type-id='type-id-54'/> + <parameter type-id='type-id-53'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> <member-function access='public'> <!-- void std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type, std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type) --> <function-decl name='basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='183' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- parameter of type 'const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&' --> - <parameter type-id='type-id-54'/> + <parameter type-id='type-id-53'/> <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' --> - <parameter type-id='type-id-58'/> + <parameter type-id='type-id-57'/> <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' --> - <parameter type-id='type-id-58'/> + <parameter type-id='type-id-57'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> <member-function access='public'> <!-- void std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type, std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type, const allocator<char>&) --> <function-decl name='basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='193' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- parameter of type 'const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&' --> - <parameter type-id='type-id-54'/> + <parameter type-id='type-id-53'/> <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' --> - <parameter type-id='type-id-58'/> + <parameter type-id='type-id-57'/> <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' --> - <parameter type-id='type-id-58'/> + <parameter type-id='type-id-57'/> <!-- parameter of type 'const allocator<char>&' --> - <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> <member-function access='public'> <!-- void std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type, const allocator<char>&) --> <function-decl name='basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='205' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-30'/> + <parameter type-id='type-id-24'/> <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' --> - <parameter type-id='type-id-58'/> + <parameter type-id='type-id-57'/> <!-- parameter of type 'const allocator<char>&' --> - <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> <member-function access='public'> <!-- void std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(const char*, const allocator<char>&) --> <function-decl name='basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='212' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-30'/> + <parameter type-id='type-id-24'/> <!-- parameter of type 'const allocator<char>&' --> - <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> <member-function access='public'> <!-- void std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type, char, const allocator<char>&) --> <function-decl name='basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.tcc' line='219' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' --> - <parameter type-id='type-id-58'/> + <parameter type-id='type-id-57'/> <!-- parameter of type 'char' --> <parameter type-id='type-id-2'/> <!-- parameter of type 'const allocator<char>&' --> - <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> <member-function access='public' destructor='yes'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string(int) --> <function-decl name='~basic_string' filepath='/usr/include/c++/4.8.2/bits/basic_string.h' line='538' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' --> - <parameter type-id='type-id-68' is-artificial='yes'/> + <parameter type-id='type-id-67' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> <parameter type-id='type-id-9' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </member-function> </class-decl> @@ -506,517 +504,408 @@ <!-- namespace std --> <namespace-decl name='std'> <!-- typedef unsigned long int std::size_t --> - <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h' line='1857' column='1' id='type-id-78'/> + <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h' line='1857' column='1' id='type-id-76'/> <!-- typedef long int std::ptrdiff_t --> - <typedef-decl name='ptrdiff_t' type-id='type-id-11' filepath='/usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h' line='1858' column='1' id='type-id-80'/> + <typedef-decl name='ptrdiff_t' type-id='type-id-11' filepath='/usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h' line='1858' column='1' id='type-id-78'/> <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> - <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-103'/> + <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-101'/> <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> - <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-105'/> + <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-103'/> </namespace-decl> + <!-- void emit(std::string&) --> + <function-decl name='emit' mangled-name='_Z4emitRSs' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-first-tu.cc' line='12' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z4emitRSs'> + <!-- parameter of type 'std::string&' --> + <parameter type-id='type-id-71' name='s' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-first-tu.cc' line='12' column='1'/> + <!-- void --> + <return type-id='type-id-73'/> + </function-decl> <!-- namespace __gnu_cxx --> <namespace-decl name='__gnu_cxx'> + <!-- struct __gnu_cxx::__numeric_traits_integer<char> --> + <class-decl name='__numeric_traits_integer<char>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-107'> + <data-member access='public' static='yes'> + <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__min --> + <var-decl name='__min' type-id='type-id-43' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__max --> + <var-decl name='__max' type-id='type-id-43' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const bool __gnu_cxx::__numeric_traits_integer<char>::__is_signed --> + <var-decl name='__is_signed' type-id='type-id-42' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const int __gnu_cxx::__numeric_traits_integer<char>::__digits --> + <var-decl name='__digits' type-id='type-id-46' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> + </data-member> + </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<int> --> <class-decl name='__numeric_traits_integer<int>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-108'> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__min --> - <var-decl name='__min' type-id='type-id-47' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-46' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__max --> - <var-decl name='__max' type-id='type-id-47' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-46' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-43' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-42' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__digits --> - <var-decl name='__digits' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-46' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> + </data-member> + </class-decl> + <!-- struct __gnu_cxx::__numeric_traits_integer<long int> --> + <class-decl name='__numeric_traits_integer<long int>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-109'> + <data-member access='public' static='yes'> + <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__min --> + <var-decl name='__min' type-id='type-id-47' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__max --> + <var-decl name='__max' type-id='type-id-47' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const bool __gnu_cxx::__numeric_traits_integer<long int>::__is_signed --> + <var-decl name='__is_signed' type-id='type-id-42' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const int __gnu_cxx::__numeric_traits_integer<long int>::__digits --> + <var-decl name='__digits' type-id='type-id-46' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<long unsigned int> --> - <class-decl name='__numeric_traits_integer<long unsigned int>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-109'> + <class-decl name='__numeric_traits_integer<long unsigned int>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-110'> <data-member access='public' static='yes'> <!-- static const unsigned long int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__min --> - <var-decl name='__min' type-id='type-id-62' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-61' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const unsigned long int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__max --> - <var-decl name='__max' type-id='type-id-62' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-61' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<long unsigned int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-43' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-42' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__digits --> - <var-decl name='__digits' type-id='type-id-47' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> - </data-member> - </class-decl> - <!-- struct __gnu_cxx::__numeric_traits_integer<char> --> - <class-decl name='__numeric_traits_integer<char>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-110'> - <data-member access='public' static='yes'> - <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__min --> - <var-decl name='__min' type-id='type-id-44' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__max --> - <var-decl name='__max' type-id='type-id-44' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const bool __gnu_cxx::__numeric_traits_integer<char>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-43' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int __gnu_cxx::__numeric_traits_integer<char>::__digits --> - <var-decl name='__digits' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-46' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<short int> --> <class-decl name='__numeric_traits_integer<short int>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-111'> <data-member access='public' static='yes'> <!-- static const short int __gnu_cxx::__numeric_traits_integer<short int>::__min --> - <var-decl name='__min' type-id='type-id-51' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-50' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const short int __gnu_cxx::__numeric_traits_integer<short int>::__max --> - <var-decl name='__max' type-id='type-id-51' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-50' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<short int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-43' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-42' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<short int>::__digits --> - <var-decl name='__digits' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> - </data-member> - </class-decl> - <!-- struct __gnu_cxx::__numeric_traits_integer<long int> --> - <class-decl name='__numeric_traits_integer<long int>' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-112'> - <data-member access='public' static='yes'> - <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__min --> - <var-decl name='__min' type-id='type-id-48' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='58' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__max --> - <var-decl name='__max' type-id='type-id-48' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='59' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const bool __gnu_cxx::__numeric_traits_integer<long int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-43' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='63' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int __gnu_cxx::__numeric_traits_integer<long int>::__digits --> - <var-decl name='__digits' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-46' visibility='default' filepath='/usr/include/c++/4.8.2/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> </namespace-decl> - <!-- wint_t btowc(int) --> - <function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- char* setlocale(int, const char*) --> + <function-decl name='setlocale' filepath='/usr/include/locale.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'int' --> <parameter type-id='type-id-9'/> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-24'/> + <!-- char* --> + <return type-id='type-id-37'/> </function-decl> - <!-- wint_t fgetwc(__FILE*) --> - <function-decl name='fgetwc' filepath='/usr/include/wchar.h' line='745' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> + <!-- __anonymous_struct__* localeconv() --> + <function-decl name='localeconv' filepath='/usr/include/locale.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- __anonymous_struct__* --> + <return type-id='type-id-35'/> </function-decl> - <!-- wchar_t* fgetws(wchar_t*, int, __FILE*) --> - <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- wchar_t* wcscpy(wchar_t*, const wchar_t*) --> + <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-9'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> <!-- wchar_t* --> - <return type-id='type-id-75'/> + <return type-id='type-id-74'/> </function-decl> - <!-- wint_t fputwc(wchar_t, __FILE*) --> - <function-decl name='fputwc' filepath='/usr/include/wchar.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-20'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> - </function-decl> - <!-- int fputws(const wchar_t*, __FILE*) --> - <function-decl name='fputws' filepath='/usr/include/wchar.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int fwide(__FILE*, int) --> - <function-decl name='fwide' filepath='/usr/include/wchar.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-9'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int fwprintf(__FILE*, const wchar_t*, ...) --> - <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int fwscanf(__FILE*, const wchar_t*, ...) --> - <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- wint_t getwc(__FILE*) --> - <function-decl name='getwc' filepath='/usr/include/wchar.h' line='746' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> - </function-decl> - <!-- wint_t getwchar() --> - <function-decl name='getwchar' filepath='/usr/include/wchar.h' line='752' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> - </function-decl> - <!-- size_t mbrlen(const char*, size_t, mbstate_t*) --> - <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-30'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-66'/> - <!-- typedef size_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*) --> - <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-30'/> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-66'/> - <!-- typedef size_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- int mbsinit(const mbstate_t*) --> - <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const mbstate_t*' --> - <parameter type-id='type-id-50'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*) --> - <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'const char**' --> - <parameter type-id='type-id-46'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-66'/> - <!-- typedef size_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- wint_t putwc(wchar_t, __FILE*) --> - <function-decl name='putwc' filepath='/usr/include/wchar.h' line='760' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-20'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> - </function-decl> - <!-- wint_t putwchar(wchar_t) --> - <function-decl name='putwchar' filepath='/usr/include/wchar.h' line='766' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-20'/> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> - </function-decl> - <!-- int swprintf(wchar_t*, size_t, const wchar_t*, ...) --> - <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int swscanf(const wchar_t*, const wchar_t*, ...) --> - <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- wint_t ungetwc(wint_t, __FILE*) --> - <function-decl name='ungetwc' filepath='/usr/include/wchar.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-21'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> - </function-decl> - <!-- int vfwprintf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-74'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int vfwscanf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-74'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int vswprintf(wchar_t*, size_t, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-74'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int vswscanf(const wchar_t*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-74'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int vwprintf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-74'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int vwscanf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-74'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- size_t wcrtomb(char*, wchar_t, mbstate_t*) --> - <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-38'/> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-20'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-66'/> - <!-- typedef size_t --> - <return type-id='type-id-24'/> + <parameter type-id='type-id-32'/> + <!-- wchar_t* --> + <return type-id='type-id-74'/> </function-decl> <!-- wchar_t* wcscat(wchar_t*, const wchar_t*) --> <function-decl name='wcscat' filepath='/usr/include/wchar.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> + <parameter type-id='type-id-74'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- wchar_t* --> - <return type-id='type-id-75'/> + <return type-id='type-id-74'/> + </function-decl> + <!-- wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- wchar_t* --> + <return type-id='type-id-74'/> </function-decl> <!-- int wcscmp(const wchar_t*, const wchar_t*) --> <function-decl name='wcscmp' filepath='/usr/include/wchar.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int wcsncmp(const wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> <!-- int --> <return type-id='type-id-9'/> </function-decl> <!-- int wcscoll(const wchar_t*, const wchar_t*) --> <function-decl name='wcscoll' filepath='/usr/include/wchar.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- int --> <return type-id='type-id-9'/> </function-decl> - <!-- wchar_t* wcscpy(wchar_t*, const wchar_t*) --> - <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- size_t wcsxfrm(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> + <parameter type-id='type-id-74'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- wchar_t* --> - <return type-id='type-id-75'/> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- typedef size_t --> + <return type-id='type-id-32'/> </function-decl> <!-- size_t wcscspn(const wchar_t*, const wchar_t*) --> <function-decl name='wcscspn' filepath='/usr/include/wchar.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- typedef size_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- size_t wcsftime(wchar_t*, size_t, const wchar_t*, const tm*) --> - <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='855' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'const tm*' --> - <parameter type-id='type-id-61'/> - <!-- typedef size_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- size_t wcslen(const wchar_t*) --> - <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- typedef size_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- wchar_t* --> - <return type-id='type-id-75'/> - </function-decl> - <!-- int wcsncmp(const wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- wchar_t* --> - <return type-id='type-id-75'/> - </function-decl> - <!-- size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*) --> - <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-38'/> - <!-- parameter of type 'const wchar_t**' --> - <parameter type-id='type-id-65'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-66'/> - <!-- typedef size_t --> - <return type-id='type-id-24'/> + <return type-id='type-id-32'/> </function-decl> <!-- size_t wcsspn(const wchar_t*, const wchar_t*) --> <function-decl name='wcsspn' filepath='/usr/include/wchar.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- typedef size_t --> - <return type-id='type-id-24'/> + <return type-id='type-id-32'/> + </function-decl> + <!-- wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**) --> + <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'wchar_t**' --> + <parameter type-id='type-id-75'/> + <!-- wchar_t* --> + <return type-id='type-id-74'/> + </function-decl> + <!-- size_t wcslen(const wchar_t*) --> + <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- typedef size_t --> + <return type-id='type-id-32'/> + </function-decl> + <!-- int wmemcmp(const wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- wchar_t* --> + <return type-id='type-id-74'/> + </function-decl> + <!-- wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- wchar_t* --> + <return type-id='type-id-74'/> + </function-decl> + <!-- wchar_t* wmemset(wchar_t*, wchar_t, size_t) --> + <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='338' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-19'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- wchar_t* --> + <return type-id='type-id-74'/> + </function-decl> + <!-- wint_t btowc(int) --> + <function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-9'/> + <!-- typedef wint_t --> + <return type-id='type-id-33'/> + </function-decl> + <!-- int wctob(wint_t) --> + <function-decl name='wctob' filepath='/usr/include/wchar.h' line='357' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-33'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int mbsinit(const mbstate_t*) --> + <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const mbstate_t*' --> + <parameter type-id='type-id-49'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*) --> + <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-24'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-65'/> + <!-- typedef size_t --> + <return type-id='type-id-32'/> + </function-decl> + <!-- size_t wcrtomb(char*, wchar_t, mbstate_t*) --> + <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-19'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-65'/> + <!-- typedef size_t --> + <return type-id='type-id-32'/> + </function-decl> + <!-- size_t mbrlen(const char*, size_t, mbstate_t*) --> + <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-24'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-65'/> + <!-- typedef size_t --> + <return type-id='type-id-32'/> + </function-decl> + <!-- size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*) --> + <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'const char**' --> + <parameter type-id='type-id-45'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-65'/> + <!-- typedef size_t --> + <return type-id='type-id-32'/> + </function-decl> + <!-- size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*) --> + <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'const wchar_t**' --> + <parameter type-id='type-id-64'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-65'/> + <!-- typedef size_t --> + <return type-id='type-id-32'/> </function-decl> <!-- double wcstod(const wchar_t*, wchar_t**) --> <function-decl name='wcstod' filepath='/usr/include/wchar.h' line='450' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-76'/> + <parameter type-id='type-id-75'/> <!-- double --> <return type-id='type-id-7'/> </function-decl> <!-- float wcstof(const wchar_t*, wchar_t**) --> <function-decl name='wcstof' filepath='/usr/include/wchar.h' line='457' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-76'/> + <parameter type-id='type-id-75'/> <!-- float --> <return type-id='type-id-8'/> </function-decl> - <!-- wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**) --> - <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> + <!-- long double wcstold(const wchar_t*, wchar_t**) --> + <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-76'/> - <!-- wchar_t* --> - <return type-id='type-id-75'/> + <parameter type-id='type-id-75'/> + <!-- long double --> + <return type-id='type-id-10'/> </function-decl> <!-- long int wcstol(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstol' filepath='/usr/include/wchar.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-76'/> + <parameter type-id='type-id-75'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-9'/> <!-- long int --> @@ -1025,107 +914,20 @@ <!-- unsigned long int wcstoul(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoul' filepath='/usr/include/wchar.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-76'/> + <parameter type-id='type-id-75'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-9'/> <!-- unsigned long int --> <return type-id='type-id-15'/> </function-decl> - <!-- size_t wcsxfrm(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- typedef size_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- int wctob(wint_t) --> - <function-decl name='wctob' filepath='/usr/include/wchar.h' line='357' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-21'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int wmemcmp(const wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- wchar_t* --> - <return type-id='type-id-75'/> - </function-decl> - <!-- wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- wchar_t* --> - <return type-id='type-id-75'/> - </function-decl> - <!-- wchar_t* wmemset(wchar_t*, wchar_t, size_t) --> - <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='338' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-75'/> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-20'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-24'/> - <!-- wchar_t* --> - <return type-id='type-id-75'/> - </function-decl> - <!-- int wprintf(const wchar_t*, ...) --> - <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- int wscanf(const wchar_t*, ...) --> - <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-9'/> - </function-decl> - <!-- long double wcstold(const wchar_t*, wchar_t**) --> - <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> - <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-76'/> - <!-- long double --> - <return type-id='type-id-10'/> - </function-decl> <!-- long long int wcstoll(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoll' filepath='/usr/include/wchar.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-76'/> + <parameter type-id='type-id-75'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-9'/> <!-- long long int --> @@ -1134,79 +936,275 @@ <!-- long long unsigned int wcstoull(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoull' filepath='/usr/include/wchar.h' line='490' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-64'/> + <parameter type-id='type-id-63'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-76'/> + <parameter type-id='type-id-75'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-9'/> <!-- long long unsigned int --> <return type-id='type-id-13'/> </function-decl> - <!-- char* setlocale(int, const char*) --> - <function-decl name='setlocale' filepath='/usr/include/locale.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- int fwide(__FILE*, int) --> + <function-decl name='fwide' filepath='/usr/include/wchar.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-9'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-30'/> - <!-- char* --> - <return type-id='type-id-38'/> - </function-decl> - <!-- __anonymous_struct__1* localeconv() --> - <function-decl name='localeconv' filepath='/usr/include/locale.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- __anonymous_struct__1* --> - <return type-id='type-id-36'/> - </function-decl> - <!-- int iswctype(wint_t, wctype_t) --> - <function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-21'/> - <!-- parameter of type 'typedef wctype_t' --> - <parameter type-id='type-id-31'/> <!-- int --> <return type-id='type-id-9'/> </function-decl> - <!-- wint_t towctrans(wint_t, wctrans_t) --> - <function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-21'/> - <!-- parameter of type 'typedef wctrans_t' --> - <parameter type-id='type-id-33'/> - <!-- typedef wint_t --> - <return type-id='type-id-21'/> + <!-- int fwprintf(__FILE*, const wchar_t*, ...) --> + <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-9'/> </function-decl> - <!-- wctrans_t wctrans(const char*) --> - <function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-30'/> - <!-- typedef wctrans_t --> + <!-- int wprintf(const wchar_t*, ...) --> + <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int swprintf(wchar_t*, size_t, const wchar_t*, ...) --> + <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int vfwprintf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-72'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int vwprintf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-72'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int vswprintf(wchar_t*, size_t, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-72'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int fwscanf(__FILE*, const wchar_t*, ...) --> + <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int wscanf(const wchar_t*, ...) --> + <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int swscanf(const wchar_t*, const wchar_t*, ...) --> + <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int vfwscanf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-72'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int vwscanf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-72'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- int vswscanf(const wchar_t*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-72'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- wint_t fgetwc(__FILE*) --> + <function-decl name='fgetwc' filepath='/usr/include/wchar.h' line='745' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- typedef wint_t --> <return type-id='type-id-33'/> </function-decl> + <!-- wint_t getwc(__FILE*) --> + <function-decl name='getwc' filepath='/usr/include/wchar.h' line='746' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- typedef wint_t --> + <return type-id='type-id-33'/> + </function-decl> + <!-- wint_t getwchar() --> + <function-decl name='getwchar' filepath='/usr/include/wchar.h' line='752' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- typedef wint_t --> + <return type-id='type-id-33'/> + </function-decl> + <!-- wint_t fputwc(wchar_t, __FILE*) --> + <function-decl name='fputwc' filepath='/usr/include/wchar.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-19'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- typedef wint_t --> + <return type-id='type-id-33'/> + </function-decl> + <!-- wint_t putwc(wchar_t, __FILE*) --> + <function-decl name='putwc' filepath='/usr/include/wchar.h' line='760' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-19'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- typedef wint_t --> + <return type-id='type-id-33'/> + </function-decl> + <!-- wint_t putwchar(wchar_t) --> + <function-decl name='putwchar' filepath='/usr/include/wchar.h' line='766' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-19'/> + <!-- typedef wint_t --> + <return type-id='type-id-33'/> + </function-decl> + <!-- wchar_t* fgetws(wchar_t*, int, __FILE*) --> + <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-9'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- wchar_t* --> + <return type-id='type-id-74'/> + </function-decl> + <!-- int fputws(const wchar_t*, __FILE*) --> + <function-decl name='fputws' filepath='/usr/include/wchar.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- wint_t ungetwc(wint_t, __FILE*) --> + <function-decl name='ungetwc' filepath='/usr/include/wchar.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-33'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-34'/> + <!-- typedef wint_t --> + <return type-id='type-id-33'/> + </function-decl> + <!-- size_t wcsftime(wchar_t*, size_t, const wchar_t*, const tm*) --> + <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='855' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-74'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-32'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-63'/> + <!-- parameter of type 'const tm*' --> + <parameter type-id='type-id-60'/> + <!-- typedef size_t --> + <return type-id='type-id-32'/> + </function-decl> <!-- wctype_t wctype(const char*) --> <function-decl name='wctype' filepath='/usr/include/wctype.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-30'/> + <parameter type-id='type-id-24'/> <!-- typedef wctype_t --> + <return type-id='type-id-29'/> + </function-decl> + <!-- int iswctype(wint_t, wctype_t) --> + <function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-33'/> + <!-- parameter of type 'typedef wctype_t' --> + <parameter type-id='type-id-29'/> + <!-- int --> + <return type-id='type-id-9'/> + </function-decl> + <!-- wctrans_t wctrans(const char*) --> + <function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-24'/> + <!-- typedef wctrans_t --> <return type-id='type-id-31'/> </function-decl> - <!-- void emit(std::string&) --> - <function-decl name='emit' mangled-name='_Z4emitRSs' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-first-tu.cc' line='12' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z4emitRSs'> - <!-- parameter of type 'std::string&' --> - <parameter type-id='type-id-72' name='s' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-first-tu.cc' line='12' column='1'/> - <!-- void --> - <return type-id='type-id-19'/> + <!-- wint_t towctrans(wint_t, wctrans_t) --> + <function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-33'/> + <!-- parameter of type 'typedef wctrans_t' --> + <parameter type-id='type-id-31'/> + <!-- typedef wint_t --> + <return type-id='type-id-33'/> </function-decl> - <!-- struct _IO_FILE --> - <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-22'/> + <!-- void --> + <type-decl name='void' id='type-id-73'/> </abi-instr> <abi-instr address-size='64' path='test23-second-tu.cc' comp-dir-path='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf' language='LANG_C_plus_plus'> <!-- void emit(std::string&, std::string&) --> <function-decl name='emit' mangled-name='_Z4emitRSsS_' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-second-tu.cc' line='13' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z4emitRSsS_'> <!-- parameter of type 'std::string&' --> - <parameter type-id='type-id-72' name='prefix' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-second-tu.cc' line='13' column='1'/> + <parameter type-id='type-id-71' name='prefix' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-second-tu.cc' line='13' column='1'/> <!-- parameter of type 'std::string&' --> - <parameter type-id='type-id-72' name='s' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-second-tu.cc' line='13' column='1'/> + <parameter type-id='type-id-71' name='s' filepath='/home/dodji/git/libabigail/PR20369/tests/data/test-read-dwarf/test23-second-tu.cc' line='13' column='1'/> <!-- void --> - <return type-id='type-id-19'/> + <return type-id='type-id-73'/> </function-decl> </abi-instr> </abi-corpus>
diff --git a/tests/data/test-annotate/libtest24-drop-fns-2.so.abi b/tests/data/test-annotate/libtest24-drop-fns-2.so.abi index 36cb46a..0cdc04a 100644 --- a/tests/data/test-annotate/libtest24-drop-fns-2.so.abi +++ b/tests/data/test-annotate/libtest24-drop-fns-2.so.abi
@@ -1,4 +1,4 @@ -<abi-corpus version='2.0' architecture='elf-amd-x86_64'> +<abi-corpus version='2.1' architecture='elf-amd-x86_64'> <elf-needed> <dependency name='libgcc_s.so.1'/> <dependency name='libc.so.6'/> @@ -75,134 +75,53 @@ </array-type-def> <!-- variadic parameter type --> <type-decl name='variadic parameter type' id='type-id-20'/> - <!-- void --> - <type-decl name='void' id='type-id-21'/> <!-- wchar_t --> - <type-decl name='wchar_t' size-in-bits='32' id='type-id-22'/> + <type-decl name='wchar_t' size-in-bits='32' id='type-id-21'/> + <!-- typedef int __int32_t --> + <typedef-decl name='__int32_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-22'/> <!-- typedef int _Atomic_word --> <typedef-decl name='_Atomic_word' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/atomic_word.h' line='32' column='1' id='type-id-23'/> - <!-- typedef unsigned int wint_t --> - <typedef-decl name='wint_t' type-id='type-id-7' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='357' column='1' id='type-id-24'/> - <!-- typedef _IO_FILE __FILE --> - <typedef-decl name='__FILE' type-id='type-id-25' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-26'/> - <!-- typedef unsigned long int size_t --> - <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='216' column='1' id='type-id-27'/> - <!-- typedef __mbstate_t mbstate_t --> - <typedef-decl name='mbstate_t' type-id='type-id-28' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-29'/> - <!-- typedef __anonymous_struct__ __mbstate_t --> - <typedef-decl name='__mbstate_t' type-id='type-id-30' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-28'/> - <!-- struct {int __count; union {unsigned int __wch; char __wchb[4];} __value;} --> - <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-28' visibility='default' filepath='/usr/include/wchar.h' line='83' column='1' id='type-id-30'> - <member-type access='public'> - <!-- union {unsigned int __wch; char __wchb[4];} --> - <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/wchar.h' line='86' column='1' id='type-id-31'> - <data-member access='public'> - <!-- unsigned int __wch --> - <var-decl name='__wch' type-id='type-id-7' visibility='default' filepath='/usr/include/wchar.h' line='88' column='1'/> - </data-member> - <data-member access='public'> - <!-- char __wchb[4] --> - <var-decl name='__wchb' type-id='type-id-3' visibility='default' filepath='/usr/include/wchar.h' line='92' column='1'/> - </data-member> - </union-decl> - </member-type> - <data-member access='public' layout-offset-in-bits='0'> - <!-- int __count --> - <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- union {unsigned int __wch; char __wchb[4];} __value --> - <var-decl name='__value' type-id='type-id-31' visibility='default' filepath='/usr/include/wchar.h' line='93' column='1'/> - </data-member> - </class-decl> - <!-- struct tm --> - <class-decl name='tm' size-in-bits='448' is-struct='yes' visibility='default' filepath='/usr/include/time.h' line='133' column='1' id='type-id-32'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- int tm::tm_sec --> - <var-decl name='tm_sec' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- int tm::tm_min --> - <var-decl name='tm_min' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='136' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- int tm::tm_hour --> - <var-decl name='tm_hour' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='137' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- int tm::tm_mday --> - <var-decl name='tm_mday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='138' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int tm::tm_mon --> - <var-decl name='tm_mon' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='139' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int tm::tm_year --> - <var-decl name='tm_year' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='140' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- int tm::tm_wday --> - <var-decl name='tm_wday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='141' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- int tm::tm_yday --> - <var-decl name='tm_yday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='142' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int tm::tm_isdst --> - <var-decl name='tm_isdst' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='143' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- long int tm::tm_gmtoff --> - <var-decl name='tm_gmtoff' type-id='type-id-13' visibility='default' filepath='/usr/include/time.h' line='146' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- const char* tm::tm_zone --> - <var-decl name='tm_zone' type-id='type-id-33' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/> - </data-member> - </class-decl> <!-- struct lconv --> - <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' filepath='/usr/include/locale.h' line='53' column='1' id='type-id-34'> + <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' filepath='/usr/include/locale.h' line='53' column='1' id='type-id-24'> <data-member access='public' layout-offset-in-bits='0'> <!-- char* lconv::decimal_point --> - <var-decl name='decimal_point' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='57' column='1'/> + <var-decl name='decimal_point' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='57' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- char* lconv::thousands_sep --> - <var-decl name='thousands_sep' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='58' column='1'/> + <var-decl name='thousands_sep' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='58' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- char* lconv::grouping --> - <var-decl name='grouping' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='64' column='1'/> + <var-decl name='grouping' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='64' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- char* lconv::int_curr_symbol --> - <var-decl name='int_curr_symbol' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='70' column='1'/> + <var-decl name='int_curr_symbol' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='70' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- char* lconv::currency_symbol --> - <var-decl name='currency_symbol' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='71' column='1'/> + <var-decl name='currency_symbol' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='71' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- char* lconv::mon_decimal_point --> - <var-decl name='mon_decimal_point' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='72' column='1'/> + <var-decl name='mon_decimal_point' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='72' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='384'> <!-- char* lconv::mon_thousands_sep --> - <var-decl name='mon_thousands_sep' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='73' column='1'/> + <var-decl name='mon_thousands_sep' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='73' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='448'> <!-- char* lconv::mon_grouping --> - <var-decl name='mon_grouping' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='74' column='1'/> + <var-decl name='mon_grouping' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='74' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='512'> <!-- char* lconv::positive_sign --> - <var-decl name='positive_sign' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='75' column='1'/> + <var-decl name='positive_sign' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='75' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='576'> <!-- char* lconv::negative_sign --> - <var-decl name='negative_sign' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='76' column='1'/> + <var-decl name='negative_sign' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='76' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='640'> <!-- char lconv::int_frac_digits --> @@ -261,183 +180,266 @@ <var-decl name='int_n_sign_posn' type-id='type-id-2' visibility='default' filepath='/usr/include/locale.h' line='111' column='1'/> </data-member> </class-decl> + <!-- typedef _IO_FILE __FILE --> + <typedef-decl name='__FILE' type-id='type-id-26' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-27'/> + <!-- struct tm --> + <class-decl name='tm' size-in-bits='448' is-struct='yes' visibility='default' filepath='/usr/include/time.h' line='133' column='1' id='type-id-28'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- int tm::tm_sec --> + <var-decl name='tm_sec' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- int tm::tm_min --> + <var-decl name='tm_min' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- int tm::tm_hour --> + <var-decl name='tm_hour' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <!-- int tm::tm_mday --> + <var-decl name='tm_mday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- int tm::tm_mon --> + <var-decl name='tm_mon' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='139' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <!-- int tm::tm_year --> + <var-decl name='tm_year' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- int tm::tm_wday --> + <var-decl name='tm_wday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='141' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <!-- int tm::tm_yday --> + <var-decl name='tm_yday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- int tm::tm_isdst --> + <var-decl name='tm_isdst' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- long int tm::tm_gmtoff --> + <var-decl name='tm_gmtoff' type-id='type-id-13' visibility='default' filepath='/usr/include/time.h' line='146' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- const char* tm::tm_zone --> + <var-decl name='tm_zone' type-id='type-id-29' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/> + </data-member> + </class-decl> + <!-- struct __mbstate_t --> + <class-decl name='__mbstate_t' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-30' visibility='default' filepath='/usr/include/wchar.h' line='83' column='1' id='type-id-31'> + <member-type access='public'> + <!-- union {unsigned int __wch; char __wchb[4];} --> + <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/wchar.h' line='86' column='1' id='type-id-32'> + <data-member access='public'> + <!-- unsigned int __wch --> + <var-decl name='__wch' type-id='type-id-7' visibility='default' filepath='/usr/include/wchar.h' line='88' column='1'/> + </data-member> + <data-member access='public'> + <!-- char __wchb[4] --> + <var-decl name='__wchb' type-id='type-id-3' visibility='default' filepath='/usr/include/wchar.h' line='92' column='1'/> + </data-member> + </union-decl> + </member-type> + <data-member access='public' layout-offset-in-bits='0'> + <!-- int __mbstate_t::__count --> + <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- union {unsigned int __wch; char __wchb[4];} __mbstate_t::__value --> + <var-decl name='__value' type-id='type-id-32' visibility='default' filepath='/usr/include/wchar.h' line='93' column='1'/> + </data-member> + </class-decl> + <!-- typedef __mbstate_t __mbstate_t --> + <typedef-decl name='__mbstate_t' type-id='type-id-31' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-30'/> + <!-- typedef __mbstate_t mbstate_t --> + <typedef-decl name='mbstate_t' type-id='type-id-30' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-33'/> <!-- typedef unsigned long int wctype_t --> - <typedef-decl name='wctype_t' type-id='type-id-17' filepath='/usr/include/wctype.h' line='52' column='1' id='type-id-36'/> + <typedef-decl name='wctype_t' type-id='type-id-17' filepath='/usr/include/wctype.h' line='52' column='1' id='type-id-34'/> <!-- typedef const __int32_t* wctrans_t --> - <typedef-decl name='wctrans_t' type-id='type-id-37' filepath='/usr/include/wctype.h' line='186' column='1' id='type-id-38'/> - <!-- typedef int __int32_t --> - <typedef-decl name='__int32_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-39'/> + <typedef-decl name='wctrans_t' type-id='type-id-35' filepath='/usr/include/wctype.h' line='186' column='1' id='type-id-36'/> + <!-- typedef unsigned long int size_t --> + <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='216' column='1' id='type-id-37'/> + <!-- typedef unsigned int wint_t --> + <typedef-decl name='wint_t' type-id='type-id-7' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='357' column='1' id='type-id-38'/> <!-- __FILE* --> - <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-40'/> + <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-39'/> <!-- __gnu_cxx::new_allocator<char>* --> - <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/> + <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-41'/> <!-- char& --> - <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-43'/> + <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-42'/> <!-- char* --> - <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-35'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-25'/> <!-- const __gnu_cxx::new_allocator<char> --> - <qualified-type-def type-id='type-id-41' const='yes' id='type-id-44'/> + <qualified-type-def type-id='type-id-40' const='yes' id='type-id-43'/> <!-- const __gnu_cxx::new_allocator<char>& --> - <reference-type-def kind='lvalue' type-id='type-id-44' size-in-bits='64' id='type-id-45'/> + <reference-type-def kind='lvalue' type-id='type-id-43' size-in-bits='64' id='type-id-44'/> <!-- const __gnu_cxx::new_allocator<char>* --> - <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-46'/> + <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-45'/> <!-- const __int32_t --> - <qualified-type-def type-id='type-id-39' const='yes' id='type-id-47'/> + <qualified-type-def type-id='type-id-22' const='yes' id='type-id-46'/> <!-- const __int32_t* --> - <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-37'/> + <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-35'/> <!-- const bool --> - <qualified-type-def type-id='type-id-1' const='yes' id='type-id-48'/> + <qualified-type-def type-id='type-id-1' const='yes' id='type-id-47'/> <!-- const char --> - <qualified-type-def type-id='type-id-2' const='yes' id='type-id-49'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-48'/> <!-- const char& --> - <reference-type-def kind='lvalue' type-id='type-id-49' size-in-bits='64' id='type-id-50'/> + <reference-type-def kind='lvalue' type-id='type-id-48' size-in-bits='64' id='type-id-49'/> <!-- const char* --> - <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-33'/> + <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-29'/> <!-- const char** --> - <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-51'/> + <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/> <!-- const int --> - <qualified-type-def type-id='type-id-11' const='yes' id='type-id-52'/> + <qualified-type-def type-id='type-id-11' const='yes' id='type-id-51'/> <!-- const long int --> - <qualified-type-def type-id='type-id-13' const='yes' id='type-id-53'/> + <qualified-type-def type-id='type-id-13' const='yes' id='type-id-52'/> <!-- const mbstate_t --> - <qualified-type-def type-id='type-id-29' const='yes' id='type-id-54'/> + <qualified-type-def type-id='type-id-33' const='yes' id='type-id-53'/> <!-- const mbstate_t* --> - <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/> + <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-54'/> <!-- const short int --> - <qualified-type-def type-id='type-id-16' const='yes' id='type-id-56'/> + <qualified-type-def type-id='type-id-16' const='yes' id='type-id-55'/> <!-- const std::allocator<char> --> - <qualified-type-def type-id='type-id-57' const='yes' id='type-id-58'/> + <qualified-type-def type-id='type-id-56' const='yes' id='type-id-57'/> <!-- const std::allocator<char>& --> - <reference-type-def kind='lvalue' type-id='type-id-58' size-in-bits='64' id='type-id-59'/> + <reference-type-def kind='lvalue' type-id='type-id-57' size-in-bits='64' id='type-id-58'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> > --> - <qualified-type-def type-id='type-id-60' const='yes' id='type-id-61'/> + <qualified-type-def type-id='type-id-59' const='yes' id='type-id-60'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >& --> - <qualified-type-def type-id='type-id-62' id='type-id-63'/> - <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >& --> - <reference-type-def kind='lvalue' type-id='type-id-61' size-in-bits='64' id='type-id-62'/> + <reference-type-def kind='lvalue' type-id='type-id-60' size-in-bits='64' id='type-id-61'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >* --> - <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-64'/> + <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-62'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep --> - <qualified-type-def type-id='type-id-65' const='yes' id='type-id-66'/> + <qualified-type-def type-id='type-id-63' const='yes' id='type-id-64'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep* --> - <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/> + <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type --> - <qualified-type-def type-id='type-id-68' const='yes' id='type-id-69'/> + <qualified-type-def type-id='type-id-66' const='yes' id='type-id-67'/> <!-- const std::char_traits<char>::char_type --> - <qualified-type-def type-id='type-id-70' const='yes' id='type-id-71'/> + <qualified-type-def type-id='type-id-68' const='yes' id='type-id-69'/> <!-- const std::char_traits<char>::char_type& --> - <reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-72'/> + <reference-type-def kind='lvalue' type-id='type-id-69' size-in-bits='64' id='type-id-70'/> <!-- const std::char_traits<char>::char_type* --> - <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-73'/> + <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-71'/> <!-- const std::char_traits<char>::int_type --> - <qualified-type-def type-id='type-id-74' const='yes' id='type-id-75'/> + <qualified-type-def type-id='type-id-72' const='yes' id='type-id-73'/> <!-- const std::char_traits<char>::int_type& --> - <reference-type-def kind='lvalue' type-id='type-id-75' size-in-bits='64' id='type-id-76'/> + <reference-type-def kind='lvalue' type-id='type-id-73' size-in-bits='64' id='type-id-74'/> <!-- const std::string --> - <qualified-type-def type-id='type-id-77' const='yes' id='type-id-78'/> + <qualified-type-def type-id='type-id-75' const='yes' id='type-id-76'/> <!-- const std::string& --> - <qualified-type-def type-id='type-id-79' id='type-id-80'/> - <!-- const std::string& --> - <reference-type-def kind='lvalue' type-id='type-id-78' size-in-bits='64' id='type-id-79'/> + <reference-type-def kind='lvalue' type-id='type-id-76' size-in-bits='64' id='type-id-77'/> <!-- const tm --> - <qualified-type-def type-id='type-id-32' const='yes' id='type-id-81'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-78'/> <!-- const tm* --> - <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/> + <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/> <!-- const unsigned long int --> - <qualified-type-def type-id='type-id-17' const='yes' id='type-id-83'/> + <qualified-type-def type-id='type-id-17' const='yes' id='type-id-80'/> <!-- const wchar_t --> - <qualified-type-def type-id='type-id-22' const='yes' id='type-id-84'/> + <qualified-type-def type-id='type-id-21' const='yes' id='type-id-81'/> <!-- const wchar_t* --> - <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/> + <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/> <!-- const wchar_t** --> - <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-86'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/> <!-- lconv* --> - <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-87'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-84'/> <!-- mbstate_t* --> - <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-88'/> + <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-85'/> <!-- std::allocator<char>* --> - <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-89'/> + <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-86'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >& --> - <reference-type-def kind='lvalue' type-id='type-id-60' size-in-bits='64' id='type-id-90'/> + <reference-type-def kind='lvalue' type-id='type-id-59' size-in-bits='64' id='type-id-87'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >* --> - <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-91'/> + <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-88'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider* --> - <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/> + <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep& --> - <reference-type-def kind='lvalue' type-id='type-id-65' size-in-bits='64' id='type-id-94'/> + <reference-type-def kind='lvalue' type-id='type-id-63' size-in-bits='64' id='type-id-91'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep* --> - <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-95'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-92'/> <!-- std::char_traits<char>::char_type& --> - <reference-type-def kind='lvalue' type-id='type-id-70' size-in-bits='64' id='type-id-96'/> + <reference-type-def kind='lvalue' type-id='type-id-68' size-in-bits='64' id='type-id-93'/> <!-- std::char_traits<char>::char_type* --> - <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-97'/> + <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-94'/> <!-- std::ostream* --> - <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-99'/> + <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-96'/> <!-- typedef __va_list_tag __va_list_tag* --> - <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-100'/> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-97'/> <!-- void* --> - <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-8'/> + <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-8'/> <!-- wchar_t* --> - <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-101'/> + <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-99'/> <!-- wchar_t** --> - <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-102'/> + <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-100'/> + <!-- struct _IO_FILE --> + <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-26'/> <!-- namespace std --> <namespace-decl name='std'> + <!-- class std::allocator<char> --> + <class-decl name='allocator<char>' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' id='type-id-56'> + <!-- class __gnu_cxx::new_allocator<char> --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-40'/> + <member-type access='public'> + <!-- typedef std::size_t std::allocator<char>::size_type --> + <typedef-decl name='size_type' type-id='type-id-101' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' id='type-id-102'/> + </member-type> + <member-type access='public'> + <!-- typedef char& std::allocator<char>::reference --> + <typedef-decl name='reference' type-id='type-id-42' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' id='type-id-103'/> + </member-type> + <member-type access='public'> + <!-- typedef const char& std::allocator<char>::const_reference --> + <typedef-decl name='const_reference' type-id='type-id-49' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' id='type-id-104'/> + </member-type> + </class-decl> <!-- class std::basic_string<char, std::char_traits<char>, std::allocator<char> > --> - <class-decl name='basic_string<char, std::char_traits<char>, std::allocator<char> >' size-in-bits='64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' id='type-id-60'> - <member-type access='private'> - <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider --> - <class-decl name='_Alloc_hider' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' id='type-id-92'> - <!-- class std::allocator<char> --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-57'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- char* std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_M_p --> - <var-decl name='_M_p' type-id='type-id-35' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2675' column='1'/> - </data-member> - </class-decl> + <class-decl name='basic_string<char, std::char_traits<char>, std::allocator<char> >' size-in-bits='64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' id='type-id-59'> + <member-type access='public'> + <!-- typedef std::allocator<char> std::basic_string<char, std::char_traits<char>, std::allocator<char> >::allocator_type --> + <typedef-decl name='allocator_type' type-id='type-id-56' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-105'/> </member-type> <member-type access='public'> <!-- typedef std::allocator<char>::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type --> - <typedef-decl name='size_type' type-id='type-id-103' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' id='type-id-68'/> - </member-type> - <member-type access='public'> - <!-- typedef std::allocator<char> std::basic_string<char, std::char_traits<char>, std::allocator<char> >::allocator_type --> - <typedef-decl name='allocator_type' type-id='type-id-57' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-104'/> + <typedef-decl name='size_type' type-id='type-id-102' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' id='type-id-66'/> </member-type> <member-type access='public'> <!-- typedef std::allocator<char>::reference std::basic_string<char, std::char_traits<char>, std::allocator<char> >::reference --> - <typedef-decl name='reference' type-id='type-id-106' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' id='type-id-105'/> + <typedef-decl name='reference' type-id='type-id-103' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' id='type-id-106'/> </member-type> <member-type access='public'> <!-- typedef std::allocator<char>::const_reference std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_reference --> - <typedef-decl name='const_reference' type-id='type-id-108' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' id='type-id-107'/> + <typedef-decl name='const_reference' type-id='type-id-104' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' id='type-id-107'/> </member-type> <member-type access='public'> <!-- typedef __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::iterator --> - <typedef-decl name='iterator' type-id='type-id-110' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-109'/> + <typedef-decl name='iterator' type-id='type-id-108' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-109'/> </member-type> <member-type access='public'> <!-- typedef __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_iterator --> - <typedef-decl name='const_iterator' type-id='type-id-112' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-111'/> + <typedef-decl name='const_iterator' type-id='type-id-110' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-111'/> </member-type> <member-type access='public'> <!-- typedef std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_reverse_iterator --> - <typedef-decl name='const_reverse_iterator' type-id='type-id-114' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-113'/> + <typedef-decl name='const_reverse_iterator' type-id='type-id-112' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-113'/> </member-type> <member-type access='public'> <!-- typedef std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::reverse_iterator --> - <typedef-decl name='reverse_iterator' type-id='type-id-116' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-115'/> + <typedef-decl name='reverse_iterator' type-id='type-id-114' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-115'/> </member-type> <member-type access='private'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base --> - <class-decl name='_Rep_base' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' id='type-id-117'> + <class-decl name='_Rep_base' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' id='type-id-116'> <data-member access='public' layout-offset-in-bits='0'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base::_M_length --> - <var-decl name='_M_length' type-id='type-id-68' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2548' column='1'/> + <var-decl name='_M_length' type-id='type-id-66' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2548' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base::_M_capacity --> - <var-decl name='_M_capacity' type-id='type-id-68' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2549' column='1'/> + <var-decl name='_M_capacity' type-id='type-id-66' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2549' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- _Atomic_word std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base::_M_refcount --> @@ -447,16 +449,16 @@ </member-type> <member-type access='private'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep --> - <class-decl name='_Rep' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' id='type-id-65'> + <class-decl name='_Rep' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' id='type-id-63'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-117'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-116'/> <data-member access='public' static='yes'> <!-- static const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_max_size --> - <var-decl name='_S_max_size' type-id='type-id-69' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='494' column='1'/> + <var-decl name='_S_max_size' type-id='type-id-67' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='494' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const char std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_terminal --> - <var-decl name='_S_terminal' type-id='type-id-49' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='499' column='1'/> + <var-decl name='_S_terminal' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='499' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static unsigned long int std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage[] --> @@ -464,604 +466,496 @@ </data-member> </class-decl> </member-type> + <member-type access='private'> + <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider --> + <class-decl name='_Alloc_hider' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' id='type-id-89'> + <!-- class std::allocator<char> --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-56'/> + <data-member access='public' layout-offset-in-bits='0'> + <!-- char* std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_M_p --> + <var-decl name='_M_p' type-id='type-id-25' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2675' column='1'/> + </data-member> + </class-decl> + </member-type> <data-member access='public' static='yes'> <!-- static const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::npos --> - <var-decl name='npos' type-id='type-id-69' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2683' column='1'/> + <var-decl name='npos' type-id='type-id-67' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2683' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='0'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dataplus --> - <var-decl name='_M_dataplus' type-id='type-id-92' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/> + <var-decl name='_M_dataplus' type-id='type-id-89' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/> </data-member> </class-decl> - <!-- class std::allocator<char> --> - <class-decl name='allocator<char>' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' id='type-id-57'> - <!-- class __gnu_cxx::new_allocator<char> --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-41'/> - <member-type access='public'> - <!-- typedef std::size_t std::allocator<char>::size_type --> - <typedef-decl name='size_type' type-id='type-id-118' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' id='type-id-103'/> - </member-type> - <member-type access='public'> - <!-- typedef char& std::allocator<char>::reference --> - <typedef-decl name='reference' type-id='type-id-43' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' id='type-id-106'/> - </member-type> - <member-type access='public'> - <!-- typedef const char& std::allocator<char>::const_reference --> - <typedef-decl name='const_reference' type-id='type-id-50' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' id='type-id-108'/> - </member-type> - </class-decl> - <!-- typedef unsigned long int std::size_t --> - <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' id='type-id-118'/> <!-- struct std::char_traits<char> --> - <class-decl name='char_traits<char>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' id='type-id-119'> + <class-decl name='char_traits<char>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' id='type-id-117'> <member-type access='public'> <!-- typedef char std::char_traits<char>::char_type --> - <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' id='type-id-70'/> + <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' id='type-id-68'/> </member-type> <member-type access='public'> <!-- typedef int std::char_traits<char>::int_type --> - <typedef-decl name='int_type' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' id='type-id-74'/> + <typedef-decl name='int_type' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' id='type-id-72'/> </member-type> <member-function access='public' static='yes'> <!-- std::size_t std::char_traits<char>::length() --> <function-decl name='length' mangled-name='_ZNSt11char_traitsIcE6lengthEPKc' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11char_traitsIcE6lengthEPKc'> <!-- parameter of type 'const std::char_traits<char>::char_type*' --> - <parameter type-id='type-id-73'/> + <parameter type-id='type-id-71'/> <!-- typedef std::size_t --> - <return type-id='type-id-118'/> + <return type-id='type-id-101'/> </function-decl> </member-function> </class-decl> <!-- typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::string --> - <typedef-decl name='string' type-id='type-id-60' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-77'/> + <typedef-decl name='string' type-id='type-id-59' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-75'/> <!-- typedef std::basic_ostream<char, std::char_traits<char> > std::ostream --> - <typedef-decl name='ostream' type-id='type-id-120' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-98'/> - <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> - <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-114'/> - <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> - <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-116'/> + <typedef-decl name='ostream' type-id='type-id-118' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-95'/> + <!-- typedef unsigned long int std::size_t --> + <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' id='type-id-101'/> <!-- class std::basic_ostream<char, std::char_traits<char> > --> - <class-decl name='basic_ostream<char, std::char_traits<char> >' visibility='default' is-declaration-only='yes' id='type-id-120'/> + <class-decl name='basic_ostream<char, std::char_traits<char> >' visibility='default' is-declaration-only='yes' id='type-id-118'/> + <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> + <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-112'/> + <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> + <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-114'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(const char*, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) --> <function-decl name='operator+<char, std::char_traits<char>, std::allocator<char> >' mangled-name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33' name='__lhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1'/> + <parameter type-id='type-id-29' name='__lhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1'/> <!-- parameter of type 'const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&' --> - <parameter type-id='type-id-63' name='__rhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1152' column='1'/> + <parameter type-id='type-id-61' name='__rhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1152' column='1'/> <!-- class std::basic_string<char, std::char_traits<char>, std::allocator<char> > --> - <return type-id='type-id-60'/> + <return type-id='type-id-59'/> </function-decl> </namespace-decl> + <!-- std::string foo(const std::string&) --> + <function-decl name='foo' mangled-name='_Z3fooRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooRKSs'> + <!-- parameter of type 'const std::string&' --> + <parameter type-id='type-id-77' name='s' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1'/> + <!-- typedef std::string --> + <return type-id='type-id-75'/> + </function-decl> + <!-- std::ostream* bar(const std::string&) --> + <function-decl name='bar' mangled-name='_Z3barRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3barRKSs'> + <!-- parameter of type 'const std::string&' --> + <parameter type-id='type-id-77' name='str' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1'/> + <!-- std::ostream* --> + <return type-id='type-id-96'/> + </function-decl> <!-- namespace __gnu_cxx --> <namespace-decl name='__gnu_cxx'> <!-- class __gnu_cxx::new_allocator<char> --> - <class-decl name='new_allocator<char>' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='58' column='1' id='type-id-41'> + <class-decl name='new_allocator<char>' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='58' column='1' id='type-id-40'> <member-type access='public'> <!-- typedef std::size_t __gnu_cxx::new_allocator<char>::size_type --> - <typedef-decl name='size_type' type-id='type-id-118' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' id='type-id-121'/> + <typedef-decl name='size_type' type-id='type-id-101' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' id='type-id-119'/> </member-type> <member-type access='public'> <!-- typedef char* __gnu_cxx::new_allocator<char>::pointer --> - <typedef-decl name='pointer' type-id='type-id-35' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' id='type-id-122'/> + <typedef-decl name='pointer' type-id='type-id-25' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' id='type-id-120'/> </member-type> <member-type access='public'> <!-- typedef const char* __gnu_cxx::new_allocator<char>::const_pointer --> - <typedef-decl name='const_pointer' type-id='type-id-33' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' id='type-id-123'/> + <typedef-decl name='const_pointer' type-id='type-id-29' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' id='type-id-121'/> </member-type> <member-type access='public'> <!-- typedef char& __gnu_cxx::new_allocator<char>::reference --> - <typedef-decl name='reference' type-id='type-id-43' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' id='type-id-124'/> + <typedef-decl name='reference' type-id='type-id-42' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' id='type-id-122'/> </member-type> <member-type access='public'> <!-- typedef const char& __gnu_cxx::new_allocator<char>::const_reference --> - <typedef-decl name='const_reference' type-id='type-id-50' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' id='type-id-125'/> + <typedef-decl name='const_reference' type-id='type-id-49' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' id='type-id-123'/> </member-type> </class-decl> + <!-- struct __gnu_cxx::__numeric_traits_integer<char> --> + <class-decl name='__numeric_traits_integer<char>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-124'> + <data-member access='public' static='yes'> + <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__min --> + <var-decl name='__min' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__max --> + <var-decl name='__max' type-id='type-id-48' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const bool __gnu_cxx::__numeric_traits_integer<char>::__is_signed --> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const int __gnu_cxx::__numeric_traits_integer<char>::__digits --> + <var-decl name='__digits' type-id='type-id-51' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + </data-member> + </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<int> --> - <class-decl name='__numeric_traits_integer<int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-126'> + <class-decl name='__numeric_traits_integer<int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-125'> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__min --> - <var-decl name='__min' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-51' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__max --> - <var-decl name='__max' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-51' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__digits --> - <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-51' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + </data-member> + </class-decl> + <!-- struct __gnu_cxx::__numeric_traits_integer<long int> --> + <class-decl name='__numeric_traits_integer<long int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-126'> + <data-member access='public' static='yes'> + <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__min --> + <var-decl name='__min' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__max --> + <var-decl name='__max' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const bool __gnu_cxx::__numeric_traits_integer<long int>::__is_signed --> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const int __gnu_cxx::__numeric_traits_integer<long int>::__digits --> + <var-decl name='__digits' type-id='type-id-51' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<long unsigned int> --> <class-decl name='__numeric_traits_integer<long unsigned int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-127'> <data-member access='public' static='yes'> <!-- static const unsigned long int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__min --> - <var-decl name='__min' type-id='type-id-83' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-80' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const unsigned long int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__max --> - <var-decl name='__max' type-id='type-id-83' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-80' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<long unsigned int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__digits --> - <var-decl name='__digits' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> - </data-member> - </class-decl> - <!-- struct __gnu_cxx::__numeric_traits_integer<char> --> - <class-decl name='__numeric_traits_integer<char>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-128'> - <data-member access='public' static='yes'> - <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__min --> - <var-decl name='__min' type-id='type-id-49' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__max --> - <var-decl name='__max' type-id='type-id-49' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const bool __gnu_cxx::__numeric_traits_integer<char>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int __gnu_cxx::__numeric_traits_integer<char>::__digits --> - <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-51' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<short int> --> - <class-decl name='__numeric_traits_integer<short int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-129'> + <class-decl name='__numeric_traits_integer<short int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-128'> <data-member access='public' static='yes'> <!-- static const short int __gnu_cxx::__numeric_traits_integer<short int>::__min --> - <var-decl name='__min' type-id='type-id-56' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-55' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const short int __gnu_cxx::__numeric_traits_integer<short int>::__max --> - <var-decl name='__max' type-id='type-id-56' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-55' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<short int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<short int>::__digits --> - <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-51' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> - <!-- struct __gnu_cxx::__numeric_traits_integer<long int> --> - <class-decl name='__numeric_traits_integer<long int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-130'> - <data-member access='public' static='yes'> - <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__min --> - <var-decl name='__min' type-id='type-id-53' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__max --> - <var-decl name='__max' type-id='type-id-53' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const bool __gnu_cxx::__numeric_traits_integer<long int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int __gnu_cxx::__numeric_traits_integer<long int>::__digits --> - <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> - </data-member> - </class-decl> - <!-- class __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> - <class-decl name='__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-110'/> <!-- class __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> - <class-decl name='__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-112'/> + <class-decl name='__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-110'/> + <!-- class __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> + <class-decl name='__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-108'/> </namespace-decl> - <!-- wint_t btowc(int) --> - <function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- char* setlocale(int, const char*) --> + <function-decl name='setlocale' filepath='/usr/include/locale.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-29'/> + <!-- char* --> + <return type-id='type-id-25'/> </function-decl> - <!-- wint_t fgetwc(__FILE*) --> - <function-decl name='fgetwc' filepath='/usr/include/wchar.h' line='745' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> + <!-- lconv* localeconv() --> + <function-decl name='localeconv' filepath='/usr/include/locale.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- lconv* --> + <return type-id='type-id-84'/> </function-decl> - <!-- wchar_t* fgetws(wchar_t*, int, __FILE*) --> - <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- wchar_t* wcscpy(wchar_t*, const wchar_t*) --> + <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> <!-- wchar_t* --> - <return type-id='type-id-101'/> + <return type-id='type-id-99'/> </function-decl> - <!-- wint_t fputwc(wchar_t, __FILE*) --> - <function-decl name='fputwc' filepath='/usr/include/wchar.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- int fputws(const wchar_t*, __FILE*) --> - <function-decl name='fputws' filepath='/usr/include/wchar.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int fwide(__FILE*, int) --> - <function-decl name='fwide' filepath='/usr/include/wchar.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int fwprintf(__FILE*, const wchar_t*, ...) --> - <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int fwscanf(__FILE*, const wchar_t*, ...) --> - <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- wint_t getwc(__FILE*) --> - <function-decl name='getwc' filepath='/usr/include/wchar.h' line='746' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- wint_t getwchar() --> - <function-decl name='getwchar' filepath='/usr/include/wchar.h' line='752' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- size_t mbrlen(const char*, size_t, mbstate_t*) --> - <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*) --> - <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- int mbsinit(const mbstate_t*) --> - <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const mbstate_t*' --> - <parameter type-id='type-id-55'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*) --> - <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const char**' --> - <parameter type-id='type-id-51'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- wint_t putwc(wchar_t, __FILE*) --> - <function-decl name='putwc' filepath='/usr/include/wchar.h' line='760' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- wint_t putwchar(wchar_t) --> - <function-decl name='putwchar' filepath='/usr/include/wchar.h' line='766' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- int swprintf(wchar_t*, size_t, const wchar_t*, ...) --> - <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int swscanf(const wchar_t*, const wchar_t*, ...) --> - <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- wint_t ungetwc(wint_t, __FILE*) --> - <function-decl name='ungetwc' filepath='/usr/include/wchar.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- int vfwprintf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vfwscanf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vswprintf(wchar_t*, size_t, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vswscanf(const wchar_t*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vwprintf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vwscanf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- size_t wcrtomb(char*, wchar_t, mbstate_t*) --> - <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> </function-decl> <!-- wchar_t* wcscat(wchar_t*, const wchar_t*) --> <function-decl name='wcscat' filepath='/usr/include/wchar.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> + <parameter type-id='type-id-99'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- wchar_t* --> - <return type-id='type-id-101'/> + <return type-id='type-id-99'/> + </function-decl> + <!-- wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> </function-decl> <!-- int wcscmp(const wchar_t*, const wchar_t*) --> <function-decl name='wcscmp' filepath='/usr/include/wchar.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int wcsncmp(const wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> <!-- int --> <return type-id='type-id-11'/> </function-decl> <!-- int wcscoll(const wchar_t*, const wchar_t*) --> <function-decl name='wcscoll' filepath='/usr/include/wchar.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- int --> <return type-id='type-id-11'/> </function-decl> - <!-- wchar_t* wcscpy(wchar_t*, const wchar_t*) --> - <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- size_t wcsxfrm(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> + <parameter type-id='type-id-99'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> </function-decl> <!-- size_t wcscspn(const wchar_t*, const wchar_t*) --> <function-decl name='wcscspn' filepath='/usr/include/wchar.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- size_t wcsftime(wchar_t*, size_t, const wchar_t*, const tm*) --> - <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='855' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const tm*' --> <parameter type-id='type-id-82'/> <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- size_t wcslen(const wchar_t*) --> - <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- int wcsncmp(const wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*) --> - <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'const wchar_t**' --> - <parameter type-id='type-id-86'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> + <return type-id='type-id-37'/> </function-decl> <!-- size_t wcsspn(const wchar_t*, const wchar_t*) --> <function-decl name='wcsspn' filepath='/usr/include/wchar.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**) --> + <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'wchar_t**' --> + <parameter type-id='type-id-100'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- size_t wcslen(const wchar_t*) --> + <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- int wmemcmp(const wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- wchar_t* wmemset(wchar_t*, wchar_t, size_t) --> + <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='338' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- wint_t btowc(int) --> + <function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-11'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- int wctob(wint_t) --> + <function-decl name='wctob' filepath='/usr/include/wchar.h' line='357' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-38'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int mbsinit(const mbstate_t*) --> + <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const mbstate_t*' --> + <parameter type-id='type-id-54'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*) --> + <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-29'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'mbstate_t*' --> <parameter type-id='type-id-85'/> <!-- typedef size_t --> - <return type-id='type-id-27'/> + <return type-id='type-id-37'/> + </function-decl> + <!-- size_t wcrtomb(char*, wchar_t, mbstate_t*) --> + <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-85'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- size_t mbrlen(const char*, size_t, mbstate_t*) --> + <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-29'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-85'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*) --> + <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const char**' --> + <parameter type-id='type-id-50'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-85'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*) --> + <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'const wchar_t**' --> + <parameter type-id='type-id-83'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-85'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> </function-decl> <!-- double wcstod(const wchar_t*, wchar_t**) --> <function-decl name='wcstod' filepath='/usr/include/wchar.h' line='450' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- double --> <return type-id='type-id-9'/> </function-decl> <!-- float wcstof(const wchar_t*, wchar_t**) --> <function-decl name='wcstof' filepath='/usr/include/wchar.h' line='457' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- float --> <return type-id='type-id-10'/> </function-decl> - <!-- wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**) --> - <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> + <!-- long double wcstold(const wchar_t*, wchar_t**) --> + <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> + <parameter type-id='type-id-100'/> + <!-- long double --> + <return type-id='type-id-12'/> </function-decl> <!-- long int wcstol(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstol' filepath='/usr/include/wchar.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> <!-- long int --> @@ -1070,107 +964,20 @@ <!-- unsigned long int wcstoul(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoul' filepath='/usr/include/wchar.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> <!-- unsigned long int --> <return type-id='type-id-17'/> </function-decl> - <!-- size_t wcsxfrm(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- int wctob(wint_t) --> - <function-decl name='wctob' filepath='/usr/include/wchar.h' line='357' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-24'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int wmemcmp(const wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- wchar_t* wmemset(wchar_t*, wchar_t, size_t) --> - <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='338' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- int wprintf(const wchar_t*, ...) --> - <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int wscanf(const wchar_t*, ...) --> - <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- long double wcstold(const wchar_t*, wchar_t**) --> - <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> - <!-- long double --> - <return type-id='type-id-12'/> - </function-decl> <!-- long long int wcstoll(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoll' filepath='/usr/include/wchar.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> <!-- long long int --> @@ -1179,75 +986,264 @@ <!-- long long unsigned int wcstoull(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoull' filepath='/usr/include/wchar.h' line='490' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> <!-- long long unsigned int --> <return type-id='type-id-15'/> </function-decl> - <!-- char* setlocale(int, const char*) --> - <function-decl name='setlocale' filepath='/usr/include/locale.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- int fwide(__FILE*, int) --> + <function-decl name='fwide' filepath='/usr/include/wchar.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> - <!-- char* --> - <return type-id='type-id-35'/> - </function-decl> - <!-- lconv* localeconv() --> - <function-decl name='localeconv' filepath='/usr/include/locale.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- lconv* --> - <return type-id='type-id-87'/> - </function-decl> - <!-- int iswctype(wint_t, wctype_t) --> - <function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'typedef wctype_t' --> - <parameter type-id='type-id-36'/> <!-- int --> <return type-id='type-id-11'/> </function-decl> - <!-- wint_t towctrans(wint_t, wctrans_t) --> - <function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'typedef wctrans_t' --> - <parameter type-id='type-id-38'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> + <!-- int fwprintf(__FILE*, const wchar_t*, ...) --> + <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> </function-decl> - <!-- wctrans_t wctrans(const char*) --> - <function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> - <!-- typedef wctrans_t --> + <!-- int wprintf(const wchar_t*, ...) --> + <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int swprintf(wchar_t*, size_t, const wchar_t*, ...) --> + <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vfwprintf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vwprintf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vswprintf(wchar_t*, size_t, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int fwscanf(__FILE*, const wchar_t*, ...) --> + <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int wscanf(const wchar_t*, ...) --> + <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int swscanf(const wchar_t*, const wchar_t*, ...) --> + <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vfwscanf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vwscanf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vswscanf(const wchar_t*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- wint_t fgetwc(__FILE*) --> + <function-decl name='fgetwc' filepath='/usr/include/wchar.h' line='745' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> <return type-id='type-id-38'/> </function-decl> + <!-- wint_t getwc(__FILE*) --> + <function-decl name='getwc' filepath='/usr/include/wchar.h' line='746' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wint_t getwchar() --> + <function-decl name='getwchar' filepath='/usr/include/wchar.h' line='752' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wint_t fputwc(wchar_t, __FILE*) --> + <function-decl name='fputwc' filepath='/usr/include/wchar.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wint_t putwc(wchar_t, __FILE*) --> + <function-decl name='putwc' filepath='/usr/include/wchar.h' line='760' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wint_t putwchar(wchar_t) --> + <function-decl name='putwchar' filepath='/usr/include/wchar.h' line='766' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wchar_t* fgetws(wchar_t*, int, __FILE*) --> + <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-11'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- int fputws(const wchar_t*, __FILE*) --> + <function-decl name='fputws' filepath='/usr/include/wchar.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- wint_t ungetwc(wint_t, __FILE*) --> + <function-decl name='ungetwc' filepath='/usr/include/wchar.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- size_t wcsftime(wchar_t*, size_t, const wchar_t*, const tm*) --> + <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='855' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const tm*' --> + <parameter type-id='type-id-79'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> <!-- wctype_t wctype(const char*) --> <function-decl name='wctype' filepath='/usr/include/wctype.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> + <parameter type-id='type-id-29'/> <!-- typedef wctype_t --> + <return type-id='type-id-34'/> + </function-decl> + <!-- int iswctype(wint_t, wctype_t) --> + <function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef wctype_t' --> + <parameter type-id='type-id-34'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- wctrans_t wctrans(const char*) --> + <function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-29'/> + <!-- typedef wctrans_t --> <return type-id='type-id-36'/> </function-decl> - <!-- std::string foo(const std::string&) --> - <function-decl name='foo' mangled-name='_Z3fooRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooRKSs'> - <!-- parameter of type 'const std::string&' --> - <parameter type-id='type-id-80' name='s' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1'/> - <!-- typedef std::string --> - <return type-id='type-id-77'/> + <!-- wint_t towctrans(wint_t, wctrans_t) --> + <function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef wctrans_t' --> + <parameter type-id='type-id-36'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> </function-decl> - <!-- std::ostream* bar(const std::string&) --> - <function-decl name='bar' mangled-name='_Z3barRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3barRKSs'> - <!-- parameter of type 'const std::string&' --> - <parameter type-id='type-id-80' name='str' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1'/> - <!-- std::ostream* --> - <return type-id='type-id-99'/> - </function-decl> - <!-- struct _IO_FILE --> - <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/> + <!-- void --> + <type-decl name='void' id='type-id-98'/> </abi-instr> </abi-corpus>
diff --git a/tests/data/test-annotate/libtest24-drop-fns.so.abi b/tests/data/test-annotate/libtest24-drop-fns.so.abi index 36cb46a..0cdc04a 100644 --- a/tests/data/test-annotate/libtest24-drop-fns.so.abi +++ b/tests/data/test-annotate/libtest24-drop-fns.so.abi
@@ -1,4 +1,4 @@ -<abi-corpus version='2.0' architecture='elf-amd-x86_64'> +<abi-corpus version='2.1' architecture='elf-amd-x86_64'> <elf-needed> <dependency name='libgcc_s.so.1'/> <dependency name='libc.so.6'/> @@ -75,134 +75,53 @@ </array-type-def> <!-- variadic parameter type --> <type-decl name='variadic parameter type' id='type-id-20'/> - <!-- void --> - <type-decl name='void' id='type-id-21'/> <!-- wchar_t --> - <type-decl name='wchar_t' size-in-bits='32' id='type-id-22'/> + <type-decl name='wchar_t' size-in-bits='32' id='type-id-21'/> + <!-- typedef int __int32_t --> + <typedef-decl name='__int32_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-22'/> <!-- typedef int _Atomic_word --> <typedef-decl name='_Atomic_word' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/atomic_word.h' line='32' column='1' id='type-id-23'/> - <!-- typedef unsigned int wint_t --> - <typedef-decl name='wint_t' type-id='type-id-7' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='357' column='1' id='type-id-24'/> - <!-- typedef _IO_FILE __FILE --> - <typedef-decl name='__FILE' type-id='type-id-25' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-26'/> - <!-- typedef unsigned long int size_t --> - <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='216' column='1' id='type-id-27'/> - <!-- typedef __mbstate_t mbstate_t --> - <typedef-decl name='mbstate_t' type-id='type-id-28' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-29'/> - <!-- typedef __anonymous_struct__ __mbstate_t --> - <typedef-decl name='__mbstate_t' type-id='type-id-30' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-28'/> - <!-- struct {int __count; union {unsigned int __wch; char __wchb[4];} __value;} --> - <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-28' visibility='default' filepath='/usr/include/wchar.h' line='83' column='1' id='type-id-30'> - <member-type access='public'> - <!-- union {unsigned int __wch; char __wchb[4];} --> - <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/wchar.h' line='86' column='1' id='type-id-31'> - <data-member access='public'> - <!-- unsigned int __wch --> - <var-decl name='__wch' type-id='type-id-7' visibility='default' filepath='/usr/include/wchar.h' line='88' column='1'/> - </data-member> - <data-member access='public'> - <!-- char __wchb[4] --> - <var-decl name='__wchb' type-id='type-id-3' visibility='default' filepath='/usr/include/wchar.h' line='92' column='1'/> - </data-member> - </union-decl> - </member-type> - <data-member access='public' layout-offset-in-bits='0'> - <!-- int __count --> - <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- union {unsigned int __wch; char __wchb[4];} __value --> - <var-decl name='__value' type-id='type-id-31' visibility='default' filepath='/usr/include/wchar.h' line='93' column='1'/> - </data-member> - </class-decl> - <!-- struct tm --> - <class-decl name='tm' size-in-bits='448' is-struct='yes' visibility='default' filepath='/usr/include/time.h' line='133' column='1' id='type-id-32'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- int tm::tm_sec --> - <var-decl name='tm_sec' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- int tm::tm_min --> - <var-decl name='tm_min' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='136' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- int tm::tm_hour --> - <var-decl name='tm_hour' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='137' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- int tm::tm_mday --> - <var-decl name='tm_mday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='138' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int tm::tm_mon --> - <var-decl name='tm_mon' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='139' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int tm::tm_year --> - <var-decl name='tm_year' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='140' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- int tm::tm_wday --> - <var-decl name='tm_wday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='141' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- int tm::tm_yday --> - <var-decl name='tm_yday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='142' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int tm::tm_isdst --> - <var-decl name='tm_isdst' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='143' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- long int tm::tm_gmtoff --> - <var-decl name='tm_gmtoff' type-id='type-id-13' visibility='default' filepath='/usr/include/time.h' line='146' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- const char* tm::tm_zone --> - <var-decl name='tm_zone' type-id='type-id-33' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/> - </data-member> - </class-decl> <!-- struct lconv --> - <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' filepath='/usr/include/locale.h' line='53' column='1' id='type-id-34'> + <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' filepath='/usr/include/locale.h' line='53' column='1' id='type-id-24'> <data-member access='public' layout-offset-in-bits='0'> <!-- char* lconv::decimal_point --> - <var-decl name='decimal_point' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='57' column='1'/> + <var-decl name='decimal_point' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='57' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- char* lconv::thousands_sep --> - <var-decl name='thousands_sep' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='58' column='1'/> + <var-decl name='thousands_sep' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='58' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- char* lconv::grouping --> - <var-decl name='grouping' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='64' column='1'/> + <var-decl name='grouping' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='64' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- char* lconv::int_curr_symbol --> - <var-decl name='int_curr_symbol' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='70' column='1'/> + <var-decl name='int_curr_symbol' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='70' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- char* lconv::currency_symbol --> - <var-decl name='currency_symbol' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='71' column='1'/> + <var-decl name='currency_symbol' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='71' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- char* lconv::mon_decimal_point --> - <var-decl name='mon_decimal_point' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='72' column='1'/> + <var-decl name='mon_decimal_point' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='72' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='384'> <!-- char* lconv::mon_thousands_sep --> - <var-decl name='mon_thousands_sep' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='73' column='1'/> + <var-decl name='mon_thousands_sep' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='73' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='448'> <!-- char* lconv::mon_grouping --> - <var-decl name='mon_grouping' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='74' column='1'/> + <var-decl name='mon_grouping' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='74' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='512'> <!-- char* lconv::positive_sign --> - <var-decl name='positive_sign' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='75' column='1'/> + <var-decl name='positive_sign' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='75' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='576'> <!-- char* lconv::negative_sign --> - <var-decl name='negative_sign' type-id='type-id-35' visibility='default' filepath='/usr/include/locale.h' line='76' column='1'/> + <var-decl name='negative_sign' type-id='type-id-25' visibility='default' filepath='/usr/include/locale.h' line='76' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='640'> <!-- char lconv::int_frac_digits --> @@ -261,183 +180,266 @@ <var-decl name='int_n_sign_posn' type-id='type-id-2' visibility='default' filepath='/usr/include/locale.h' line='111' column='1'/> </data-member> </class-decl> + <!-- typedef _IO_FILE __FILE --> + <typedef-decl name='__FILE' type-id='type-id-26' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-27'/> + <!-- struct tm --> + <class-decl name='tm' size-in-bits='448' is-struct='yes' visibility='default' filepath='/usr/include/time.h' line='133' column='1' id='type-id-28'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- int tm::tm_sec --> + <var-decl name='tm_sec' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- int tm::tm_min --> + <var-decl name='tm_min' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- int tm::tm_hour --> + <var-decl name='tm_hour' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <!-- int tm::tm_mday --> + <var-decl name='tm_mday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- int tm::tm_mon --> + <var-decl name='tm_mon' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='139' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <!-- int tm::tm_year --> + <var-decl name='tm_year' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- int tm::tm_wday --> + <var-decl name='tm_wday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='141' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <!-- int tm::tm_yday --> + <var-decl name='tm_yday' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- int tm::tm_isdst --> + <var-decl name='tm_isdst' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- long int tm::tm_gmtoff --> + <var-decl name='tm_gmtoff' type-id='type-id-13' visibility='default' filepath='/usr/include/time.h' line='146' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- const char* tm::tm_zone --> + <var-decl name='tm_zone' type-id='type-id-29' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/> + </data-member> + </class-decl> + <!-- struct __mbstate_t --> + <class-decl name='__mbstate_t' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-30' visibility='default' filepath='/usr/include/wchar.h' line='83' column='1' id='type-id-31'> + <member-type access='public'> + <!-- union {unsigned int __wch; char __wchb[4];} --> + <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/wchar.h' line='86' column='1' id='type-id-32'> + <data-member access='public'> + <!-- unsigned int __wch --> + <var-decl name='__wch' type-id='type-id-7' visibility='default' filepath='/usr/include/wchar.h' line='88' column='1'/> + </data-member> + <data-member access='public'> + <!-- char __wchb[4] --> + <var-decl name='__wchb' type-id='type-id-3' visibility='default' filepath='/usr/include/wchar.h' line='92' column='1'/> + </data-member> + </union-decl> + </member-type> + <data-member access='public' layout-offset-in-bits='0'> + <!-- int __mbstate_t::__count --> + <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- union {unsigned int __wch; char __wchb[4];} __mbstate_t::__value --> + <var-decl name='__value' type-id='type-id-32' visibility='default' filepath='/usr/include/wchar.h' line='93' column='1'/> + </data-member> + </class-decl> + <!-- typedef __mbstate_t __mbstate_t --> + <typedef-decl name='__mbstate_t' type-id='type-id-31' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-30'/> + <!-- typedef __mbstate_t mbstate_t --> + <typedef-decl name='mbstate_t' type-id='type-id-30' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-33'/> <!-- typedef unsigned long int wctype_t --> - <typedef-decl name='wctype_t' type-id='type-id-17' filepath='/usr/include/wctype.h' line='52' column='1' id='type-id-36'/> + <typedef-decl name='wctype_t' type-id='type-id-17' filepath='/usr/include/wctype.h' line='52' column='1' id='type-id-34'/> <!-- typedef const __int32_t* wctrans_t --> - <typedef-decl name='wctrans_t' type-id='type-id-37' filepath='/usr/include/wctype.h' line='186' column='1' id='type-id-38'/> - <!-- typedef int __int32_t --> - <typedef-decl name='__int32_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-39'/> + <typedef-decl name='wctrans_t' type-id='type-id-35' filepath='/usr/include/wctype.h' line='186' column='1' id='type-id-36'/> + <!-- typedef unsigned long int size_t --> + <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='216' column='1' id='type-id-37'/> + <!-- typedef unsigned int wint_t --> + <typedef-decl name='wint_t' type-id='type-id-7' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='357' column='1' id='type-id-38'/> <!-- __FILE* --> - <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-40'/> + <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-39'/> <!-- __gnu_cxx::new_allocator<char>* --> - <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/> + <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-41'/> <!-- char& --> - <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-43'/> + <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-42'/> <!-- char* --> - <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-35'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-25'/> <!-- const __gnu_cxx::new_allocator<char> --> - <qualified-type-def type-id='type-id-41' const='yes' id='type-id-44'/> + <qualified-type-def type-id='type-id-40' const='yes' id='type-id-43'/> <!-- const __gnu_cxx::new_allocator<char>& --> - <reference-type-def kind='lvalue' type-id='type-id-44' size-in-bits='64' id='type-id-45'/> + <reference-type-def kind='lvalue' type-id='type-id-43' size-in-bits='64' id='type-id-44'/> <!-- const __gnu_cxx::new_allocator<char>* --> - <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-46'/> + <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-45'/> <!-- const __int32_t --> - <qualified-type-def type-id='type-id-39' const='yes' id='type-id-47'/> + <qualified-type-def type-id='type-id-22' const='yes' id='type-id-46'/> <!-- const __int32_t* --> - <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-37'/> + <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-35'/> <!-- const bool --> - <qualified-type-def type-id='type-id-1' const='yes' id='type-id-48'/> + <qualified-type-def type-id='type-id-1' const='yes' id='type-id-47'/> <!-- const char --> - <qualified-type-def type-id='type-id-2' const='yes' id='type-id-49'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-48'/> <!-- const char& --> - <reference-type-def kind='lvalue' type-id='type-id-49' size-in-bits='64' id='type-id-50'/> + <reference-type-def kind='lvalue' type-id='type-id-48' size-in-bits='64' id='type-id-49'/> <!-- const char* --> - <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-33'/> + <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-29'/> <!-- const char** --> - <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-51'/> + <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/> <!-- const int --> - <qualified-type-def type-id='type-id-11' const='yes' id='type-id-52'/> + <qualified-type-def type-id='type-id-11' const='yes' id='type-id-51'/> <!-- const long int --> - <qualified-type-def type-id='type-id-13' const='yes' id='type-id-53'/> + <qualified-type-def type-id='type-id-13' const='yes' id='type-id-52'/> <!-- const mbstate_t --> - <qualified-type-def type-id='type-id-29' const='yes' id='type-id-54'/> + <qualified-type-def type-id='type-id-33' const='yes' id='type-id-53'/> <!-- const mbstate_t* --> - <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/> + <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-54'/> <!-- const short int --> - <qualified-type-def type-id='type-id-16' const='yes' id='type-id-56'/> + <qualified-type-def type-id='type-id-16' const='yes' id='type-id-55'/> <!-- const std::allocator<char> --> - <qualified-type-def type-id='type-id-57' const='yes' id='type-id-58'/> + <qualified-type-def type-id='type-id-56' const='yes' id='type-id-57'/> <!-- const std::allocator<char>& --> - <reference-type-def kind='lvalue' type-id='type-id-58' size-in-bits='64' id='type-id-59'/> + <reference-type-def kind='lvalue' type-id='type-id-57' size-in-bits='64' id='type-id-58'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> > --> - <qualified-type-def type-id='type-id-60' const='yes' id='type-id-61'/> + <qualified-type-def type-id='type-id-59' const='yes' id='type-id-60'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >& --> - <qualified-type-def type-id='type-id-62' id='type-id-63'/> - <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >& --> - <reference-type-def kind='lvalue' type-id='type-id-61' size-in-bits='64' id='type-id-62'/> + <reference-type-def kind='lvalue' type-id='type-id-60' size-in-bits='64' id='type-id-61'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >* --> - <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-64'/> + <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-62'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep --> - <qualified-type-def type-id='type-id-65' const='yes' id='type-id-66'/> + <qualified-type-def type-id='type-id-63' const='yes' id='type-id-64'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep* --> - <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/> + <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/> <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type --> - <qualified-type-def type-id='type-id-68' const='yes' id='type-id-69'/> + <qualified-type-def type-id='type-id-66' const='yes' id='type-id-67'/> <!-- const std::char_traits<char>::char_type --> - <qualified-type-def type-id='type-id-70' const='yes' id='type-id-71'/> + <qualified-type-def type-id='type-id-68' const='yes' id='type-id-69'/> <!-- const std::char_traits<char>::char_type& --> - <reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-72'/> + <reference-type-def kind='lvalue' type-id='type-id-69' size-in-bits='64' id='type-id-70'/> <!-- const std::char_traits<char>::char_type* --> - <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-73'/> + <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-71'/> <!-- const std::char_traits<char>::int_type --> - <qualified-type-def type-id='type-id-74' const='yes' id='type-id-75'/> + <qualified-type-def type-id='type-id-72' const='yes' id='type-id-73'/> <!-- const std::char_traits<char>::int_type& --> - <reference-type-def kind='lvalue' type-id='type-id-75' size-in-bits='64' id='type-id-76'/> + <reference-type-def kind='lvalue' type-id='type-id-73' size-in-bits='64' id='type-id-74'/> <!-- const std::string --> - <qualified-type-def type-id='type-id-77' const='yes' id='type-id-78'/> + <qualified-type-def type-id='type-id-75' const='yes' id='type-id-76'/> <!-- const std::string& --> - <qualified-type-def type-id='type-id-79' id='type-id-80'/> - <!-- const std::string& --> - <reference-type-def kind='lvalue' type-id='type-id-78' size-in-bits='64' id='type-id-79'/> + <reference-type-def kind='lvalue' type-id='type-id-76' size-in-bits='64' id='type-id-77'/> <!-- const tm --> - <qualified-type-def type-id='type-id-32' const='yes' id='type-id-81'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-78'/> <!-- const tm* --> - <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/> + <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/> <!-- const unsigned long int --> - <qualified-type-def type-id='type-id-17' const='yes' id='type-id-83'/> + <qualified-type-def type-id='type-id-17' const='yes' id='type-id-80'/> <!-- const wchar_t --> - <qualified-type-def type-id='type-id-22' const='yes' id='type-id-84'/> + <qualified-type-def type-id='type-id-21' const='yes' id='type-id-81'/> <!-- const wchar_t* --> - <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/> + <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/> <!-- const wchar_t** --> - <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-86'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/> <!-- lconv* --> - <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-87'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-84'/> <!-- mbstate_t* --> - <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-88'/> + <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-85'/> <!-- std::allocator<char>* --> - <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-89'/> + <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-86'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >& --> - <reference-type-def kind='lvalue' type-id='type-id-60' size-in-bits='64' id='type-id-90'/> + <reference-type-def kind='lvalue' type-id='type-id-59' size-in-bits='64' id='type-id-87'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >* --> - <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-91'/> + <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-88'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider* --> - <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/> + <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep& --> - <reference-type-def kind='lvalue' type-id='type-id-65' size-in-bits='64' id='type-id-94'/> + <reference-type-def kind='lvalue' type-id='type-id-63' size-in-bits='64' id='type-id-91'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep* --> - <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-95'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-92'/> <!-- std::char_traits<char>::char_type& --> - <reference-type-def kind='lvalue' type-id='type-id-70' size-in-bits='64' id='type-id-96'/> + <reference-type-def kind='lvalue' type-id='type-id-68' size-in-bits='64' id='type-id-93'/> <!-- std::char_traits<char>::char_type* --> - <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-97'/> + <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-94'/> <!-- std::ostream* --> - <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-99'/> + <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-96'/> <!-- typedef __va_list_tag __va_list_tag* --> - <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-100'/> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-97'/> <!-- void* --> - <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-8'/> + <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-8'/> <!-- wchar_t* --> - <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-101'/> + <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-99'/> <!-- wchar_t** --> - <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-102'/> + <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-100'/> + <!-- struct _IO_FILE --> + <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-26'/> <!-- namespace std --> <namespace-decl name='std'> + <!-- class std::allocator<char> --> + <class-decl name='allocator<char>' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' id='type-id-56'> + <!-- class __gnu_cxx::new_allocator<char> --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-40'/> + <member-type access='public'> + <!-- typedef std::size_t std::allocator<char>::size_type --> + <typedef-decl name='size_type' type-id='type-id-101' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' id='type-id-102'/> + </member-type> + <member-type access='public'> + <!-- typedef char& std::allocator<char>::reference --> + <typedef-decl name='reference' type-id='type-id-42' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' id='type-id-103'/> + </member-type> + <member-type access='public'> + <!-- typedef const char& std::allocator<char>::const_reference --> + <typedef-decl name='const_reference' type-id='type-id-49' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' id='type-id-104'/> + </member-type> + </class-decl> <!-- class std::basic_string<char, std::char_traits<char>, std::allocator<char> > --> - <class-decl name='basic_string<char, std::char_traits<char>, std::allocator<char> >' size-in-bits='64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' id='type-id-60'> - <member-type access='private'> - <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider --> - <class-decl name='_Alloc_hider' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' id='type-id-92'> - <!-- class std::allocator<char> --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-57'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- char* std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_M_p --> - <var-decl name='_M_p' type-id='type-id-35' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2675' column='1'/> - </data-member> - </class-decl> + <class-decl name='basic_string<char, std::char_traits<char>, std::allocator<char> >' size-in-bits='64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' id='type-id-59'> + <member-type access='public'> + <!-- typedef std::allocator<char> std::basic_string<char, std::char_traits<char>, std::allocator<char> >::allocator_type --> + <typedef-decl name='allocator_type' type-id='type-id-56' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-105'/> </member-type> <member-type access='public'> <!-- typedef std::allocator<char>::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type --> - <typedef-decl name='size_type' type-id='type-id-103' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' id='type-id-68'/> - </member-type> - <member-type access='public'> - <!-- typedef std::allocator<char> std::basic_string<char, std::char_traits<char>, std::allocator<char> >::allocator_type --> - <typedef-decl name='allocator_type' type-id='type-id-57' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-104'/> + <typedef-decl name='size_type' type-id='type-id-102' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' id='type-id-66'/> </member-type> <member-type access='public'> <!-- typedef std::allocator<char>::reference std::basic_string<char, std::char_traits<char>, std::allocator<char> >::reference --> - <typedef-decl name='reference' type-id='type-id-106' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' id='type-id-105'/> + <typedef-decl name='reference' type-id='type-id-103' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' id='type-id-106'/> </member-type> <member-type access='public'> <!-- typedef std::allocator<char>::const_reference std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_reference --> - <typedef-decl name='const_reference' type-id='type-id-108' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' id='type-id-107'/> + <typedef-decl name='const_reference' type-id='type-id-104' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' id='type-id-107'/> </member-type> <member-type access='public'> <!-- typedef __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::iterator --> - <typedef-decl name='iterator' type-id='type-id-110' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-109'/> + <typedef-decl name='iterator' type-id='type-id-108' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-109'/> </member-type> <member-type access='public'> <!-- typedef __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_iterator --> - <typedef-decl name='const_iterator' type-id='type-id-112' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-111'/> + <typedef-decl name='const_iterator' type-id='type-id-110' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-111'/> </member-type> <member-type access='public'> <!-- typedef std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::const_reverse_iterator --> - <typedef-decl name='const_reverse_iterator' type-id='type-id-114' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-113'/> + <typedef-decl name='const_reverse_iterator' type-id='type-id-112' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-113'/> </member-type> <member-type access='public'> <!-- typedef std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > std::basic_string<char, std::char_traits<char>, std::allocator<char> >::reverse_iterator --> - <typedef-decl name='reverse_iterator' type-id='type-id-116' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-115'/> + <typedef-decl name='reverse_iterator' type-id='type-id-114' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-115'/> </member-type> <member-type access='private'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base --> - <class-decl name='_Rep_base' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' id='type-id-117'> + <class-decl name='_Rep_base' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' id='type-id-116'> <data-member access='public' layout-offset-in-bits='0'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base::_M_length --> - <var-decl name='_M_length' type-id='type-id-68' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2548' column='1'/> + <var-decl name='_M_length' type-id='type-id-66' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2548' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base::_M_capacity --> - <var-decl name='_M_capacity' type-id='type-id-68' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2549' column='1'/> + <var-decl name='_M_capacity' type-id='type-id-66' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2549' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- _Atomic_word std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base::_M_refcount --> @@ -447,16 +449,16 @@ </member-type> <member-type access='private'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep --> - <class-decl name='_Rep' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' id='type-id-65'> + <class-decl name='_Rep' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' id='type-id-63'> <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-117'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-116'/> <data-member access='public' static='yes'> <!-- static const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_max_size --> - <var-decl name='_S_max_size' type-id='type-id-69' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='494' column='1'/> + <var-decl name='_S_max_size' type-id='type-id-67' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='494' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const char std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_terminal --> - <var-decl name='_S_terminal' type-id='type-id-49' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='499' column='1'/> + <var-decl name='_S_terminal' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='499' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static unsigned long int std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage[] --> @@ -464,604 +466,496 @@ </data-member> </class-decl> </member-type> + <member-type access='private'> + <!-- struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider --> + <class-decl name='_Alloc_hider' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' id='type-id-89'> + <!-- class std::allocator<char> --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-56'/> + <data-member access='public' layout-offset-in-bits='0'> + <!-- char* std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_M_p --> + <var-decl name='_M_p' type-id='type-id-25' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2675' column='1'/> + </data-member> + </class-decl> + </member-type> <data-member access='public' static='yes'> <!-- static const std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type std::basic_string<char, std::char_traits<char>, std::allocator<char> >::npos --> - <var-decl name='npos' type-id='type-id-69' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2683' column='1'/> + <var-decl name='npos' type-id='type-id-67' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2683' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='0'> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dataplus --> - <var-decl name='_M_dataplus' type-id='type-id-92' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/> + <var-decl name='_M_dataplus' type-id='type-id-89' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/> </data-member> </class-decl> - <!-- class std::allocator<char> --> - <class-decl name='allocator<char>' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' id='type-id-57'> - <!-- class __gnu_cxx::new_allocator<char> --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-41'/> - <member-type access='public'> - <!-- typedef std::size_t std::allocator<char>::size_type --> - <typedef-decl name='size_type' type-id='type-id-118' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' id='type-id-103'/> - </member-type> - <member-type access='public'> - <!-- typedef char& std::allocator<char>::reference --> - <typedef-decl name='reference' type-id='type-id-43' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' id='type-id-106'/> - </member-type> - <member-type access='public'> - <!-- typedef const char& std::allocator<char>::const_reference --> - <typedef-decl name='const_reference' type-id='type-id-50' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' id='type-id-108'/> - </member-type> - </class-decl> - <!-- typedef unsigned long int std::size_t --> - <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' id='type-id-118'/> <!-- struct std::char_traits<char> --> - <class-decl name='char_traits<char>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' id='type-id-119'> + <class-decl name='char_traits<char>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' id='type-id-117'> <member-type access='public'> <!-- typedef char std::char_traits<char>::char_type --> - <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' id='type-id-70'/> + <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' id='type-id-68'/> </member-type> <member-type access='public'> <!-- typedef int std::char_traits<char>::int_type --> - <typedef-decl name='int_type' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' id='type-id-74'/> + <typedef-decl name='int_type' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' id='type-id-72'/> </member-type> <member-function access='public' static='yes'> <!-- std::size_t std::char_traits<char>::length() --> <function-decl name='length' mangled-name='_ZNSt11char_traitsIcE6lengthEPKc' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11char_traitsIcE6lengthEPKc'> <!-- parameter of type 'const std::char_traits<char>::char_type*' --> - <parameter type-id='type-id-73'/> + <parameter type-id='type-id-71'/> <!-- typedef std::size_t --> - <return type-id='type-id-118'/> + <return type-id='type-id-101'/> </function-decl> </member-function> </class-decl> <!-- typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::string --> - <typedef-decl name='string' type-id='type-id-60' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-77'/> + <typedef-decl name='string' type-id='type-id-59' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-75'/> <!-- typedef std::basic_ostream<char, std::char_traits<char> > std::ostream --> - <typedef-decl name='ostream' type-id='type-id-120' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-98'/> - <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> - <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-114'/> - <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> - <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-116'/> + <typedef-decl name='ostream' type-id='type-id-118' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-95'/> + <!-- typedef unsigned long int std::size_t --> + <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' id='type-id-101'/> <!-- class std::basic_ostream<char, std::char_traits<char> > --> - <class-decl name='basic_ostream<char, std::char_traits<char> >' visibility='default' is-declaration-only='yes' id='type-id-120'/> + <class-decl name='basic_ostream<char, std::char_traits<char> >' visibility='default' is-declaration-only='yes' id='type-id-118'/> + <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> + <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-112'/> + <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > --> + <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' visibility='default' is-declaration-only='yes' id='type-id-114'/> <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(const char*, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) --> <function-decl name='operator+<char, std::char_traits<char>, std::allocator<char> >' mangled-name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33' name='__lhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1'/> + <parameter type-id='type-id-29' name='__lhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1'/> <!-- parameter of type 'const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&' --> - <parameter type-id='type-id-63' name='__rhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1152' column='1'/> + <parameter type-id='type-id-61' name='__rhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1152' column='1'/> <!-- class std::basic_string<char, std::char_traits<char>, std::allocator<char> > --> - <return type-id='type-id-60'/> + <return type-id='type-id-59'/> </function-decl> </namespace-decl> + <!-- std::string foo(const std::string&) --> + <function-decl name='foo' mangled-name='_Z3fooRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooRKSs'> + <!-- parameter of type 'const std::string&' --> + <parameter type-id='type-id-77' name='s' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1'/> + <!-- typedef std::string --> + <return type-id='type-id-75'/> + </function-decl> + <!-- std::ostream* bar(const std::string&) --> + <function-decl name='bar' mangled-name='_Z3barRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3barRKSs'> + <!-- parameter of type 'const std::string&' --> + <parameter type-id='type-id-77' name='str' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1'/> + <!-- std::ostream* --> + <return type-id='type-id-96'/> + </function-decl> <!-- namespace __gnu_cxx --> <namespace-decl name='__gnu_cxx'> <!-- class __gnu_cxx::new_allocator<char> --> - <class-decl name='new_allocator<char>' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='58' column='1' id='type-id-41'> + <class-decl name='new_allocator<char>' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='58' column='1' id='type-id-40'> <member-type access='public'> <!-- typedef std::size_t __gnu_cxx::new_allocator<char>::size_type --> - <typedef-decl name='size_type' type-id='type-id-118' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' id='type-id-121'/> + <typedef-decl name='size_type' type-id='type-id-101' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' id='type-id-119'/> </member-type> <member-type access='public'> <!-- typedef char* __gnu_cxx::new_allocator<char>::pointer --> - <typedef-decl name='pointer' type-id='type-id-35' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' id='type-id-122'/> + <typedef-decl name='pointer' type-id='type-id-25' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' id='type-id-120'/> </member-type> <member-type access='public'> <!-- typedef const char* __gnu_cxx::new_allocator<char>::const_pointer --> - <typedef-decl name='const_pointer' type-id='type-id-33' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' id='type-id-123'/> + <typedef-decl name='const_pointer' type-id='type-id-29' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' id='type-id-121'/> </member-type> <member-type access='public'> <!-- typedef char& __gnu_cxx::new_allocator<char>::reference --> - <typedef-decl name='reference' type-id='type-id-43' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' id='type-id-124'/> + <typedef-decl name='reference' type-id='type-id-42' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' id='type-id-122'/> </member-type> <member-type access='public'> <!-- typedef const char& __gnu_cxx::new_allocator<char>::const_reference --> - <typedef-decl name='const_reference' type-id='type-id-50' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' id='type-id-125'/> + <typedef-decl name='const_reference' type-id='type-id-49' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' id='type-id-123'/> </member-type> </class-decl> + <!-- struct __gnu_cxx::__numeric_traits_integer<char> --> + <class-decl name='__numeric_traits_integer<char>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-124'> + <data-member access='public' static='yes'> + <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__min --> + <var-decl name='__min' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__max --> + <var-decl name='__max' type-id='type-id-48' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const bool __gnu_cxx::__numeric_traits_integer<char>::__is_signed --> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const int __gnu_cxx::__numeric_traits_integer<char>::__digits --> + <var-decl name='__digits' type-id='type-id-51' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + </data-member> + </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<int> --> - <class-decl name='__numeric_traits_integer<int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-126'> + <class-decl name='__numeric_traits_integer<int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-125'> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__min --> - <var-decl name='__min' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-51' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__max --> - <var-decl name='__max' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-51' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<int>::__digits --> - <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-51' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + </data-member> + </class-decl> + <!-- struct __gnu_cxx::__numeric_traits_integer<long int> --> + <class-decl name='__numeric_traits_integer<long int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-126'> + <data-member access='public' static='yes'> + <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__min --> + <var-decl name='__min' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__max --> + <var-decl name='__max' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const bool __gnu_cxx::__numeric_traits_integer<long int>::__is_signed --> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const int __gnu_cxx::__numeric_traits_integer<long int>::__digits --> + <var-decl name='__digits' type-id='type-id-51' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<long unsigned int> --> <class-decl name='__numeric_traits_integer<long unsigned int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-127'> <data-member access='public' static='yes'> <!-- static const unsigned long int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__min --> - <var-decl name='__min' type-id='type-id-83' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-80' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const unsigned long int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__max --> - <var-decl name='__max' type-id='type-id-83' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-80' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<long unsigned int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<long unsigned int>::__digits --> - <var-decl name='__digits' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> - </data-member> - </class-decl> - <!-- struct __gnu_cxx::__numeric_traits_integer<char> --> - <class-decl name='__numeric_traits_integer<char>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-128'> - <data-member access='public' static='yes'> - <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__min --> - <var-decl name='__min' type-id='type-id-49' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const char __gnu_cxx::__numeric_traits_integer<char>::__max --> - <var-decl name='__max' type-id='type-id-49' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const bool __gnu_cxx::__numeric_traits_integer<char>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int __gnu_cxx::__numeric_traits_integer<char>::__digits --> - <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-51' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> <!-- struct __gnu_cxx::__numeric_traits_integer<short int> --> - <class-decl name='__numeric_traits_integer<short int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-129'> + <class-decl name='__numeric_traits_integer<short int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-128'> <data-member access='public' static='yes'> <!-- static const short int __gnu_cxx::__numeric_traits_integer<short int>::__min --> - <var-decl name='__min' type-id='type-id-56' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> + <var-decl name='__min' type-id='type-id-55' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const short int __gnu_cxx::__numeric_traits_integer<short int>::__max --> - <var-decl name='__max' type-id='type-id-56' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> + <var-decl name='__max' type-id='type-id-55' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const bool __gnu_cxx::__numeric_traits_integer<short int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> + <var-decl name='__is_signed' type-id='type-id-47' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> </data-member> <data-member access='public' static='yes'> <!-- static const int __gnu_cxx::__numeric_traits_integer<short int>::__digits --> - <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> + <var-decl name='__digits' type-id='type-id-51' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> </data-member> </class-decl> - <!-- struct __gnu_cxx::__numeric_traits_integer<long int> --> - <class-decl name='__numeric_traits_integer<long int>' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-130'> - <data-member access='public' static='yes'> - <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__min --> - <var-decl name='__min' type-id='type-id-53' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const long int __gnu_cxx::__numeric_traits_integer<long int>::__max --> - <var-decl name='__max' type-id='type-id-53' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const bool __gnu_cxx::__numeric_traits_integer<long int>::__is_signed --> - <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int __gnu_cxx::__numeric_traits_integer<long int>::__digits --> - <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/> - </data-member> - </class-decl> - <!-- class __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> - <class-decl name='__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-110'/> <!-- class __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> - <class-decl name='__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-112'/> + <class-decl name='__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-110'/> + <!-- class __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > --> + <class-decl name='__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' visibility='default' is-declaration-only='yes' id='type-id-108'/> </namespace-decl> - <!-- wint_t btowc(int) --> - <function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- char* setlocale(int, const char*) --> + <function-decl name='setlocale' filepath='/usr/include/locale.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-29'/> + <!-- char* --> + <return type-id='type-id-25'/> </function-decl> - <!-- wint_t fgetwc(__FILE*) --> - <function-decl name='fgetwc' filepath='/usr/include/wchar.h' line='745' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> + <!-- lconv* localeconv() --> + <function-decl name='localeconv' filepath='/usr/include/locale.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- lconv* --> + <return type-id='type-id-84'/> </function-decl> - <!-- wchar_t* fgetws(wchar_t*, int, __FILE*) --> - <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- wchar_t* wcscpy(wchar_t*, const wchar_t*) --> + <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> <!-- wchar_t* --> - <return type-id='type-id-101'/> + <return type-id='type-id-99'/> </function-decl> - <!-- wint_t fputwc(wchar_t, __FILE*) --> - <function-decl name='fputwc' filepath='/usr/include/wchar.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- int fputws(const wchar_t*, __FILE*) --> - <function-decl name='fputws' filepath='/usr/include/wchar.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int fwide(__FILE*, int) --> - <function-decl name='fwide' filepath='/usr/include/wchar.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int fwprintf(__FILE*, const wchar_t*, ...) --> - <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int fwscanf(__FILE*, const wchar_t*, ...) --> - <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- wint_t getwc(__FILE*) --> - <function-decl name='getwc' filepath='/usr/include/wchar.h' line='746' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- wint_t getwchar() --> - <function-decl name='getwchar' filepath='/usr/include/wchar.h' line='752' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- size_t mbrlen(const char*, size_t, mbstate_t*) --> - <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*) --> - <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- int mbsinit(const mbstate_t*) --> - <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const mbstate_t*' --> - <parameter type-id='type-id-55'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*) --> - <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const char**' --> - <parameter type-id='type-id-51'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- wint_t putwc(wchar_t, __FILE*) --> - <function-decl name='putwc' filepath='/usr/include/wchar.h' line='760' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- wint_t putwchar(wchar_t) --> - <function-decl name='putwchar' filepath='/usr/include/wchar.h' line='766' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- int swprintf(wchar_t*, size_t, const wchar_t*, ...) --> - <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int swscanf(const wchar_t*, const wchar_t*, ...) --> - <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- wint_t ungetwc(wint_t, __FILE*) --> - <function-decl name='ungetwc' filepath='/usr/include/wchar.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> - </function-decl> - <!-- int vfwprintf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vfwscanf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type '__FILE*' --> - <parameter type-id='type-id-40'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vswprintf(wchar_t*, size_t, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vswscanf(const wchar_t*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vwprintf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int vwscanf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> - <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> - <parameter type-id='type-id-100'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- size_t wcrtomb(char*, wchar_t, mbstate_t*) --> - <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> </function-decl> <!-- wchar_t* wcscat(wchar_t*, const wchar_t*) --> <function-decl name='wcscat' filepath='/usr/include/wchar.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> + <parameter type-id='type-id-99'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- wchar_t* --> - <return type-id='type-id-101'/> + <return type-id='type-id-99'/> + </function-decl> + <!-- wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> </function-decl> <!-- int wcscmp(const wchar_t*, const wchar_t*) --> <function-decl name='wcscmp' filepath='/usr/include/wchar.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int wcsncmp(const wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> <!-- int --> <return type-id='type-id-11'/> </function-decl> <!-- int wcscoll(const wchar_t*, const wchar_t*) --> <function-decl name='wcscoll' filepath='/usr/include/wchar.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- int --> <return type-id='type-id-11'/> </function-decl> - <!-- wchar_t* wcscpy(wchar_t*, const wchar_t*) --> - <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- size_t wcsxfrm(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> + <parameter type-id='type-id-99'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> </function-decl> <!-- size_t wcscspn(const wchar_t*, const wchar_t*) --> <function-decl name='wcscspn' filepath='/usr/include/wchar.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- size_t wcsftime(wchar_t*, size_t, const wchar_t*, const tm*) --> - <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='855' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const tm*' --> <parameter type-id='type-id-82'/> <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- size_t wcslen(const wchar_t*) --> - <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- int wcsncmp(const wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*) --> - <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-35'/> - <!-- parameter of type 'const wchar_t**' --> - <parameter type-id='type-id-86'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- parameter of type 'mbstate_t*' --> - <parameter type-id='type-id-88'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> + <return type-id='type-id-37'/> </function-decl> <!-- size_t wcsspn(const wchar_t*, const wchar_t*) --> <function-decl name='wcsspn' filepath='/usr/include/wchar.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**) --> + <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'wchar_t**' --> + <parameter type-id='type-id-100'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- size_t wcslen(const wchar_t*) --> + <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- int wmemcmp(const wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t) --> + <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- wchar_t* wmemset(wchar_t*, wchar_t, size_t) --> + <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='338' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- wint_t btowc(int) --> + <function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-11'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- int wctob(wint_t) --> + <function-decl name='wctob' filepath='/usr/include/wchar.h' line='357' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-38'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int mbsinit(const mbstate_t*) --> + <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const mbstate_t*' --> + <parameter type-id='type-id-54'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*) --> + <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-29'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'mbstate_t*' --> <parameter type-id='type-id-85'/> <!-- typedef size_t --> - <return type-id='type-id-27'/> + <return type-id='type-id-37'/> + </function-decl> + <!-- size_t wcrtomb(char*, wchar_t, mbstate_t*) --> + <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-85'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- size_t mbrlen(const char*, size_t, mbstate_t*) --> + <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-29'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-85'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*) --> + <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'const char**' --> + <parameter type-id='type-id-50'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-85'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> + <!-- size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*) --> + <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'const wchar_t**' --> + <parameter type-id='type-id-83'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'mbstate_t*' --> + <parameter type-id='type-id-85'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> </function-decl> <!-- double wcstod(const wchar_t*, wchar_t**) --> <function-decl name='wcstod' filepath='/usr/include/wchar.h' line='450' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- double --> <return type-id='type-id-9'/> </function-decl> <!-- float wcstof(const wchar_t*, wchar_t**) --> <function-decl name='wcstof' filepath='/usr/include/wchar.h' line='457' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- float --> <return type-id='type-id-10'/> </function-decl> - <!-- wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**) --> - <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> + <!-- long double wcstold(const wchar_t*, wchar_t**) --> + <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> + <parameter type-id='type-id-100'/> + <!-- long double --> + <return type-id='type-id-12'/> </function-decl> <!-- long int wcstol(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstol' filepath='/usr/include/wchar.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> <!-- long int --> @@ -1070,107 +964,20 @@ <!-- unsigned long int wcstoul(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoul' filepath='/usr/include/wchar.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> <!-- unsigned long int --> <return type-id='type-id-17'/> </function-decl> - <!-- size_t wcsxfrm(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- typedef size_t --> - <return type-id='type-id-27'/> - </function-decl> - <!-- int wctob(wint_t) --> - <function-decl name='wctob' filepath='/usr/include/wchar.h' line='357' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-24'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int wmemcmp(const wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t) --> - <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- wchar_t* wmemset(wchar_t*, wchar_t, size_t) --> - <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='338' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'wchar_t*' --> - <parameter type-id='type-id-101'/> - <!-- parameter of type 'wchar_t' --> - <parameter type-id='type-id-22'/> - <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-27'/> - <!-- wchar_t* --> - <return type-id='type-id-101'/> - </function-decl> - <!-- int wprintf(const wchar_t*, ...) --> - <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- int wscanf(const wchar_t*, ...) --> - <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <parameter is-variadic='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - <!-- long double wcstold(const wchar_t*, wchar_t**) --> - <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> - <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> - <!-- long double --> - <return type-id='type-id-12'/> - </function-decl> <!-- long long int wcstoll(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoll' filepath='/usr/include/wchar.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> <!-- long long int --> @@ -1179,75 +986,264 @@ <!-- long long unsigned int wcstoull(const wchar_t*, wchar_t**, int) --> <function-decl name='wcstoull' filepath='/usr/include/wchar.h' line='490' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const wchar_t*' --> - <parameter type-id='type-id-85'/> + <parameter type-id='type-id-82'/> <!-- parameter of type 'wchar_t**' --> - <parameter type-id='type-id-102'/> + <parameter type-id='type-id-100'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> <!-- long long unsigned int --> <return type-id='type-id-15'/> </function-decl> - <!-- char* setlocale(int, const char*) --> - <function-decl name='setlocale' filepath='/usr/include/locale.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- int fwide(__FILE*, int) --> + <function-decl name='fwide' filepath='/usr/include/wchar.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-11'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> - <!-- char* --> - <return type-id='type-id-35'/> - </function-decl> - <!-- lconv* localeconv() --> - <function-decl name='localeconv' filepath='/usr/include/locale.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- lconv* --> - <return type-id='type-id-87'/> - </function-decl> - <!-- int iswctype(wint_t, wctype_t) --> - <function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'typedef wctype_t' --> - <parameter type-id='type-id-36'/> <!-- int --> <return type-id='type-id-11'/> </function-decl> - <!-- wint_t towctrans(wint_t, wctrans_t) --> - <function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'typedef wint_t' --> - <parameter type-id='type-id-24'/> - <!-- parameter of type 'typedef wctrans_t' --> - <parameter type-id='type-id-38'/> - <!-- typedef wint_t --> - <return type-id='type-id-24'/> + <!-- int fwprintf(__FILE*, const wchar_t*, ...) --> + <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> </function-decl> - <!-- wctrans_t wctrans(const char*) --> - <function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> - <!-- typedef wctrans_t --> + <!-- int wprintf(const wchar_t*, ...) --> + <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int swprintf(wchar_t*, size_t, const wchar_t*, ...) --> + <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vfwprintf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vwprintf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vswprintf(wchar_t*, size_t, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int fwscanf(__FILE*, const wchar_t*, ...) --> + <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int wscanf(const wchar_t*, ...) --> + <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int swscanf(const wchar_t*, const wchar_t*, ...) --> + <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <parameter is-variadic='yes'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vfwscanf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vwscanf(const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- int vswscanf(const wchar_t*, const wchar_t*, typedef __va_list_tag __va_list_tag*) --> + <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' --> + <parameter type-id='type-id-97'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- wint_t fgetwc(__FILE*) --> + <function-decl name='fgetwc' filepath='/usr/include/wchar.h' line='745' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> <return type-id='type-id-38'/> </function-decl> + <!-- wint_t getwc(__FILE*) --> + <function-decl name='getwc' filepath='/usr/include/wchar.h' line='746' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wint_t getwchar() --> + <function-decl name='getwchar' filepath='/usr/include/wchar.h' line='752' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wint_t fputwc(wchar_t, __FILE*) --> + <function-decl name='fputwc' filepath='/usr/include/wchar.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wint_t putwc(wchar_t, __FILE*) --> + <function-decl name='putwc' filepath='/usr/include/wchar.h' line='760' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wint_t putwchar(wchar_t) --> + <function-decl name='putwchar' filepath='/usr/include/wchar.h' line='766' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t' --> + <parameter type-id='type-id-21'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- wchar_t* fgetws(wchar_t*, int, __FILE*) --> + <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-11'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- wchar_t* --> + <return type-id='type-id-99'/> + </function-decl> + <!-- int fputws(const wchar_t*, __FILE*) --> + <function-decl name='fputws' filepath='/usr/include/wchar.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- wint_t ungetwc(wint_t, __FILE*) --> + <function-decl name='ungetwc' filepath='/usr/include/wchar.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type '__FILE*' --> + <parameter type-id='type-id-39'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> + </function-decl> + <!-- size_t wcsftime(wchar_t*, size_t, const wchar_t*, const tm*) --> + <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='855' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'wchar_t*' --> + <parameter type-id='type-id-99'/> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-37'/> + <!-- parameter of type 'const wchar_t*' --> + <parameter type-id='type-id-82'/> + <!-- parameter of type 'const tm*' --> + <parameter type-id='type-id-79'/> + <!-- typedef size_t --> + <return type-id='type-id-37'/> + </function-decl> <!-- wctype_t wctype(const char*) --> <function-decl name='wctype' filepath='/usr/include/wctype.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-33'/> + <parameter type-id='type-id-29'/> <!-- typedef wctype_t --> + <return type-id='type-id-34'/> + </function-decl> + <!-- int iswctype(wint_t, wctype_t) --> + <function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef wctype_t' --> + <parameter type-id='type-id-34'/> + <!-- int --> + <return type-id='type-id-11'/> + </function-decl> + <!-- wctrans_t wctrans(const char*) --> + <function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-29'/> + <!-- typedef wctrans_t --> <return type-id='type-id-36'/> </function-decl> - <!-- std::string foo(const std::string&) --> - <function-decl name='foo' mangled-name='_Z3fooRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooRKSs'> - <!-- parameter of type 'const std::string&' --> - <parameter type-id='type-id-80' name='s' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1'/> - <!-- typedef std::string --> - <return type-id='type-id-77'/> + <!-- wint_t towctrans(wint_t, wctrans_t) --> + <function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef wint_t' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef wctrans_t' --> + <parameter type-id='type-id-36'/> + <!-- typedef wint_t --> + <return type-id='type-id-38'/> </function-decl> - <!-- std::ostream* bar(const std::string&) --> - <function-decl name='bar' mangled-name='_Z3barRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3barRKSs'> - <!-- parameter of type 'const std::string&' --> - <parameter type-id='type-id-80' name='str' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1'/> - <!-- std::ostream* --> - <return type-id='type-id-99'/> - </function-decl> - <!-- struct _IO_FILE --> - <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/> + <!-- void --> + <type-decl name='void' id='type-id-98'/> </abi-instr> </abi-corpus>
diff --git a/tests/data/test-annotate/test-anonymous-members-0.o.abi b/tests/data/test-annotate/test-anonymous-members-0.o.abi index d71cc17..52eeee1 100644 --- a/tests/data/test-annotate/test-anonymous-members-0.o.abi +++ b/tests/data/test-annotate/test-anonymous-members-0.o.abi
@@ -1,4 +1,4 @@ -<abi-corpus version='2.0' architecture='elf-amd-x86_64'> +<abi-corpus version='2.1' architecture='elf-amd-x86_64'> <elf-function-symbols> <!-- foo(S&) --> <elf-symbol name='_Z3fooR1S' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> @@ -14,13 +14,11 @@ <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-4'/> <!-- unsigned int --> <type-decl name='unsigned int' size-in-bits='32' id='type-id-5'/> - <!-- void --> - <type-decl name='void' id='type-id-6'/> <!-- struct S --> - <class-decl name='S' size-in-bits='256' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='1' column='1' id='type-id-7'> + <class-decl name='S' size-in-bits='256' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='1' column='1' id='type-id-6'> <member-type access='public'> <!-- struct {int m;} --> - <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='4' column='1' id='type-id-8'> + <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='4' column='1' id='type-id-7'> <data-member access='public' layout-offset-in-bits='0'> <!-- int m --> <var-decl name='m' type-id='type-id-3' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='5' column='1'/> @@ -29,7 +27,7 @@ </member-type> <member-type access='public'> <!-- struct {char bar;} --> - <class-decl name='__anonymous_struct__1' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='9' column='1' id='type-id-9'> + <class-decl name='__anonymous_struct__1' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='9' column='1' id='type-id-8'> <data-member access='public' layout-offset-in-bits='0'> <!-- char bar --> <var-decl name='bar' type-id='type-id-1' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='10' column='1'/> @@ -38,7 +36,7 @@ </member-type> <member-type access='public'> <!-- struct {char baz;} --> - <class-decl name='__anonymous_struct__2' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='14' column='1' id='type-id-10'> + <class-decl name='__anonymous_struct__2' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='14' column='1' id='type-id-9'> <data-member access='public' layout-offset-in-bits='0'> <!-- char baz --> <var-decl name='baz' type-id='type-id-1' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='15' column='1'/> @@ -47,7 +45,7 @@ </member-type> <member-type access='public'> <!-- enum S::__anonymous_enum__ --> - <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='18' column='1' id='type-id-11'> + <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='18' column='1' id='type-id-10'> <underlying-type type-id='type-id-4'/> <enumerator name='one' value='0'/> <enumerator name='two' value='1'/> @@ -55,7 +53,7 @@ </member-type> <member-type access='public'> <!-- enum S::__anonymous_enum__1 --> - <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='20' column='1' id='type-id-12'> + <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='20' column='1' id='type-id-11'> <underlying-type type-id='type-id-4'/> <enumerator name='three' value='0'/> <enumerator name='four' value='1'/> @@ -63,7 +61,7 @@ </member-type> <member-type access='public'> <!-- enum S::__anonymous_enum__2 --> - <enum-decl name='__anonymous_enum__2' is-anonymous='yes' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='22' column='1' id='type-id-13'> + <enum-decl name='__anonymous_enum__2' is-anonymous='yes' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='22' column='1' id='type-id-12'> <underlying-type type-id='type-id-4'/> <enumerator name='five' value='0'/> <enumerator name='six' value='1'/> @@ -71,7 +69,7 @@ </member-type> <member-type access='public'> <!-- union {int a; char b;} --> - <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='24' column='1' id='type-id-14'> + <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='24' column='1' id='type-id-13'> <data-member access='public'> <!-- int a --> <var-decl name='a' type-id='type-id-3' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='24' column='1'/> @@ -84,7 +82,7 @@ </member-type> <member-type access='public'> <!-- union {unsigned int c; double d;} --> - <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='26' column='1' id='type-id-15'> + <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='26' column='1' id='type-id-14'> <data-member access='public'> <!-- unsigned int c --> <var-decl name='c' type-id='type-id-5' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='26' column='1'/> @@ -97,47 +95,47 @@ </member-type> <data-member access='public' layout-offset-in-bits='0'> <!-- struct {int m;} --> - <var-decl name='' type-id='type-id-8' visibility='default'/> + <var-decl name='' type-id='type-id-7' visibility='default'/> </data-member> <data-member access='public' layout-offset-in-bits='32'> <!-- struct {char bar;} --> - <var-decl name='' type-id='type-id-9' visibility='default'/> + <var-decl name='' type-id='type-id-8' visibility='default'/> </data-member> <data-member access='public' layout-offset-in-bits='40'> <!-- struct {char baz;} --> - <var-decl name='' type-id='type-id-10' visibility='default'/> + <var-decl name='' type-id='type-id-9' visibility='default'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- S::__anonymous_enum__ S::e1 --> - <var-decl name='e1' type-id='type-id-11' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='18' column='1'/> + <var-decl name='e1' type-id='type-id-10' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='18' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='96'> <!-- S::__anonymous_enum__1 S::e2 --> - <var-decl name='e2' type-id='type-id-12' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='20' column='1'/> + <var-decl name='e2' type-id='type-id-11' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='20' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- S::__anonymous_enum__2 S::e3 --> - <var-decl name='e3' type-id='type-id-13' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='22' column='1'/> + <var-decl name='e3' type-id='type-id-12' visibility='default' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='22' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='160'> <!-- union {int a; char b;} --> - <var-decl name='' type-id='type-id-14' visibility='default'/> + <var-decl name='' type-id='type-id-13' visibility='default'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- union {unsigned int c; double d;} --> - <var-decl name='' type-id='type-id-15' visibility='default'/> + <var-decl name='' type-id='type-id-14' visibility='default'/> </data-member> </class-decl> <!-- S& --> - <qualified-type-def type-id='type-id-16' id='type-id-17'/> - <!-- S& --> - <reference-type-def kind='lvalue' type-id='type-id-7' size-in-bits='64' id='type-id-16'/> + <reference-type-def kind='lvalue' type-id='type-id-6' size-in-bits='64' id='type-id-15'/> <!-- void foo(S&) --> <function-decl name='foo' mangled-name='_Z3fooR1S' filepath='/home/dodji/git/libabigail/fixes/tests/data/test-annotate/test-anonymous-members-0.cc' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooR1S'> <!-- parameter of type 'S&' --> - <parameter type-id='type-id-17'/> + <parameter type-id='type-id-15'/> <!-- void --> - <return type-id='type-id-6'/> + <return type-id='type-id-16'/> </function-decl> + <!-- void --> + <type-decl name='void' id='type-id-16'/> </abi-instr> </abi-corpus>
diff --git a/tests/data/test-annotate/test0.abi b/tests/data/test-annotate/test0.abi index 97aa4a2..9fef170 100644 --- a/tests/data/test-annotate/test0.abi +++ b/tests/data/test-annotate/test0.abi
@@ -1,4 +1,4 @@ -<abi-corpus version='2.0' architecture='elf-amd-x86_64'> +<abi-corpus version='2.1' architecture='elf-amd-x86_64'> <elf-needed> <dependency name='libstdc++.so.6'/> <dependency name='libm.so.6'/> @@ -48,69 +48,65 @@ <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-5'/> <!-- variadic parameter type --> <type-decl name='variadic parameter type' id='type-id-6'/> - <!-- void --> - <type-decl name='void' id='type-id-7'/> <!-- char* --> - <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-8'/> + <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-7'/> <!-- const int --> - <qualified-type-def type-id='type-id-2' const='yes' id='type-id-9'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-8'/> <!-- const long int --> - <qualified-type-def type-id='type-id-3' const='yes' id='type-id-10'/> + <qualified-type-def type-id='type-id-3' const='yes' id='type-id-9'/> <!-- int& --> - <qualified-type-def type-id='type-id-11' id='type-id-12'/> - <!-- int& --> - <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-11'/> + <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-10'/> <!-- ns0::E& --> - <qualified-type-def type-id='type-id-13' id='type-id-14'/> - <!-- ns0::E& --> - <reference-type-def kind='lvalue' type-id='type-id-15' size-in-bits='64' id='type-id-13'/> + <reference-type-def kind='lvalue' type-id='type-id-11' size-in-bits='64' id='type-id-12'/> <!-- volatile const long int --> - <qualified-type-def type-id='type-id-10' volatile='yes' id='type-id-16'/> + <qualified-type-def type-id='type-id-9' volatile='yes' id='type-id-13'/> + <!-- int global --> + <var-decl name='global' type-id='type-id-2' mangled-name='global' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='3' column='1' elf-symbol-id='global'/> <!-- namespace ns0 --> <namespace-decl name='ns0'> <!-- enum ns0::E --> - <enum-decl name='E' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='19' column='1' id='type-id-15'> + <enum-decl name='E' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='19' column='1' id='type-id-11'> <underlying-type type-id='type-id-5'/> <enumerator name='e0' value='0'/> <enumerator name='e1' value='1'/> </enum-decl> <!-- typedef long long int ns0::long_long --> - <typedef-decl name='long_long' type-id='type-id-4' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='25' column='1' id='type-id-17'/> + <typedef-decl name='long_long' type-id='type-id-4' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='25' column='1' id='type-id-14'/> <!-- void ns0::bar(const int, ...) --> <function-decl name='bar' mangled-name='_ZN3ns03barEiz' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='12' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns03barEiz'> <!-- parameter of type 'const int' --> - <parameter type-id='type-id-9' name='c' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='12' column='1'/> + <parameter type-id='type-id-8' name='c' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='12' column='1'/> <parameter is-variadic='yes'/> <!-- void --> - <return type-id='type-id-7'/> + <return type-id='type-id-15'/> </function-decl> <!-- void ns0::baz(int&) --> <function-decl name='baz' mangled-name='_ZN3ns03bazERi' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='16' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns03bazERi'> <!-- parameter of type 'int&' --> - <parameter type-id='type-id-12' name='c' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='16' column='1'/> + <parameter type-id='type-id-10' name='c' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='16' column='1'/> <!-- void --> - <return type-id='type-id-7'/> + <return type-id='type-id-15'/> </function-decl> <!-- void ns0::bar2(ns0::E&) --> <function-decl name='bar2' mangled-name='_ZN3ns04bar2ERNS_1EE' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns04bar2ERNS_1EE'> <!-- parameter of type 'ns0::E&' --> - <parameter type-id='type-id-14' name='e' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='22' column='1'/> + <parameter type-id='type-id-12' name='e' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='22' column='1'/> <!-- void --> - <return type-id='type-id-7'/> + <return type-id='type-id-15'/> </function-decl> <!-- ns0::long_long ns0::baz2(int&) --> <function-decl name='baz2' mangled-name='_ZN3ns04baz2ERi' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns04baz2ERi'> <!-- parameter of type 'int&' --> - <parameter type-id='type-id-12' name='c' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='28' column='1'/> + <parameter type-id='type-id-10' name='c' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='28' column='1'/> <!-- typedef ns0::long_long --> - <return type-id='type-id-17'/> + <return type-id='type-id-14'/> </function-decl> <!-- long int ns0::foo(char*, volatile const long int) --> <function-decl name='foo' mangled-name='_ZN3ns03fooEPcl' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns03fooEPcl'> <!-- parameter of type 'char*' --> - <parameter type-id='type-id-8' name='c' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='45' column='1'/> + <parameter type-id='type-id-7' name='c' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='45' column='1'/> <!-- parameter of type 'volatile const long int' --> - <parameter type-id='type-id-16' name='l' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='45' column='1'/> + <parameter type-id='type-id-13' name='l' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='45' column='1'/> <!-- long int --> <return type-id='type-id-3'/> </function-decl> @@ -120,7 +116,7 @@ <!-- int --> <return type-id='type-id-2'/> </function-decl> - <!-- int global --> - <var-decl name='global' type-id='type-id-2' mangled-name='global' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='3' column='1' elf-symbol-id='global'/> + <!-- void --> + <type-decl name='void' id='type-id-15'/> </abi-instr> </abi-corpus>
diff --git a/tests/data/test-annotate/test1.abi b/tests/data/test-annotate/test1.abi index 8562fa7..c64a6d7 100644 --- a/tests/data/test-annotate/test1.abi +++ b/tests/data/test-annotate/test1.abi
@@ -1,4 +1,4 @@ -<abi-corpus version='2.0' architecture='elf-amd-x86_64'> +<abi-corpus version='2.1' architecture='elf-amd-x86_64'> <elf-needed> <dependency name='libstdc++.so.6'/> <dependency name='libm.so.6'/> @@ -70,10 +70,8 @@ <type-decl name='long long int' size-in-bits='64' id='type-id-4'/> <!-- unsigned char --> <type-decl name='unsigned char' size-in-bits='8' id='type-id-5'/> - <!-- void --> - <type-decl name='void' id='type-id-6'/> <!-- struct b0 --> - <class-decl name='b0' size-in-bits='128' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='1' column='1' id='type-id-7'> + <class-decl name='b0' size-in-bits='128' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='1' column='1' id='type-id-6'> <data-member access='public' layout-offset-in-bits='0'> <!-- long long int b0::m0 --> <var-decl name='m0' type-id='type-id-4' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='3' column='1'/> @@ -84,7 +82,7 @@ </data-member> </class-decl> <!-- struct b1 --> - <class-decl name='b1' size-in-bits='128' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='7' column='1' id='type-id-8'> + <class-decl name='b1' size-in-bits='128' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='7' column='1' id='type-id-7'> <data-member access='public' layout-offset-in-bits='0'> <!-- double b1::m0 --> <var-decl name='m0' type-id='type-id-2' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='9' column='1'/> @@ -95,112 +93,110 @@ </data-member> </class-decl> <!-- struct s0 --> - <class-decl name='s0' size-in-bits='384' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='13' column='1' id='type-id-9'> + <class-decl name='s0' size-in-bits='384' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='13' column='1' id='type-id-8'> <!-- struct b0 --> - <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-7'/> + <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-6'/> <!-- struct b1 --> - <base-class access='public' layout-offset-in-bits='256' is-virtual='yes' type-id='type-id-8'/> + <base-class access='public' layout-offset-in-bits='256' is-virtual='yes' type-id='type-id-7'/> <member-type access='public'> <!-- typedef int s0::integer --> - <typedef-decl name='integer' type-id='type-id-3' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='15' column='1' id='type-id-10'/> + <typedef-decl name='integer' type-id='type-id-3' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='15' column='1' id='type-id-9'/> </member-type> <member-type access='public'> <!-- typedef unsigned char s0::byte --> - <typedef-decl name='byte' type-id='type-id-5' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='16' column='1' id='type-id-11'/> + <typedef-decl name='byte' type-id='type-id-5' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='16' column='1' id='type-id-10'/> </member-type> <data-member access='public' layout-offset-in-bits='64'> <!-- s0::integer s0::m0 --> - <var-decl name='m0' type-id='type-id-10' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='18' column='1'/> + <var-decl name='m0' type-id='type-id-9' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='18' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='96'> <!-- s0::byte s0::m1 --> - <var-decl name='m1' type-id='type-id-11' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='19' column='1'/> + <var-decl name='m1' type-id='type-id-10' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='19' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- s0::s0(int, void**) --> <function-decl name='s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 's0*' --> - <parameter type-id='type-id-12' is-artificial='yes'/> + <parameter type-id='type-id-11' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> <parameter type-id='type-id-3' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-13' is-artificial='yes'/> + <parameter type-id='type-id-12' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-6'/> + <return type-id='type-id-13'/> </function-decl> </member-function> <member-function access='public' destructor='yes'> <!-- s0::~s0(int, void**) --> <function-decl name='~s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='27' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 's0*' --> - <parameter type-id='type-id-12' is-artificial='yes'/> + <parameter type-id='type-id-11' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> <parameter type-id='type-id-3' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-13' is-artificial='yes'/> + <parameter type-id='type-id-12' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-6'/> + <return type-id='type-id-13'/> </function-decl> </member-function> <member-function access='public' constructor='yes'> <!-- s0::s0(int, void**) --> <function-decl name='s0' mangled-name='_ZN2s0C1Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN2s0C1Ev'> <!-- implicit parameter of type 's0*' --> - <parameter type-id='type-id-12' is-artificial='yes'/> + <parameter type-id='type-id-11' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> <parameter type-id='type-id-3' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-13' is-artificial='yes'/> + <parameter type-id='type-id-12' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-6'/> + <return type-id='type-id-13'/> </function-decl> </member-function> <member-function access='public' destructor='yes'> <!-- s0::~s0(int, void**) --> <function-decl name='~s0' mangled-name='_ZN2s0D1Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN2s0D1Ev'> <!-- implicit parameter of type 's0*' --> - <parameter type-id='type-id-12' is-artificial='yes'/> + <parameter type-id='type-id-11' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> <parameter type-id='type-id-3' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-13' is-artificial='yes'/> + <parameter type-id='type-id-12' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-6'/> + <return type-id='type-id-13'/> </function-decl> </member-function> <member-function access='public'> <!-- s0::integer s0::mem_fun() --> <function-decl name='mem_fun' mangled-name='_ZN2s07mem_funEv' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN2s07mem_funEv'> - <!-- implicit parameter of type 's0* const' --> - <parameter type-id='type-id-14' name='this' is-artificial='yes'/> + <!-- implicit parameter of type 's0*' --> + <parameter type-id='type-id-11' is-artificial='yes'/> <!-- typedef s0::integer --> - <return type-id='type-id-10'/> + <return type-id='type-id-9'/> </function-decl> </member-function> </class-decl> <!-- s0& --> - <qualified-type-def type-id='type-id-15' id='type-id-16'/> - <!-- s0& --> - <reference-type-def kind='lvalue' type-id='type-id-9' size-in-bits='64' id='type-id-15'/> + <reference-type-def kind='lvalue' type-id='type-id-8' size-in-bits='64' id='type-id-14'/> <!-- s0* --> - <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-12'/> - <!-- s0* const --> - <qualified-type-def type-id='type-id-12' const='yes' id='type-id-14'/> + <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/> <!-- void* --> - <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-17'/> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-15'/> <!-- void** --> - <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-13'/> + <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-12'/> <!-- void foo(s0&) --> <function-decl name='foo' mangled-name='_Z3fooR2s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooR2s0'> <!-- parameter of type 's0&' --> - <parameter type-id='type-id-16' name='s' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='42' column='1'/> + <parameter type-id='type-id-14' name='s' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='42' column='1'/> <!-- void --> - <return type-id='type-id-6'/> + <return type-id='type-id-13'/> </function-decl> <!-- int main() --> <function-decl name='main' mangled-name='main' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='main'> <!-- int --> <return type-id='type-id-3'/> </function-decl> + <!-- void --> + <type-decl name='void' id='type-id-13'/> </abi-instr> </abi-corpus>
diff --git a/tests/data/test-annotate/test13-pr18894.so.abi b/tests/data/test-annotate/test13-pr18894.so.abi index 45026ed..1429218 100644 --- a/tests/data/test-annotate/test13-pr18894.so.abi +++ b/tests/data/test-annotate/test13-pr18894.so.abi
@@ -1,4 +1,4 @@ -<abi-corpus version='2.0' architecture='elf-amd-x86_64' soname='libdbus-1.so.3'> +<abi-corpus version='2.1' architecture='elf-amd-x86_64' soname='libdbus-1.so.3'> <elf-needed> <dependency name='librt.so.1'/> <dependency name='libpthread.so.0'/> @@ -481,32 +481,52 @@ <type-decl name='int' size-in-bits='32' id='type-id-2'/> <!-- unsigned int --> <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> - <!-- void --> - <type-decl name='void' id='type-id-4'/> - <!-- typedef DBusAddressEntry DBusAddressEntry --> - <typedef-decl name='DBusAddressEntry' type-id='type-id-5' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.h' line='41' column='1' id='type-id-6'/> - <!-- struct DBusAddressEntry --> - <class-decl name='DBusAddressEntry' size-in-bits='320' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='44' column='1' id='type-id-5'> + <!-- typedef unsigned int dbus_uint32_t --> + <typedef-decl name='dbus_uint32_t' type-id='type-id-3' filepath='../dbus/dbus-arch-deps.h' line='43' column='1' id='type-id-4'/> + <!-- typedef DBusError DBusError --> + <typedef-decl name='DBusError' type-id='type-id-5' filepath='../dbus/dbus-errors.h' line='43' column='1' id='type-id-6'/> + <!-- struct DBusError --> + <class-decl name='DBusError' size-in-bits='256' is-struct='yes' visibility='default' filepath='../dbus/dbus-errors.h' line='49' column='1' id='type-id-5'> <data-member access='public' layout-offset-in-bits='0'> - <!-- DBusString DBusAddressEntry::method --> - <var-decl name='method' type-id='type-id-7' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='45' column='1'/> + <!-- const char* DBusError::name --> + <var-decl name='name' type-id='type-id-7' visibility='default' filepath='../dbus/dbus-errors.h' line='50' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- const char* DBusError::message --> + <var-decl name='message' type-id='type-id-7' visibility='default' filepath='../dbus/dbus-errors.h' line='51' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- unsigned int DBusError::dummy1 --> + <var-decl name='dummy1' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='53' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='129'> + <!-- unsigned int DBusError::dummy2 --> + <var-decl name='dummy2' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='54' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='130'> + <!-- unsigned int DBusError::dummy3 --> + <var-decl name='dummy3' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='55' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='131'> + <!-- unsigned int DBusError::dummy4 --> + <var-decl name='dummy4' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='56' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='132'> + <!-- unsigned int DBusError::dummy5 --> + <var-decl name='dummy5' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='57' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> - <!-- DBusList* DBusAddressEntry::keys --> - <var-decl name='keys' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='47' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- DBusList* DBusAddressEntry::values --> - <var-decl name='values' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='48' column='1'/> + <!-- void* DBusError::padding1 --> + <var-decl name='padding1' type-id='type-id-8' visibility='default' filepath='../dbus/dbus-errors.h' line='59' column='1'/> </data-member> </class-decl> <!-- typedef DBusString DBusString --> - <typedef-decl name='DBusString' type-id='type-id-9' filepath='../dbus/dbus-string.h' line='40' column='1' id='type-id-7'/> + <typedef-decl name='DBusString' type-id='type-id-9' filepath='../dbus/dbus-string.h' line='40' column='1' id='type-id-10'/> <!-- struct DBusString --> <class-decl name='DBusString' size-in-bits='192' is-struct='yes' visibility='default' filepath='../dbus/dbus-string.h' line='43' column='1' id='type-id-9'> <data-member access='public' layout-offset-in-bits='0'> <!-- void* DBusString::dummy1 --> - <var-decl name='dummy1' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-string.h' line='47' column='1'/> + <var-decl name='dummy1' type-id='type-id-8' visibility='default' filepath='../dbus/dbus-string.h' line='47' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- int DBusString::dummy2 --> @@ -516,196 +536,195 @@ <!-- int DBusString::dummy3 --> <var-decl name='dummy3' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-string.h' line='50' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='0'> + <data-member access='public' layout-offset-in-bits='128'> <!-- unsigned int DBusString::dummy_bit1 --> <var-decl name='dummy_bit1' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='51' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='1'> + <data-member access='public' layout-offset-in-bits='129'> <!-- unsigned int DBusString::dummy_bit2 --> <var-decl name='dummy_bit2' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='52' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='2'> + <data-member access='public' layout-offset-in-bits='130'> <!-- unsigned int DBusString::dummy_bit3 --> <var-decl name='dummy_bit3' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='53' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='3'> + <data-member access='public' layout-offset-in-bits='131'> <!-- unsigned int DBusString::dummy_bits --> <var-decl name='dummy_bits' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='54' column='1'/> </data-member> </class-decl> + <!-- typedef DBusList DBusList --> + <typedef-decl name='DBusList' type-id='type-id-11' filepath='../dbus/dbus-sysdeps.h' line='74' column='1' id='type-id-12'/> + <!-- typedef dbus_uint32_t dbus_bool_t --> + <typedef-decl name='dbus_bool_t' type-id='type-id-4' filepath='../dbus/dbus-types.h' line='35' column='1' id='type-id-13'/> + <!-- struct DBusAddressEntry --> + <class-decl name='DBusAddressEntry' size-in-bits='320' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='44' column='1' id='type-id-14'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- DBusString DBusAddressEntry::method --> + <var-decl name='method' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='45' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- DBusList* DBusAddressEntry::keys --> + <var-decl name='keys' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='47' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- DBusList* DBusAddressEntry::values --> + <var-decl name='values' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='48' column='1'/> + </data-member> + </class-decl> + <!-- typedef DBusAddressEntry DBusAddressEntry --> + <typedef-decl name='DBusAddressEntry' type-id='type-id-14' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.h' line='41' column='1' id='type-id-16'/> <!-- struct DBusList --> <class-decl name='DBusList' size-in-bits='192' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-list.h' line='35' column='1' id='type-id-11'> <data-member access='public' layout-offset-in-bits='0'> <!-- DBusList* DBusList::prev --> - <var-decl name='prev' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-list.h' line='36' column='1'/> + <var-decl name='prev' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-list.h' line='36' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- DBusList* DBusList::next --> - <var-decl name='next' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-list.h' line='37' column='1'/> + <var-decl name='next' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-list.h' line='37' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- void* DBusList::data --> - <var-decl name='data' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-list.h' line='38' column='1'/> + <var-decl name='data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-list.h' line='38' column='1'/> </data-member> </class-decl> - <!-- typedef DBusList DBusList --> - <typedef-decl name='DBusList' type-id='type-id-11' filepath='../dbus/dbus-sysdeps.h' line='74' column='1' id='type-id-12'/> - <!-- typedef DBusError DBusError --> - <typedef-decl name='DBusError' type-id='type-id-13' filepath='../dbus/dbus-errors.h' line='43' column='1' id='type-id-14'/> - <!-- struct DBusError --> - <class-decl name='DBusError' size-in-bits='256' is-struct='yes' visibility='default' filepath='../dbus/dbus-errors.h' line='49' column='1' id='type-id-13'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- const char* DBusError::name --> - <var-decl name='name' type-id='type-id-15' visibility='default' filepath='../dbus/dbus-errors.h' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- const char* DBusError::message --> - <var-decl name='message' type-id='type-id-15' visibility='default' filepath='../dbus/dbus-errors.h' line='51' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='0'> - <!-- unsigned int DBusError::dummy1 --> - <var-decl name='dummy1' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='53' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1'> - <!-- unsigned int DBusError::dummy2 --> - <var-decl name='dummy2' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='54' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='2'> - <!-- unsigned int DBusError::dummy3 --> - <var-decl name='dummy3' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='3'> - <!-- unsigned int DBusError::dummy4 --> - <var-decl name='dummy4' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='56' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='4'> - <!-- unsigned int DBusError::dummy5 --> - <var-decl name='dummy5' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='57' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- void* DBusError::padding1 --> - <var-decl name='padding1' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-errors.h' line='59' column='1'/> - </data-member> - </class-decl> - <!-- typedef dbus_uint32_t dbus_bool_t --> - <typedef-decl name='dbus_bool_t' type-id='type-id-16' filepath='../dbus/dbus-types.h' line='35' column='1' id='type-id-17'/> - <!-- typedef unsigned int dbus_uint32_t --> - <typedef-decl name='dbus_uint32_t' type-id='type-id-3' filepath='../dbus/dbus-arch-deps.h' line='43' column='1' id='type-id-16'/> <!-- DBusAddressEntry* --> - <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-18'/> + <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-17'/> <!-- DBusAddressEntry** --> - <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/> <!-- DBusAddressEntry*** --> - <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-20'/> + <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/> <!-- DBusError* --> - <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-21'/> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-20'/> <!-- DBusList* --> - <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-8'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-15'/> <!-- char* --> - <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-22'/> + <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-21'/> <!-- const char --> - <qualified-type-def type-id='type-id-1' const='yes' id='type-id-23'/> + <qualified-type-def type-id='type-id-1' const='yes' id='type-id-22'/> <!-- const char* --> - <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-15'/> + <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-7'/> <!-- int* --> - <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-24'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-23'/> <!-- void* --> - <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-10'/> - <!-- const char* dbus_address_entry_get_method(DBusAddressEntry*) --> - <function-decl name='dbus_address_entry_get_method' mangled-name='dbus_address_entry_get_method' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_address_entry_get_method'> - <!-- parameter of type 'DBusAddressEntry*' --> - <parameter type-id='type-id-18' name='entry' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='227' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- char* dbus_address_unescape_value(const char*, DBusError*) --> - <function-decl name='dbus_address_unescape_value' mangled-name='dbus_address_unescape_value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='617' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_address_unescape_value'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='617' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='618' column='1'/> - <!-- char* --> - <return type-id='type-id-22'/> - </function-decl> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-8'/> <!-- void dbus_address_entries_free(DBusAddressEntry**) --> <function-decl name='dbus_address_entries_free' mangled-name='dbus_address_entries_free' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_address_entries_free'> <!-- parameter of type 'DBusAddressEntry**' --> - <parameter type-id='type-id-19' name='entries' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='189' column='1'/> + <parameter type-id='type-id-18' name='entries' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='189' column='1'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-decl> - <!-- dbus_bool_t dbus_parse_address(const char*, DBusAddressEntry***, int*, DBusError*) --> - <function-decl name='dbus_parse_address' mangled-name='dbus_parse_address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_parse_address'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='363' column='1'/> - <!-- parameter of type 'DBusAddressEntry***' --> - <parameter type-id='type-id-20' name='entry' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='364' column='1'/> - <!-- parameter of type 'int*' --> - <parameter type-id='type-id-24' name='array_len' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='365' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='366' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <!-- const char* dbus_address_entry_get_method(DBusAddressEntry*) --> + <function-decl name='dbus_address_entry_get_method' mangled-name='dbus_address_entry_get_method' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_address_entry_get_method'> + <!-- parameter of type 'DBusAddressEntry*' --> + <parameter type-id='type-id-17' name='entry' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='227' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> </function-decl> <!-- const char* dbus_address_entry_get_value(DBusAddressEntry*, const char*) --> <function-decl name='dbus_address_entry_get_value' mangled-name='dbus_address_entry_get_value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_address_entry_get_value'> <!-- parameter of type 'DBusAddressEntry*' --> - <parameter type-id='type-id-18' name='entry' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='244' column='1'/> + <parameter type-id='type-id-17' name='entry' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='244' column='1'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='key' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='245' column='1'/> + <parameter type-id='type-id-7' name='key' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='245' column='1'/> <!-- const char* --> - <return type-id='type-id-15'/> + <return type-id='type-id-7'/> + </function-decl> + <!-- dbus_bool_t dbus_parse_address(const char*, DBusAddressEntry***, int*, DBusError*) --> + <function-decl name='dbus_parse_address' mangled-name='dbus_parse_address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_parse_address'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='363' column='1'/> + <!-- parameter of type 'DBusAddressEntry***' --> + <parameter type-id='type-id-19' name='entry' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='364' column='1'/> + <!-- parameter of type 'int*' --> + <parameter type-id='type-id-23' name='array_len' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='365' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='366' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> </function-decl> <!-- char* dbus_address_escape_value(const char*) --> <function-decl name='dbus_address_escape_value' mangled-name='dbus_address_escape_value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='583' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_address_escape_value'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='583' column='1'/> + <parameter type-id='type-id-7' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='583' column='1'/> <!-- char* --> - <return type-id='type-id-22'/> + <return type-id='type-id-21'/> </function-decl> + <!-- char* dbus_address_unescape_value(const char*, DBusError*) --> + <function-decl name='dbus_address_unescape_value' mangled-name='dbus_address_unescape_value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='617' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_address_unescape_value'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='617' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-address.c' line='618' column='1'/> + <!-- char* --> + <return type-id='type-id-21'/> + </function-decl> + <!-- void --> + <type-decl name='void' id='type-id-24'/> </abi-instr> <abi-instr address-size='64' path='dbus-bus.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> + <!-- unnamed-enum-underlying-type-32 --> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-25'/> + <!-- unsigned long int --> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-26'/> + <!-- typedef DBusConnection DBusConnection --> + <typedef-decl name='DBusConnection' type-id='type-id-27' filepath='../dbus/dbus-connection.h' line='51' column='1' id='type-id-28'/> + <!-- enum DBusBusType --> + <enum-decl name='DBusBusType' naming-typedef-id='type-id-29' filepath='../dbus/dbus-shared.h' line='57' column='1' id='type-id-30'> + <underlying-type type-id='type-id-25'/> + <enumerator name='DBUS_BUS_SESSION' value='0'/> + <enumerator name='DBUS_BUS_SYSTEM' value='1'/> + <enumerator name='DBUS_BUS_STARTER' value='2'/> + </enum-decl> + <!-- typedef DBusBusType DBusBusType --> + <typedef-decl name='DBusBusType' type-id='type-id-30' filepath='../dbus/dbus-shared.h' line='61' column='1' id='type-id-29'/> + <!-- DBusConnection* --> + <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-31'/> + <!-- dbus_uint32_t* --> + <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-32'/> <!-- struct DBusConnection --> - <class-decl name='DBusConnection' size-in-bits='2112' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='257' column='1' id='type-id-25'> + <class-decl name='DBusConnection' size-in-bits='2112' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='257' column='1' id='type-id-27'> <data-member access='public' layout-offset-in-bits='0'> <!-- DBusAtomic DBusConnection::refcount --> - <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='258' column='1'/> + <var-decl name='refcount' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='258' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- DBusRMutex* DBusConnection::mutex --> - <var-decl name='mutex' type-id='type-id-27' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='260' column='1'/> + <var-decl name='mutex' type-id='type-id-34' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='260' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- DBusCMutex* DBusConnection::dispatch_mutex --> - <var-decl name='dispatch_mutex' type-id='type-id-28' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='262' column='1'/> + <var-decl name='dispatch_mutex' type-id='type-id-35' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='262' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- DBusCondVar* DBusConnection::dispatch_cond --> - <var-decl name='dispatch_cond' type-id='type-id-29' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='263' column='1'/> + <var-decl name='dispatch_cond' type-id='type-id-36' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='263' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- DBusCMutex* DBusConnection::io_path_mutex --> - <var-decl name='io_path_mutex' type-id='type-id-28' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='264' column='1'/> + <var-decl name='io_path_mutex' type-id='type-id-35' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='264' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- DBusCondVar* DBusConnection::io_path_cond --> - <var-decl name='io_path_cond' type-id='type-id-29' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='265' column='1'/> + <var-decl name='io_path_cond' type-id='type-id-36' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='265' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='384'> <!-- DBusList* DBusConnection::outgoing_messages --> - <var-decl name='outgoing_messages' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='267' column='1'/> + <var-decl name='outgoing_messages' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='267' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='448'> <!-- DBusList* DBusConnection::incoming_messages --> - <var-decl name='incoming_messages' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='268' column='1'/> + <var-decl name='incoming_messages' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='268' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='512'> <!-- DBusList* DBusConnection::expired_messages --> - <var-decl name='expired_messages' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='269' column='1'/> + <var-decl name='expired_messages' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='269' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='576'> <!-- DBusMessage* DBusConnection::message_borrowed --> - <var-decl name='message_borrowed' type-id='type-id-30' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='271' column='1'/> + <var-decl name='message_borrowed' type-id='type-id-37' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='271' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='640'> <!-- int DBusConnection::n_outgoing --> @@ -717,109 +736,109 @@ </data-member> <data-member access='public' layout-offset-in-bits='704'> <!-- DBusCounter* DBusConnection::outgoing_counter --> - <var-decl name='outgoing_counter' type-id='type-id-31' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='278' column='1'/> + <var-decl name='outgoing_counter' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='278' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='768'> <!-- DBusTransport* DBusConnection::transport --> - <var-decl name='transport' type-id='type-id-32' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='280' column='1'/> + <var-decl name='transport' type-id='type-id-39' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='280' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='832'> <!-- DBusWatchList* DBusConnection::watches --> - <var-decl name='watches' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='281' column='1'/> + <var-decl name='watches' type-id='type-id-40' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='281' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='896'> <!-- DBusTimeoutList* DBusConnection::timeouts --> - <var-decl name='timeouts' type-id='type-id-34' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='282' column='1'/> + <var-decl name='timeouts' type-id='type-id-41' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='282' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='960'> <!-- DBusList* DBusConnection::filter_list --> - <var-decl name='filter_list' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='284' column='1'/> + <var-decl name='filter_list' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='284' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1024'> <!-- DBusRMutex* DBusConnection::slot_mutex --> - <var-decl name='slot_mutex' type-id='type-id-27' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='286' column='1'/> + <var-decl name='slot_mutex' type-id='type-id-34' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='286' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1088'> <!-- DBusDataSlotList DBusConnection::slot_list --> - <var-decl name='slot_list' type-id='type-id-35' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='287' column='1'/> + <var-decl name='slot_list' type-id='type-id-42' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='287' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1216'> <!-- DBusHashTable* DBusConnection::pending_replies --> - <var-decl name='pending_replies' type-id='type-id-36' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='289' column='1'/> + <var-decl name='pending_replies' type-id='type-id-43' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='289' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1280'> <!-- dbus_uint32_t DBusConnection::client_serial --> - <var-decl name='client_serial' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='291' column='1'/> + <var-decl name='client_serial' type-id='type-id-4' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='291' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1344'> <!-- DBusList* DBusConnection::disconnect_message_link --> - <var-decl name='disconnect_message_link' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='292' column='1'/> + <var-decl name='disconnect_message_link' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='292' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1408'> <!-- DBusWakeupMainFunction DBusConnection::wakeup_main_function --> - <var-decl name='wakeup_main_function' type-id='type-id-37' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='294' column='1'/> + <var-decl name='wakeup_main_function' type-id='type-id-44' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='294' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1472'> <!-- void* DBusConnection::wakeup_main_data --> - <var-decl name='wakeup_main_data' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='295' column='1'/> + <var-decl name='wakeup_main_data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='295' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1536'> <!-- DBusFreeFunction DBusConnection::free_wakeup_main_data --> - <var-decl name='free_wakeup_main_data' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='296' column='1'/> + <var-decl name='free_wakeup_main_data' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='296' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1600'> <!-- DBusDispatchStatusFunction DBusConnection::dispatch_status_function --> - <var-decl name='dispatch_status_function' type-id='type-id-39' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='298' column='1'/> + <var-decl name='dispatch_status_function' type-id='type-id-46' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='298' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1664'> <!-- void* DBusConnection::dispatch_status_data --> - <var-decl name='dispatch_status_data' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='299' column='1'/> + <var-decl name='dispatch_status_data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='299' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1728'> <!-- DBusFreeFunction DBusConnection::free_dispatch_status_data --> - <var-decl name='free_dispatch_status_data' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='300' column='1'/> + <var-decl name='free_dispatch_status_data' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='300' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1792'> <!-- DBusDispatchStatus DBusConnection::last_dispatch_status --> - <var-decl name='last_dispatch_status' type-id='type-id-40' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='302' column='1'/> + <var-decl name='last_dispatch_status' type-id='type-id-47' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='302' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1856'> <!-- DBusObjectTree* DBusConnection::objects --> - <var-decl name='objects' type-id='type-id-41' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='304' column='1'/> + <var-decl name='objects' type-id='type-id-48' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='304' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1920'> <!-- char* DBusConnection::server_guid --> - <var-decl name='server_guid' type-id='type-id-22' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='306' column='1'/> + <var-decl name='server_guid' type-id='type-id-21' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='306' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1984'> <!-- dbus_bool_t DBusConnection::dispatch_acquired --> - <var-decl name='dispatch_acquired' type-id='type-id-17' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='312' column='1'/> + <var-decl name='dispatch_acquired' type-id='type-id-13' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='312' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='2016'> <!-- dbus_bool_t DBusConnection::io_path_acquired --> - <var-decl name='io_path_acquired' type-id='type-id-17' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='313' column='1'/> + <var-decl name='io_path_acquired' type-id='type-id-13' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='313' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='0'> + <data-member access='public' layout-offset-in-bits='2048'> <!-- unsigned int DBusConnection::shareable --> <var-decl name='shareable' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='315' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='1'> + <data-member access='public' layout-offset-in-bits='2049'> <!-- unsigned int DBusConnection::exit_on_disconnect --> <var-decl name='exit_on_disconnect' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='317' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='2'> + <data-member access='public' layout-offset-in-bits='2050'> <!-- unsigned int DBusConnection::route_peer_messages --> <var-decl name='route_peer_messages' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='319' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='3'> + <data-member access='public' layout-offset-in-bits='2051'> <!-- unsigned int DBusConnection::disconnected_message_arrived --> <var-decl name='disconnected_message_arrived' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='321' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='4'> + <data-member access='public' layout-offset-in-bits='2052'> <!-- unsigned int DBusConnection::disconnected_message_processed --> <var-decl name='disconnected_message_processed' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='325' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='5'> + <data-member access='public' layout-offset-in-bits='2053'> <!-- unsigned int DBusConnection::have_connection_lock --> <var-decl name='have_connection_lock' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='330' column='1'/> </data-member> @@ -828,288 +847,518 @@ <var-decl name='generation' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='334' column='1'/> </data-member> </class-decl> - <!-- unnamed-enum-underlying-type-32 --> - <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-42'/> - <!-- unsigned long int --> - <type-decl name='unsigned long int' size-in-bits='64' id='type-id-43'/> - <!-- typedef DBusConnection DBusConnection --> - <typedef-decl name='DBusConnection' type-id='type-id-25' filepath='../dbus/dbus-connection.h' line='51' column='1' id='type-id-44'/> - <!-- typedef __anonymous_enum__ DBusBusType --> - <typedef-decl name='DBusBusType' type-id='type-id-45' filepath='../dbus/dbus-shared.h' line='61' column='1' id='type-id-46'/> - <!-- enum __anonymous_enum__ --> - <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='../dbus/dbus-shared.h' line='57' column='1' id='type-id-45'> - <underlying-type type-id='type-id-42'/> - <enumerator name='DBUS_BUS_SESSION' value='0'/> - <enumerator name='DBUS_BUS_SYSTEM' value='1'/> - <enumerator name='DBUS_BUS_STARTER' value='2'/> - </enum-decl> - <!-- DBusConnection* --> - <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-47'/> - <!-- dbus_uint32_t* --> - <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-48'/> - <!-- void dbus_bus_remove_match(DBusConnection*, const char*, DBusError*) --> - <function-decl name='dbus_bus_remove_match' mangled-name='dbus_bus_remove_match' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_remove_match'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1576' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='rule' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1577' column='1'/> + <!-- DBusConnection* dbus_bus_get(DBusBusType, DBusError*) --> + <function-decl name='dbus_bus_get' mangled-name='dbus_bus_get' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get'> + <!-- parameter of type 'typedef DBusBusType' --> + <parameter type-id='type-id-29' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='558' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1578' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_bus_add_match(DBusConnection*, const char*, DBusError*) --> - <function-decl name='dbus_bus_add_match' mangled-name='dbus_bus_add_match' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_add_match'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1526' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='rule' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1527' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1528' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_bus_start_service_by_name(DBusConnection*, const char*, dbus_uint32_t, dbus_uint32_t*, DBusError*) --> - <function-decl name='dbus_bus_start_service_by_name' mangled-name='dbus_bus_start_service_by_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_start_service_by_name'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1356' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1357' column='1'/> - <!-- parameter of type 'typedef dbus_uint32_t' --> - <parameter type-id='type-id-16' name='flags' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1358' column='1'/> - <!-- parameter of type 'dbus_uint32_t*' --> - <parameter type-id='type-id-48' name='result' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1359' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1360' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_bus_name_has_owner(DBusConnection*, const char*, DBusError*) --> - <function-decl name='dbus_bus_name_has_owner' mangled-name='dbus_bus_name_has_owner' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_name_has_owner'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1280' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1281' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1282' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- int dbus_bus_release_name(DBusConnection*, const char*, DBusError*) --> - <function-decl name='dbus_bus_release_name' mangled-name='dbus_bus_release_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_release_name'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1198' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1199' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1200' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- int dbus_bus_request_name(DBusConnection*, const char*, unsigned int, DBusError*) --> - <function-decl name='dbus_bus_request_name' mangled-name='dbus_bus_request_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_request_name'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1112' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1113' column='1'/> - <!-- parameter of type 'unsigned int' --> - <parameter type-id='type-id-3' name='flags' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1114' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1115' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- unsigned long int dbus_bus_get_unix_user(DBusConnection*, const char*, DBusError*) --> - <function-decl name='dbus_bus_get_unix_user' mangled-name='dbus_bus_get_unix_user' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='865' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get_unix_user'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='865' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='866' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='867' column='1'/> - <!-- unsigned long int --> - <return type-id='type-id-43'/> - </function-decl> - <!-- char* dbus_bus_get_id(DBusConnection*, DBusError*) --> - <function-decl name='dbus_bus_get_id' mangled-name='dbus_bus_get_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='948' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get_id'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='948' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='949' column='1'/> - <!-- char* --> - <return type-id='type-id-22'/> - </function-decl> - <!-- const char* dbus_bus_get_unique_name(DBusConnection*) --> - <function-decl name='dbus_bus_get_unique_name' mangled-name='dbus_bus_get_unique_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='815' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get_unique_name'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='815' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- dbus_bool_t dbus_bus_set_unique_name(DBusConnection*, const char*) --> - <function-decl name='dbus_bus_set_unique_name' mangled-name='dbus_bus_set_unique_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_set_unique_name'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='766' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='unique_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='767' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_bus_register(DBusConnection*, DBusError*) --> - <function-decl name='dbus_bus_register' mangled-name='dbus_bus_register' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_register'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='646' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='647' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='559' column='1'/> + <!-- DBusConnection* --> + <return type-id='type-id-31'/> </function-decl> <!-- DBusConnection* dbus_bus_get_private(DBusBusType, DBusError*) --> <function-decl name='dbus_bus_get_private' mangled-name='dbus_bus_get_private' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get_private'> <!-- parameter of type 'typedef DBusBusType' --> - <parameter type-id='type-id-46' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='590' column='1'/> + <parameter type-id='type-id-29' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='590' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='591' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='591' column='1'/> <!-- DBusConnection* --> - <return type-id='type-id-47'/> + <return type-id='type-id-31'/> </function-decl> - <!-- DBusConnection* dbus_bus_get(DBusBusType, DBusError*) --> - <function-decl name='dbus_bus_get' mangled-name='dbus_bus_get' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get'> - <!-- parameter of type 'typedef DBusBusType' --> - <parameter type-id='type-id-46' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='558' column='1'/> + <!-- dbus_bool_t dbus_bus_register(DBusConnection*, DBusError*) --> + <function-decl name='dbus_bus_register' mangled-name='dbus_bus_register' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_register'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='646' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='559' column='1'/> - <!-- DBusConnection* --> - <return type-id='type-id-47'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='647' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> </function-decl> - <!-- DBusCMutex* --> - <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/> - <!-- DBusCondVar* --> - <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-29'/> - <!-- DBusCounter* --> - <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-31'/> - <!-- DBusHashTable* --> - <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-36'/> - <!-- DBusMessage* --> - <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-30'/> - <!-- DBusObjectTree* --> - <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-41'/> - <!-- DBusRMutex* --> - <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-27'/> - <!-- DBusTimeoutList* --> - <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-34'/> - <!-- DBusTransport* --> - <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-32'/> - <!-- DBusWatchList* --> - <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-33'/> - <!-- typedef DBusAtomic DBusAtomic --> - <typedef-decl name='DBusAtomic' type-id='type-id-59' filepath='../dbus/dbus-sysdeps.h' line='222' column='1' id='type-id-26'/> + <!-- dbus_bool_t dbus_bus_set_unique_name(DBusConnection*, const char*) --> + <function-decl name='dbus_bus_set_unique_name' mangled-name='dbus_bus_set_unique_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_set_unique_name'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='766' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='unique_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='767' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- const char* dbus_bus_get_unique_name(DBusConnection*) --> + <function-decl name='dbus_bus_get_unique_name' mangled-name='dbus_bus_get_unique_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='815' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get_unique_name'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='815' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> + </function-decl> + <!-- unsigned long int dbus_bus_get_unix_user(DBusConnection*, const char*, DBusError*) --> + <function-decl name='dbus_bus_get_unix_user' mangled-name='dbus_bus_get_unix_user' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='865' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get_unix_user'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='865' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='866' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='867' column='1'/> + <!-- unsigned long int --> + <return type-id='type-id-26'/> + </function-decl> + <!-- char* dbus_bus_get_id(DBusConnection*, DBusError*) --> + <function-decl name='dbus_bus_get_id' mangled-name='dbus_bus_get_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='948' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_get_id'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='948' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='949' column='1'/> + <!-- char* --> + <return type-id='type-id-21'/> + </function-decl> + <!-- int dbus_bus_request_name(DBusConnection*, const char*, unsigned int, DBusError*) --> + <function-decl name='dbus_bus_request_name' mangled-name='dbus_bus_request_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_request_name'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1112' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1113' column='1'/> + <!-- parameter of type 'unsigned int' --> + <parameter type-id='type-id-3' name='flags' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1114' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1115' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> + </function-decl> + <!-- int dbus_bus_release_name(DBusConnection*, const char*, DBusError*) --> + <function-decl name='dbus_bus_release_name' mangled-name='dbus_bus_release_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_release_name'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1198' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1199' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1200' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> + </function-decl> + <!-- dbus_bool_t dbus_bus_name_has_owner(DBusConnection*, const char*, DBusError*) --> + <function-decl name='dbus_bus_name_has_owner' mangled-name='dbus_bus_name_has_owner' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_name_has_owner'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1280' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1281' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1282' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_bus_start_service_by_name(DBusConnection*, const char*, dbus_uint32_t, dbus_uint32_t*, DBusError*) --> + <function-decl name='dbus_bus_start_service_by_name' mangled-name='dbus_bus_start_service_by_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_start_service_by_name'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1356' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1357' column='1'/> + <!-- parameter of type 'typedef dbus_uint32_t' --> + <parameter type-id='type-id-4' name='flags' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1358' column='1'/> + <!-- parameter of type 'dbus_uint32_t*' --> + <parameter type-id='type-id-32' name='result' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1359' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1360' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_bus_add_match(DBusConnection*, const char*, DBusError*) --> + <function-decl name='dbus_bus_add_match' mangled-name='dbus_bus_add_match' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_add_match'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1526' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='rule' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1527' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1528' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_bus_remove_match(DBusConnection*, const char*, DBusError*) --> + <function-decl name='dbus_bus_remove_match' mangled-name='dbus_bus_remove_match' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_bus_remove_match'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1576' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='rule' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1577' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-bus.c' line='1578' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='dbus-connection.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> + <!-- DBusHeaderField[10] --> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='320' id='type-id-50'> + <!-- <anonymous range>[10] --> + <subrange length='10' type-id='type-id-26' id='type-id-51'/> + </array-type-def> + <!-- long int --> + <type-decl name='long int' size-in-bits='64' id='type-id-52'/> + <!-- typedef int dbus_int32_t --> + <typedef-decl name='dbus_int32_t' type-id='type-id-2' filepath='../dbus/dbus-arch-deps.h' line='42' column='1' id='type-id-53'/> <!-- typedef DBusDataSlotList DBusDataSlotList --> - <typedef-decl name='DBusDataSlotList' type-id='type-id-60' filepath='../dbus/dbus-dataslot.h' line='31' column='1' id='type-id-35'/> - <!-- typedef __anonymous_enum__ DBusDispatchStatus --> - <typedef-decl name='DBusDispatchStatus' type-id='type-id-61' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='84' column='1' id='type-id-40'/> - <!-- typedef void (DBusConnection*, typedef DBusDispatchStatus, void*)* DBusDispatchStatusFunction --> - <typedef-decl name='DBusDispatchStatusFunction' type-id='type-id-62' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='128' column='1' id='type-id-39'/> - <!-- typedef void (void*)* DBusFreeFunction --> - <typedef-decl name='DBusFreeFunction' type-id='type-id-63' filepath='../dbus/dbus-memory.h' line='64' column='1' id='type-id-38'/> - <!-- typedef void (void*)* DBusWakeupMainFunction --> - <typedef-decl name='DBusWakeupMainFunction' type-id='type-id-63' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='135' column='1' id='type-id-37'/> - <!-- struct DBusAtomic --> - <class-decl name='DBusAtomic' size-in-bits='32' is-struct='yes' visibility='default' filepath='../dbus/dbus-sysdeps.h' line='228' column='1' id='type-id-59'> + <typedef-decl name='DBusDataSlotList' type-id='type-id-54' filepath='../dbus/dbus-dataslot.h' line='31' column='1' id='type-id-42'/> + <!-- typedef DBusDataSlot DBusDataSlot --> + <typedef-decl name='DBusDataSlot' type-id='type-id-55' filepath='../dbus/dbus-dataslot.h' line='34' column='1' id='type-id-56'/> + <!-- struct DBusDataSlot --> + <class-decl name='DBusDataSlot' size-in-bits='128' is-struct='yes' visibility='default' filepath='../dbus/dbus-dataslot.h' line='37' column='1' id='type-id-55'> <data-member access='public' layout-offset-in-bits='0'> - <!-- volatile dbus_int32_t DBusAtomic::value --> - <var-decl name='value' type-id='type-id-64' visibility='default' filepath='../dbus/dbus-sysdeps.h' line='232' column='1'/> + <!-- void* DBusDataSlot::data --> + <var-decl name='data' type-id='type-id-8' visibility='default' filepath='../dbus/dbus-dataslot.h' line='38' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- DBusFreeFunction DBusDataSlot::free_data_func --> + <var-decl name='free_data_func' type-id='type-id-45' visibility='default' filepath='../dbus/dbus-dataslot.h' line='39' column='1'/> </data-member> </class-decl> <!-- struct DBusDataSlotList --> - <class-decl name='DBusDataSlotList' size-in-bits='128' is-struct='yes' visibility='default' filepath='../dbus/dbus-dataslot.h' line='70' column='1' id='type-id-60'> + <class-decl name='DBusDataSlotList' size-in-bits='128' is-struct='yes' visibility='default' filepath='../dbus/dbus-dataslot.h' line='70' column='1' id='type-id-54'> <data-member access='public' layout-offset-in-bits='0'> <!-- DBusDataSlot* DBusDataSlotList::slots --> - <var-decl name='slots' type-id='type-id-65' visibility='default' filepath='../dbus/dbus-dataslot.h' line='71' column='1'/> + <var-decl name='slots' type-id='type-id-57' visibility='default' filepath='../dbus/dbus-dataslot.h' line='71' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- int DBusDataSlotList::n_slots --> <var-decl name='n_slots' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-dataslot.h' line='72' column='1'/> </data-member> </class-decl> - <!-- enum __anonymous_enum__ --> - <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='80' column='1' id='type-id-61'> - <underlying-type type-id='type-id-42'/> + <!-- typedef DBusHeader DBusHeader --> + <typedef-decl name='DBusHeader' type-id='type-id-58' filepath='../dbus/dbus-marshal-header.h' line='30' column='1' id='type-id-59'/> + <!-- typedef DBusHeaderField DBusHeaderField --> + <typedef-decl name='DBusHeaderField' type-id='type-id-60' filepath='../dbus/dbus-marshal-header.h' line='31' column='1' id='type-id-49'/> + <!-- struct DBusHeaderField --> + <class-decl name='DBusHeaderField' size-in-bits='32' is-struct='yes' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='40' column='1' id='type-id-60'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- int DBusHeaderField::value_pos --> + <var-decl name='value_pos' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='41' column='1'/> + </data-member> + </class-decl> + <!-- struct DBusHeader --> + <class-decl name='DBusHeader' size-in-bits='576' is-struct='yes' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='48' column='1' id='type-id-58'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- DBusString DBusHeader::data --> + <var-decl name='data' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='49' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- DBusHeaderField DBusHeader::fields[10] --> + <var-decl name='fields' type-id='type-id-50' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='54' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <!-- dbus_uint32_t DBusHeader::padding --> + <var-decl name='padding' type-id='type-id-4' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='58' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='515'> + <!-- dbus_uint32_t DBusHeader::byte_order --> + <var-decl name='byte_order' type-id='type-id-4' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='59' column='1'/> + </data-member> + </class-decl> + <!-- typedef void (void*)* DBusFreeFunction --> + <typedef-decl name='DBusFreeFunction' type-id='type-id-61' filepath='../dbus/dbus-memory.h' line='64' column='1' id='type-id-45'/> + <!-- typedef DBusMessage DBusMessage --> + <typedef-decl name='DBusMessage' type-id='type-id-62' filepath='../dbus/dbus-message.h' line='44' column='1' id='type-id-63'/> + <!-- typedef DBusCounter DBusCounter --> + <typedef-decl name='DBusCounter' type-id='type-id-64' filepath='../dbus/dbus-resources.h' line='32' column='1' id='type-id-65'/> + <!-- typedef DBusAtomic DBusAtomic --> + <typedef-decl name='DBusAtomic' type-id='type-id-66' filepath='../dbus/dbus-sysdeps.h' line='222' column='1' id='type-id-33'/> + <!-- struct DBusAtomic --> + <class-decl name='DBusAtomic' size-in-bits='32' is-struct='yes' visibility='default' filepath='../dbus/dbus-sysdeps.h' line='228' column='1' id='type-id-66'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- volatile dbus_int32_t DBusAtomic::value --> + <var-decl name='value' type-id='type-id-67' visibility='default' filepath='../dbus/dbus-sysdeps.h' line='232' column='1'/> + </data-member> + </class-decl> + <!-- typedef DBusRMutex DBusRMutex --> + <typedef-decl name='DBusRMutex' type-id='type-id-68' filepath='../dbus/dbus-threads-internal.h' line='39' column='1' id='type-id-69'/> + <!-- typedef DBusCMutex DBusCMutex --> + <typedef-decl name='DBusCMutex' type-id='type-id-70' filepath='../dbus/dbus-threads-internal.h' line='45' column='1' id='type-id-71'/> + <!-- typedef DBusCondVar DBusCondVar --> + <typedef-decl name='DBusCondVar' type-id='type-id-72' filepath='../dbus/dbus-threads.h' line='43' column='1' id='type-id-73'/> + <!-- struct DBusPreallocatedSend --> + <class-decl name='DBusPreallocatedSend' size-in-bits='192' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='241' column='1' id='type-id-74'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- DBusConnection* DBusPreallocatedSend::connection --> + <var-decl name='connection' type-id='type-id-31' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- DBusList* DBusPreallocatedSend::queue_link --> + <var-decl name='queue_link' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- DBusList* DBusPreallocatedSend::counter_link --> + <var-decl name='counter_link' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='244' column='1'/> + </data-member> + </class-decl> + <!-- struct DBusConnection --> + <class-decl name='DBusConnection' size-in-bits='2112' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='257' column='1' id='type-id-27'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- DBusAtomic DBusConnection::refcount --> + <var-decl name='refcount' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='258' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- DBusRMutex* DBusConnection::mutex --> + <var-decl name='mutex' type-id='type-id-34' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='260' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- DBusCMutex* DBusConnection::dispatch_mutex --> + <var-decl name='dispatch_mutex' type-id='type-id-35' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- DBusCondVar* DBusConnection::dispatch_cond --> + <var-decl name='dispatch_cond' type-id='type-id-36' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- DBusCMutex* DBusConnection::io_path_mutex --> + <var-decl name='io_path_mutex' type-id='type-id-35' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='264' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- DBusCondVar* DBusConnection::io_path_cond --> + <var-decl name='io_path_cond' type-id='type-id-36' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- DBusList* DBusConnection::outgoing_messages --> + <var-decl name='outgoing_messages' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <!-- DBusList* DBusConnection::incoming_messages --> + <var-decl name='incoming_messages' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <!-- DBusList* DBusConnection::expired_messages --> + <var-decl name='expired_messages' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='269' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <!-- DBusMessage* DBusConnection::message_borrowed --> + <var-decl name='message_borrowed' type-id='type-id-37' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <!-- int DBusConnection::n_outgoing --> + <var-decl name='n_outgoing' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <!-- int DBusConnection::n_incoming --> + <var-decl name='n_incoming' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='276' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <!-- DBusCounter* DBusConnection::outgoing_counter --> + <var-decl name='outgoing_counter' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='278' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <!-- DBusTransport* DBusConnection::transport --> + <var-decl name='transport' type-id='type-id-39' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <!-- DBusWatchList* DBusConnection::watches --> + <var-decl name='watches' type-id='type-id-40' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='281' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <!-- DBusTimeoutList* DBusConnection::timeouts --> + <var-decl name='timeouts' type-id='type-id-41' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='282' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <!-- DBusList* DBusConnection::filter_list --> + <var-decl name='filter_list' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='284' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <!-- DBusRMutex* DBusConnection::slot_mutex --> + <var-decl name='slot_mutex' type-id='type-id-34' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='286' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <!-- DBusDataSlotList DBusConnection::slot_list --> + <var-decl name='slot_list' type-id='type-id-42' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='287' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <!-- DBusHashTable* DBusConnection::pending_replies --> + <var-decl name='pending_replies' type-id='type-id-43' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='289' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <!-- dbus_uint32_t DBusConnection::client_serial --> + <var-decl name='client_serial' type-id='type-id-4' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='291' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <!-- DBusList* DBusConnection::disconnect_message_link --> + <var-decl name='disconnect_message_link' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='292' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <!-- DBusWakeupMainFunction DBusConnection::wakeup_main_function --> + <var-decl name='wakeup_main_function' type-id='type-id-44' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='294' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <!-- void* DBusConnection::wakeup_main_data --> + <var-decl name='wakeup_main_data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='295' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <!-- DBusFreeFunction DBusConnection::free_wakeup_main_data --> + <var-decl name='free_wakeup_main_data' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='296' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <!-- DBusDispatchStatusFunction DBusConnection::dispatch_status_function --> + <var-decl name='dispatch_status_function' type-id='type-id-46' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='298' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <!-- void* DBusConnection::dispatch_status_data --> + <var-decl name='dispatch_status_data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='299' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1728'> + <!-- DBusFreeFunction DBusConnection::free_dispatch_status_data --> + <var-decl name='free_dispatch_status_data' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='300' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1792'> + <!-- DBusDispatchStatus DBusConnection::last_dispatch_status --> + <var-decl name='last_dispatch_status' type-id='type-id-47' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='302' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1856'> + <!-- DBusObjectTree* DBusConnection::objects --> + <var-decl name='objects' type-id='type-id-48' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='304' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1920'> + <!-- char* DBusConnection::server_guid --> + <var-decl name='server_guid' type-id='type-id-21' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='306' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1984'> + <!-- dbus_bool_t DBusConnection::dispatch_acquired --> + <var-decl name='dispatch_acquired' type-id='type-id-13' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='312' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2016'> + <!-- dbus_bool_t DBusConnection::io_path_acquired --> + <var-decl name='io_path_acquired' type-id='type-id-13' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='313' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2048'> + <!-- unsigned int DBusConnection::shareable --> + <var-decl name='shareable' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='315' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2049'> + <!-- unsigned int DBusConnection::exit_on_disconnect --> + <var-decl name='exit_on_disconnect' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='317' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2050'> + <!-- unsigned int DBusConnection::route_peer_messages --> + <var-decl name='route_peer_messages' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='319' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2051'> + <!-- unsigned int DBusConnection::disconnected_message_arrived --> + <var-decl name='disconnected_message_arrived' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='321' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2052'> + <!-- unsigned int DBusConnection::disconnected_message_processed --> + <var-decl name='disconnected_message_processed' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='325' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2053'> + <!-- unsigned int DBusConnection::have_connection_lock --> + <var-decl name='have_connection_lock' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='330' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2080'> + <!-- int DBusConnection::generation --> + <var-decl name='generation' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='334' column='1'/> + </data-member> + </class-decl> + <!-- typedef DBusWatch DBusWatch --> + <typedef-decl name='DBusWatch' type-id='type-id-75' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='43' column='1' id='type-id-76'/> + <!-- typedef DBusTimeout DBusTimeout --> + <typedef-decl name='DBusTimeout' type-id='type-id-77' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='45' column='1' id='type-id-78'/> + <!-- typedef DBusPreallocatedSend DBusPreallocatedSend --> + <typedef-decl name='DBusPreallocatedSend' type-id='type-id-74' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='47' column='1' id='type-id-79'/> + <!-- typedef DBusPendingCall DBusPendingCall --> + <typedef-decl name='DBusPendingCall' type-id='type-id-80' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='49' column='1' id='type-id-81'/> + <!-- typedef DBusObjectPathVTable DBusObjectPathVTable --> + <typedef-decl name='DBusObjectPathVTable' type-id='type-id-82' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='53' column='1' id='type-id-83'/> + <!-- enum DBusDispatchStatus --> + <enum-decl name='DBusDispatchStatus' naming-typedef-id='type-id-47' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='80' column='1' id='type-id-84'> + <underlying-type type-id='type-id-25'/> <enumerator name='DBUS_DISPATCH_DATA_REMAINS' value='0'/> <enumerator name='DBUS_DISPATCH_COMPLETE' value='1'/> <enumerator name='DBUS_DISPATCH_NEED_MEMORY' value='2'/> </enum-decl> - <!-- typedef DBusCMutex DBusCMutex --> - <typedef-decl name='DBusCMutex' type-id='type-id-66' filepath='../dbus/dbus-threads-internal.h' line='45' column='1' id='type-id-49'/> - <!-- typedef DBusCondVar DBusCondVar --> - <typedef-decl name='DBusCondVar' type-id='type-id-67' filepath='../dbus/dbus-threads.h' line='43' column='1' id='type-id-50'/> - <!-- typedef DBusCounter DBusCounter --> - <typedef-decl name='DBusCounter' type-id='type-id-68' filepath='../dbus/dbus-resources.h' line='32' column='1' id='type-id-51'/> + <!-- typedef DBusDispatchStatus DBusDispatchStatus --> + <typedef-decl name='DBusDispatchStatus' type-id='type-id-84' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='84' column='1' id='type-id-47'/> + <!-- typedef typedef dbus_bool_t (DBusWatch*, void*)* DBusAddWatchFunction --> + <typedef-decl name='DBusAddWatchFunction' type-id='type-id-85' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='91' column='1' id='type-id-86'/> + <!-- typedef void (DBusWatch*, void*)* DBusWatchToggledFunction --> + <typedef-decl name='DBusWatchToggledFunction' type-id='type-id-87' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='97' column='1' id='type-id-88'/> + <!-- typedef void (DBusWatch*, void*)* DBusRemoveWatchFunction --> + <typedef-decl name='DBusRemoveWatchFunction' type-id='type-id-87' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='103' column='1' id='type-id-89'/> + <!-- typedef typedef dbus_bool_t (DBusTimeout*, void*)* DBusAddTimeoutFunction --> + <typedef-decl name='DBusAddTimeoutFunction' type-id='type-id-90' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='110' column='1' id='type-id-91'/> + <!-- typedef void (DBusTimeout*, void*)* DBusTimeoutToggledFunction --> + <typedef-decl name='DBusTimeoutToggledFunction' type-id='type-id-92' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='117' column='1' id='type-id-93'/> + <!-- typedef void (DBusTimeout*, void*)* DBusRemoveTimeoutFunction --> + <typedef-decl name='DBusRemoveTimeoutFunction' type-id='type-id-92' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='123' column='1' id='type-id-94'/> + <!-- typedef void (DBusConnection*, typedef DBusDispatchStatus, void*)* DBusDispatchStatusFunction --> + <typedef-decl name='DBusDispatchStatusFunction' type-id='type-id-95' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='128' column='1' id='type-id-46'/> + <!-- typedef void (void*)* DBusWakeupMainFunction --> + <typedef-decl name='DBusWakeupMainFunction' type-id='type-id-61' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='135' column='1' id='type-id-44'/> + <!-- typedef typedef dbus_bool_t (DBusConnection*, unsigned long int, void*)* DBusAllowUnixUserFunction --> + <typedef-decl name='DBusAllowUnixUserFunction' type-id='type-id-96' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='143' column='1' id='type-id-97'/> + <!-- typedef typedef dbus_bool_t (DBusConnection*, const char*, void*)* DBusAllowWindowsUserFunction --> + <typedef-decl name='DBusAllowWindowsUserFunction' type-id='type-id-98' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='153' column='1' id='type-id-99'/> + <!-- typedef typedef DBusHandlerResult (DBusConnection*, DBusMessage*, void*)* DBusHandleMessageFunction --> + <typedef-decl name='DBusHandleMessageFunction' type-id='type-id-100' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='169' column='1' id='type-id-101'/> + <!-- typedef void (DBusConnection*, void*)* DBusObjectPathUnregisterFunction --> + <typedef-decl name='DBusObjectPathUnregisterFunction' type-id='type-id-102' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='367' column='1' id='type-id-103'/> + <!-- typedef typedef DBusHandlerResult (DBusConnection*, DBusMessage*, void*)* DBusObjectPathMessageFunction --> + <typedef-decl name='DBusObjectPathMessageFunction' type-id='type-id-100' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='374' column='1' id='type-id-104'/> + <!-- struct DBusObjectPathVTable --> + <class-decl name='DBusObjectPathVTable' size-in-bits='384' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='385' column='1' id='type-id-82'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- DBusObjectPathUnregisterFunction DBusObjectPathVTable::unregister_function --> + <var-decl name='unregister_function' type-id='type-id-103' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='386' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- DBusObjectPathMessageFunction DBusObjectPathVTable::message_function --> + <var-decl name='message_function' type-id='type-id-104' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='387' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- void (void*)* DBusObjectPathVTable::dbus_internal_pad1 --> + <var-decl name='dbus_internal_pad1' type-id='type-id-61' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='389' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- void (void*)* DBusObjectPathVTable::dbus_internal_pad2 --> + <var-decl name='dbus_internal_pad2' type-id='type-id-61' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='390' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- void (void*)* DBusObjectPathVTable::dbus_internal_pad3 --> + <var-decl name='dbus_internal_pad3' type-id='type-id-61' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='391' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- void (void*)* DBusObjectPathVTable::dbus_internal_pad4 --> + <var-decl name='dbus_internal_pad4' type-id='type-id-61' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='392' column='1'/> + </data-member> + </class-decl> <!-- typedef DBusHashTable DBusHashTable --> - <typedef-decl name='DBusHashTable' type-id='type-id-69' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-hash.h' line='59' column='1' id='type-id-52'/> - <!-- typedef DBusMessage DBusMessage --> - <typedef-decl name='DBusMessage' type-id='type-id-70' filepath='../dbus/dbus-message.h' line='44' column='1' id='type-id-53'/> - <!-- typedef DBusObjectTree DBusObjectTree --> - <typedef-decl name='DBusObjectTree' type-id='type-id-71' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-object-tree.h' line='30' column='1' id='type-id-54'/> - <!-- typedef DBusRMutex DBusRMutex --> - <typedef-decl name='DBusRMutex' type-id='type-id-72' filepath='../dbus/dbus-threads-internal.h' line='39' column='1' id='type-id-55'/> - <!-- typedef DBusTimeoutList DBusTimeoutList --> - <typedef-decl name='DBusTimeoutList' type-id='type-id-73' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.h' line='38' column='1' id='type-id-56'/> - <!-- typedef DBusTransport DBusTransport --> - <typedef-decl name='DBusTransport' type-id='type-id-74' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-transport.h' line='33' column='1' id='type-id-57'/> - <!-- typedef DBusWatchList DBusWatchList --> - <typedef-decl name='DBusWatchList' type-id='type-id-75' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.h' line='38' column='1' id='type-id-58'/> - <!-- void (DBusConnection*, typedef DBusDispatchStatus, void*)* --> - <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-62'/> - <!-- void (void*)* --> - <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-63'/> - <!-- DBusDataSlot* --> - <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-65'/> - <!-- struct DBusCMutex --> - <class-decl name='DBusCMutex' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-66'/> - <!-- struct DBusCondVar --> - <class-decl name='DBusCondVar' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-67'/> - <!-- struct DBusCounter --> - <class-decl name='DBusCounter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-68'/> - <!-- struct DBusHashTable --> - <class-decl name='DBusHashTable' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-69'/> + <typedef-decl name='DBusHashTable' type-id='type-id-105' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-hash.h' line='59' column='1' id='type-id-106'/> <!-- struct DBusMessage --> - <class-decl name='DBusMessage' size-in-bits='1472' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='100' column='1' id='type-id-70'> + <class-decl name='DBusMessage' size-in-bits='1472' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='100' column='1' id='type-id-62'> <data-member access='public' layout-offset-in-bits='0'> <!-- DBusAtomic DBusMessage::refcount --> - <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='101' column='1'/> + <var-decl name='refcount' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='101' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- DBusHeader DBusMessage::header --> - <var-decl name='header' type-id='type-id-79' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='103' column='1'/> + <var-decl name='header' type-id='type-id-59' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='103' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='640'> <!-- DBusString DBusMessage::body --> - <var-decl name='body' type-id='type-id-7' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='105' column='1'/> + <var-decl name='body' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='105' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='0'> + <data-member access='public' layout-offset-in-bits='832'> <!-- unsigned int DBusMessage::locked --> <var-decl name='locked' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='107' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='1'> + <data-member access='public' layout-offset-in-bits='833'> <!-- unsigned int DBusMessage::in_cache --> <var-decl name='in_cache' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='110' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='896'> <!-- DBusList* DBusMessage::counters --> - <var-decl name='counters' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='113' column='1'/> + <var-decl name='counters' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='113' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='960'> <!-- long int DBusMessage::size_counter_delta --> - <var-decl name='size_counter_delta' type-id='type-id-80' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='114' column='1'/> + <var-decl name='size_counter_delta' type-id='type-id-52' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='114' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='0'> + <data-member access='public' layout-offset-in-bits='1024'> <!-- dbus_uint32_t DBusMessage::changed_stamp --> - <var-decl name='changed_stamp' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='116' column='1'/> + <var-decl name='changed_stamp' type-id='type-id-4' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='116' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1088'> <!-- DBusDataSlotList DBusMessage::slot_list --> - <var-decl name='slot_list' type-id='type-id-35' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='118' column='1'/> + <var-decl name='slot_list' type-id='type-id-42' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='118' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1216'> <!-- int DBusMessage::generation --> @@ -1117,7 +1366,7 @@ </data-member> <data-member access='public' layout-offset-in-bits='1280'> <!-- int* DBusMessage::unix_fds --> - <var-decl name='unix_fds' type-id='type-id-24' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='125' column='1'/> + <var-decl name='unix_fds' type-id='type-id-23' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='125' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1344'> <!-- unsigned int DBusMessage::n_unix_fds --> @@ -1129,137 +1378,151 @@ </data-member> <data-member access='public' layout-offset-in-bits='1408'> <!-- long int DBusMessage::unix_fd_counter_delta --> - <var-decl name='unix_fd_counter_delta' type-id='type-id-80' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='132' column='1'/> + <var-decl name='unix_fd_counter_delta' type-id='type-id-52' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='132' column='1'/> </data-member> </class-decl> - <!-- struct DBusObjectTree --> - <class-decl name='DBusObjectTree' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-71'/> - <!-- struct DBusRMutex --> - <class-decl name='DBusRMutex' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-72'/> - <!-- struct DBusTimeoutList --> - <class-decl name='DBusTimeoutList' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-73'/> - <!-- struct DBusTransport --> - <class-decl name='DBusTransport' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-74'/> - <!-- struct DBusWatchList --> - <class-decl name='DBusWatchList' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-75'/> + <!-- typedef DBusObjectTree DBusObjectTree --> + <typedef-decl name='DBusObjectTree' type-id='type-id-107' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-object-tree.h' line='30' column='1' id='type-id-108'/> + <!-- enum DBusHandlerResult --> + <enum-decl name='DBusHandlerResult' naming-typedef-id='type-id-109' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-shared.h' line='67' column='1' id='type-id-110'> + <underlying-type type-id='type-id-25'/> + <enumerator name='DBUS_HANDLER_RESULT_HANDLED' value='0'/> + <enumerator name='DBUS_HANDLER_RESULT_NOT_YET_HANDLED' value='1'/> + <enumerator name='DBUS_HANDLER_RESULT_NEED_MEMORY' value='2'/> + </enum-decl> + <!-- typedef DBusHandlerResult DBusHandlerResult --> + <typedef-decl name='DBusHandlerResult' type-id='type-id-110' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-shared.h' line='71' column='1' id='type-id-109'/> + <!-- typedef DBusTimeoutList DBusTimeoutList --> + <typedef-decl name='DBusTimeoutList' type-id='type-id-111' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.h' line='38' column='1' id='type-id-112'/> + <!-- typedef DBusTransport DBusTransport --> + <typedef-decl name='DBusTransport' type-id='type-id-113' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-transport.h' line='33' column='1' id='type-id-114'/> + <!-- typedef DBusWatchList DBusWatchList --> + <typedef-decl name='DBusWatchList' type-id='type-id-115' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.h' line='38' column='1' id='type-id-116'/> + <!-- DBusCMutex* --> + <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-35'/> + <!-- DBusCondVar* --> + <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-36'/> + <!-- DBusCounter* --> + <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-38'/> + <!-- DBusDataSlot* --> + <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/> + <!-- DBusHashTable* --> + <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-43'/> + <!-- DBusMessage* --> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-37'/> + <!-- DBusObjectTree* --> + <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-48'/> + <!-- DBusPendingCall* --> + <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-117'/> + <!-- DBusPendingCall** --> + <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/> + <!-- DBusPreallocatedSend* --> + <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-119'/> + <!-- DBusRMutex* --> + <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-34'/> + <!-- DBusTimeout* --> + <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-120'/> + <!-- DBusTimeoutList* --> + <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-41'/> + <!-- DBusTransport* --> + <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-39'/> + <!-- DBusWatch* --> + <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-121'/> + <!-- DBusWatchList* --> + <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-40'/> + <!-- char** --> + <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-122'/> + <!-- char*** --> + <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-123'/> + <!-- const DBusObjectPathVTable --> + <qualified-type-def type-id='type-id-83' const='yes' id='type-id-124'/> + <!-- const DBusObjectPathVTable* --> + <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/> + <!-- dbus_int32_t* --> + <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-126'/> + <!-- typedef DBusHandlerResult (DBusConnection*, DBusMessage*, void*)* --> + <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-100'/> + <!-- typedef dbus_bool_t (DBusConnection*, const char*, void*)* --> + <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-98'/> + <!-- typedef dbus_bool_t (DBusConnection*, unsigned long int, void*)* --> + <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-96'/> + <!-- typedef dbus_bool_t (DBusTimeout*, void*)* --> + <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-90'/> + <!-- typedef dbus_bool_t (DBusWatch*, void*)* --> + <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-85'/> + <!-- unsigned long int* --> + <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-132'/> + <!-- void (DBusConnection*, typedef DBusDispatchStatus, void*)* --> + <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-95'/> + <!-- void (DBusConnection*, void*)* --> + <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-102'/> + <!-- void (DBusTimeout*, void*)* --> + <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-92'/> + <!-- void (DBusWatch*, void*)* --> + <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-87'/> + <!-- void (void*)* --> + <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-61'/> + <!-- void** --> + <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-138'/> <!-- volatile dbus_int32_t --> - <qualified-type-def type-id='type-id-81' volatile='yes' id='type-id-64'/> - <!-- long int --> - <type-decl name='long int' size-in-bits='64' id='type-id-80'/> - <!-- typedef DBusDataSlot DBusDataSlot --> - <typedef-decl name='DBusDataSlot' type-id='type-id-82' filepath='../dbus/dbus-dataslot.h' line='34' column='1' id='type-id-78'/> - <!-- typedef DBusHeader DBusHeader --> - <typedef-decl name='DBusHeader' type-id='type-id-83' filepath='../dbus/dbus-marshal-header.h' line='30' column='1' id='type-id-79'/> - <!-- typedef int dbus_int32_t --> - <typedef-decl name='dbus_int32_t' type-id='type-id-2' filepath='../dbus/dbus-arch-deps.h' line='42' column='1' id='type-id-81'/> - <!-- struct DBusDataSlot --> - <class-decl name='DBusDataSlot' size-in-bits='128' is-struct='yes' visibility='default' filepath='../dbus/dbus-dataslot.h' line='37' column='1' id='type-id-82'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- void* DBusDataSlot::data --> - <var-decl name='data' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-dataslot.h' line='38' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- DBusFreeFunction DBusDataSlot::free_data_func --> - <var-decl name='free_data_func' type-id='type-id-38' visibility='default' filepath='../dbus/dbus-dataslot.h' line='39' column='1'/> - </data-member> - </class-decl> - <!-- struct DBusHeader --> - <class-decl name='DBusHeader' size-in-bits='576' is-struct='yes' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='48' column='1' id='type-id-83'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- DBusString DBusHeader::data --> - <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='49' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- DBusHeaderField DBusHeader::fields[10] --> - <var-decl name='fields' type-id='type-id-84' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='54' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='0'> - <!-- dbus_uint32_t DBusHeader::padding --> - <var-decl name='padding' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='58' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='3'> - <!-- dbus_uint32_t DBusHeader::byte_order --> - <var-decl name='byte_order' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='59' column='1'/> - </data-member> - </class-decl> - <!-- DBusHeaderField[10] --> - <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='320' id='type-id-84'> - <!-- <anonymous range>[10] --> - <subrange length='10' type-id='type-id-43' id='type-id-86'/> - </array-type-def> - <!-- typedef DBusHeaderField DBusHeaderField --> - <typedef-decl name='DBusHeaderField' type-id='type-id-87' filepath='../dbus/dbus-marshal-header.h' line='31' column='1' id='type-id-85'/> - <!-- struct DBusHeaderField --> - <class-decl name='DBusHeaderField' size-in-bits='32' is-struct='yes' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='40' column='1' id='type-id-87'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- int DBusHeaderField::value_pos --> - <var-decl name='value_pos' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='41' column='1'/> - </data-member> - </class-decl> - </abi-instr> - <abi-instr address-size='64' path='dbus-connection.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> - <!-- DBusHeaderField[10] --> - <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='320' id='type-id-84'> - <!-- <anonymous range>[10] --> - <subrange length='10' type-id='type-id-43' id='type-id-86'/> - </array-type-def> + <qualified-type-def type-id='type-id-53' volatile='yes' id='type-id-67'/> <!-- struct DBusCMutex --> - <class-decl name='DBusCMutex' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-66'/> + <class-decl name='DBusCMutex' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-70'/> <!-- struct DBusCondVar --> - <class-decl name='DBusCondVar' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-67'/> + <class-decl name='DBusCondVar' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-72'/> <!-- struct DBusCounter --> - <class-decl name='DBusCounter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-68'/> + <class-decl name='DBusCounter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/> <!-- struct DBusHashTable --> - <class-decl name='DBusHashTable' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-69'/> + <class-decl name='DBusHashTable' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-105'/> <!-- struct DBusObjectTree --> - <class-decl name='DBusObjectTree' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-71'/> + <class-decl name='DBusObjectTree' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-107'/> <!-- struct DBusPendingCall --> - <class-decl name='DBusPendingCall' size-in-bits='576' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='63' column='1' id='type-id-88'> + <class-decl name='DBusPendingCall' size-in-bits='576' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='63' column='1' id='type-id-80'> <data-member access='public' layout-offset-in-bits='0'> <!-- DBusAtomic DBusPendingCall::refcount --> - <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='64' column='1'/> + <var-decl name='refcount' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='64' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- DBusDataSlotList DBusPendingCall::slot_list --> - <var-decl name='slot_list' type-id='type-id-35' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='66' column='1'/> + <var-decl name='slot_list' type-id='type-id-42' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='66' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- DBusPendingCallNotifyFunction DBusPendingCall::function --> - <var-decl name='function' type-id='type-id-89' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='68' column='1'/> + <var-decl name='function' type-id='type-id-139' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='68' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- DBusConnection* DBusPendingCall::connection --> - <var-decl name='connection' type-id='type-id-47' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='70' column='1'/> + <var-decl name='connection' type-id='type-id-31' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='70' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- DBusMessage* DBusPendingCall::reply --> - <var-decl name='reply' type-id='type-id-30' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='71' column='1'/> + <var-decl name='reply' type-id='type-id-37' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='71' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='384'> <!-- DBusTimeout* DBusPendingCall::timeout --> - <var-decl name='timeout' type-id='type-id-90' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='72' column='1'/> + <var-decl name='timeout' type-id='type-id-120' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='72' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='448'> <!-- DBusList* DBusPendingCall::timeout_link --> - <var-decl name='timeout_link' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='74' column='1'/> + <var-decl name='timeout_link' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='74' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='512'> <!-- dbus_uint32_t DBusPendingCall::reply_serial --> - <var-decl name='reply_serial' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='76' column='1'/> + <var-decl name='reply_serial' type-id='type-id-4' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='76' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='0'> + <data-member access='public' layout-offset-in-bits='544'> <!-- unsigned int DBusPendingCall::completed --> <var-decl name='completed' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='78' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='1'> + <data-member access='public' layout-offset-in-bits='545'> <!-- unsigned int DBusPendingCall::timeout_added --> <var-decl name='timeout_added' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='79' column='1'/> </data-member> </class-decl> <!-- struct DBusRMutex --> - <class-decl name='DBusRMutex' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-72'/> + <class-decl name='DBusRMutex' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-68'/> <!-- struct DBusTimeout --> - <class-decl name='DBusTimeout' size-in-bits='448' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='41' column='1' id='type-id-91'> + <class-decl name='DBusTimeout' size-in-bits='448' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='41' column='1' id='type-id-77'> <data-member access='public' layout-offset-in-bits='0'> <!-- int DBusTimeout::refcount --> <var-decl name='refcount' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='42' column='1'/> @@ -1270,35 +1533,35 @@ </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- DBusTimeoutHandler DBusTimeout::handler --> - <var-decl name='handler' type-id='type-id-92' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='45' column='1'/> + <var-decl name='handler' type-id='type-id-140' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='45' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- void* DBusTimeout::handler_data --> - <var-decl name='handler_data' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='46' column='1'/> + <var-decl name='handler_data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='46' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- DBusFreeFunction DBusTimeout::free_handler_data_function --> - <var-decl name='free_handler_data_function' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='47' column='1'/> + <var-decl name='free_handler_data_function' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='47' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- void* DBusTimeout::data --> - <var-decl name='data' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='49' column='1'/> + <var-decl name='data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='49' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- DBusFreeFunction DBusTimeout::free_data_function --> - <var-decl name='free_data_function' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='50' column='1'/> + <var-decl name='free_data_function' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='50' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='0'> + <data-member access='public' layout-offset-in-bits='384'> <!-- unsigned int DBusTimeout::enabled --> <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='51' column='1'/> </data-member> </class-decl> <!-- struct DBusTimeoutList --> - <class-decl name='DBusTimeoutList' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-73'/> + <class-decl name='DBusTimeoutList' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-111'/> <!-- struct DBusTransport --> - <class-decl name='DBusTransport' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-74'/> + <class-decl name='DBusTransport' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-113'/> <!-- struct DBusWatch --> - <class-decl name='DBusWatch' size-in-bits='512' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='41' column='1' id='type-id-93'> + <class-decl name='DBusWatch' size-in-bits='512' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='41' column='1' id='type-id-75'> <data-member access='public' layout-offset-in-bits='0'> <!-- int DBusWatch::refcount --> <var-decl name='refcount' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='42' column='1'/> @@ -1313,1198 +1576,872 @@ </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- DBusWatchHandler DBusWatch::handler --> - <var-decl name='handler' type-id='type-id-94' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='46' column='1'/> + <var-decl name='handler' type-id='type-id-141' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='46' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- void* DBusWatch::handler_data --> - <var-decl name='handler_data' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='47' column='1'/> + <var-decl name='handler_data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='47' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- DBusFreeFunction DBusWatch::free_handler_data_function --> - <var-decl name='free_handler_data_function' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='48' column='1'/> + <var-decl name='free_handler_data_function' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='48' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- void* DBusWatch::data --> - <var-decl name='data' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='50' column='1'/> + <var-decl name='data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='50' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='384'> <!-- DBusFreeFunction DBusWatch::free_data_function --> - <var-decl name='free_data_function' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='51' column='1'/> + <var-decl name='free_data_function' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='51' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='0'> + <data-member access='public' layout-offset-in-bits='448'> <!-- unsigned int DBusWatch::enabled --> <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='52' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='1'> + <data-member access='public' layout-offset-in-bits='449'> <!-- unsigned int DBusWatch::oom_last_time --> <var-decl name='oom_last_time' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='53' column='1'/> </data-member> </class-decl> <!-- struct DBusWatchList --> - <class-decl name='DBusWatchList' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-75'/> - <!-- long int --> - <type-decl name='long int' size-in-bits='64' id='type-id-80'/> - <!-- typedef DBusAtomic DBusAtomic --> - <typedef-decl name='DBusAtomic' type-id='type-id-59' filepath='../dbus/dbus-sysdeps.h' line='222' column='1' id='type-id-26'/> - <!-- struct DBusAtomic --> - <class-decl name='DBusAtomic' size-in-bits='32' is-struct='yes' visibility='default' filepath='../dbus/dbus-sysdeps.h' line='228' column='1' id='type-id-59'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- volatile dbus_int32_t DBusAtomic::value --> - <var-decl name='value' type-id='type-id-64' visibility='default' filepath='../dbus/dbus-sysdeps.h' line='232' column='1'/> - </data-member> - </class-decl> - <!-- typedef int dbus_int32_t --> - <typedef-decl name='dbus_int32_t' type-id='type-id-2' filepath='../dbus/dbus-arch-deps.h' line='42' column='1' id='type-id-81'/> - <!-- typedef DBusRMutex DBusRMutex --> - <typedef-decl name='DBusRMutex' type-id='type-id-72' filepath='../dbus/dbus-threads-internal.h' line='39' column='1' id='type-id-55'/> - <!-- typedef DBusCMutex DBusCMutex --> - <typedef-decl name='DBusCMutex' type-id='type-id-66' filepath='../dbus/dbus-threads-internal.h' line='45' column='1' id='type-id-49'/> - <!-- typedef DBusCondVar DBusCondVar --> - <typedef-decl name='DBusCondVar' type-id='type-id-67' filepath='../dbus/dbus-threads.h' line='43' column='1' id='type-id-50'/> - <!-- typedef DBusMessage DBusMessage --> - <typedef-decl name='DBusMessage' type-id='type-id-70' filepath='../dbus/dbus-message.h' line='44' column='1' id='type-id-53'/> - <!-- struct DBusMessage --> - <class-decl name='DBusMessage' size-in-bits='1472' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='100' column='1' id='type-id-70'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- DBusAtomic DBusMessage::refcount --> - <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='101' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- DBusHeader DBusMessage::header --> - <var-decl name='header' type-id='type-id-79' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='103' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='640'> - <!-- DBusString DBusMessage::body --> - <var-decl name='body' type-id='type-id-7' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='105' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='0'> - <!-- unsigned int DBusMessage::locked --> - <var-decl name='locked' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='107' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1'> - <!-- unsigned int DBusMessage::in_cache --> - <var-decl name='in_cache' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='110' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='896'> - <!-- DBusList* DBusMessage::counters --> - <var-decl name='counters' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='113' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='960'> - <!-- long int DBusMessage::size_counter_delta --> - <var-decl name='size_counter_delta' type-id='type-id-80' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='114' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='0'> - <!-- dbus_uint32_t DBusMessage::changed_stamp --> - <var-decl name='changed_stamp' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='116' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1088'> - <!-- DBusDataSlotList DBusMessage::slot_list --> - <var-decl name='slot_list' type-id='type-id-35' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='118' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1216'> - <!-- int DBusMessage::generation --> - <var-decl name='generation' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='121' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1280'> - <!-- int* DBusMessage::unix_fds --> - <var-decl name='unix_fds' type-id='type-id-24' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='125' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1344'> - <!-- unsigned int DBusMessage::n_unix_fds --> - <var-decl name='n_unix_fds' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='129' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1376'> - <!-- unsigned int DBusMessage::n_unix_fds_allocated --> - <var-decl name='n_unix_fds_allocated' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='130' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1408'> - <!-- long int DBusMessage::unix_fd_counter_delta --> - <var-decl name='unix_fd_counter_delta' type-id='type-id-80' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='132' column='1'/> - </data-member> - </class-decl> - <!-- typedef DBusHeader DBusHeader --> - <typedef-decl name='DBusHeader' type-id='type-id-83' filepath='../dbus/dbus-marshal-header.h' line='30' column='1' id='type-id-79'/> - <!-- struct DBusHeader --> - <class-decl name='DBusHeader' size-in-bits='576' is-struct='yes' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='48' column='1' id='type-id-83'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- DBusString DBusHeader::data --> - <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='49' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- DBusHeaderField DBusHeader::fields[10] --> - <var-decl name='fields' type-id='type-id-84' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='54' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='0'> - <!-- dbus_uint32_t DBusHeader::padding --> - <var-decl name='padding' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='58' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='3'> - <!-- dbus_uint32_t DBusHeader::byte_order --> - <var-decl name='byte_order' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='59' column='1'/> - </data-member> - </class-decl> - <!-- typedef DBusHeaderField DBusHeaderField --> - <typedef-decl name='DBusHeaderField' type-id='type-id-87' filepath='../dbus/dbus-marshal-header.h' line='31' column='1' id='type-id-85'/> - <!-- struct DBusHeaderField --> - <class-decl name='DBusHeaderField' size-in-bits='32' is-struct='yes' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='40' column='1' id='type-id-87'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- int DBusHeaderField::value_pos --> - <var-decl name='value_pos' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='41' column='1'/> - </data-member> - </class-decl> - <!-- typedef DBusDataSlotList DBusDataSlotList --> - <typedef-decl name='DBusDataSlotList' type-id='type-id-60' filepath='../dbus/dbus-dataslot.h' line='31' column='1' id='type-id-35'/> - <!-- struct DBusDataSlotList --> - <class-decl name='DBusDataSlotList' size-in-bits='128' is-struct='yes' visibility='default' filepath='../dbus/dbus-dataslot.h' line='70' column='1' id='type-id-60'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- DBusDataSlot* DBusDataSlotList::slots --> - <var-decl name='slots' type-id='type-id-65' visibility='default' filepath='../dbus/dbus-dataslot.h' line='71' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- int DBusDataSlotList::n_slots --> - <var-decl name='n_slots' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-dataslot.h' line='72' column='1'/> - </data-member> - </class-decl> - <!-- typedef DBusDataSlot DBusDataSlot --> - <typedef-decl name='DBusDataSlot' type-id='type-id-82' filepath='../dbus/dbus-dataslot.h' line='34' column='1' id='type-id-78'/> - <!-- struct DBusDataSlot --> - <class-decl name='DBusDataSlot' size-in-bits='128' is-struct='yes' visibility='default' filepath='../dbus/dbus-dataslot.h' line='37' column='1' id='type-id-82'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- void* DBusDataSlot::data --> - <var-decl name='data' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-dataslot.h' line='38' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- DBusFreeFunction DBusDataSlot::free_data_func --> - <var-decl name='free_data_func' type-id='type-id-38' visibility='default' filepath='../dbus/dbus-dataslot.h' line='39' column='1'/> - </data-member> - </class-decl> - <!-- typedef void (void*)* DBusFreeFunction --> - <typedef-decl name='DBusFreeFunction' type-id='type-id-63' filepath='../dbus/dbus-memory.h' line='64' column='1' id='type-id-38'/> - <!-- typedef DBusCounter DBusCounter --> - <typedef-decl name='DBusCounter' type-id='type-id-68' filepath='../dbus/dbus-resources.h' line='32' column='1' id='type-id-51'/> - <!-- typedef DBusTransport DBusTransport --> - <typedef-decl name='DBusTransport' type-id='type-id-74' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-transport.h' line='33' column='1' id='type-id-57'/> - <!-- typedef DBusWatchList DBusWatchList --> - <typedef-decl name='DBusWatchList' type-id='type-id-75' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.h' line='38' column='1' id='type-id-58'/> - <!-- typedef DBusTimeoutList DBusTimeoutList --> - <typedef-decl name='DBusTimeoutList' type-id='type-id-73' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.h' line='38' column='1' id='type-id-56'/> - <!-- typedef DBusHashTable DBusHashTable --> - <typedef-decl name='DBusHashTable' type-id='type-id-69' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-hash.h' line='59' column='1' id='type-id-52'/> - <!-- typedef void (void*)* DBusWakeupMainFunction --> - <typedef-decl name='DBusWakeupMainFunction' type-id='type-id-63' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='135' column='1' id='type-id-37'/> - <!-- typedef void (DBusConnection*, typedef DBusDispatchStatus, void*)* DBusDispatchStatusFunction --> - <typedef-decl name='DBusDispatchStatusFunction' type-id='type-id-62' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='128' column='1' id='type-id-39'/> - <!-- typedef __anonymous_enum__ DBusDispatchStatus --> - <typedef-decl name='DBusDispatchStatus' type-id='type-id-61' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='84' column='1' id='type-id-40'/> - <!-- enum __anonymous_enum__ --> - <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='80' column='1' id='type-id-61'> - <underlying-type type-id='type-id-42'/> - <enumerator name='DBUS_DISPATCH_DATA_REMAINS' value='0'/> - <enumerator name='DBUS_DISPATCH_COMPLETE' value='1'/> - <enumerator name='DBUS_DISPATCH_NEED_MEMORY' value='2'/> - </enum-decl> - <!-- typedef DBusObjectTree DBusObjectTree --> - <typedef-decl name='DBusObjectTree' type-id='type-id-71' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-object-tree.h' line='30' column='1' id='type-id-54'/> - <!-- typedef DBusObjectPathVTable DBusObjectPathVTable --> - <typedef-decl name='DBusObjectPathVTable' type-id='type-id-95' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='53' column='1' id='type-id-96'/> - <!-- struct DBusObjectPathVTable --> - <class-decl name='DBusObjectPathVTable' size-in-bits='384' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='385' column='1' id='type-id-95'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- DBusObjectPathUnregisterFunction DBusObjectPathVTable::unregister_function --> - <var-decl name='unregister_function' type-id='type-id-97' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='386' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- DBusObjectPathMessageFunction DBusObjectPathVTable::message_function --> - <var-decl name='message_function' type-id='type-id-98' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='387' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- void (void*)* DBusObjectPathVTable::dbus_internal_pad1 --> - <var-decl name='dbus_internal_pad1' type-id='type-id-63' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='389' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- void (void*)* DBusObjectPathVTable::dbus_internal_pad2 --> - <var-decl name='dbus_internal_pad2' type-id='type-id-63' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='390' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- void (void*)* DBusObjectPathVTable::dbus_internal_pad3 --> - <var-decl name='dbus_internal_pad3' type-id='type-id-63' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='391' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- void (void*)* DBusObjectPathVTable::dbus_internal_pad4 --> - <var-decl name='dbus_internal_pad4' type-id='type-id-63' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='392' column='1'/> - </data-member> - </class-decl> - <!-- typedef void (DBusConnection*, void*)* DBusObjectPathUnregisterFunction --> - <typedef-decl name='DBusObjectPathUnregisterFunction' type-id='type-id-99' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='367' column='1' id='type-id-97'/> - <!-- typedef typedef DBusHandlerResult (DBusConnection*, DBusMessage*, void*)* DBusObjectPathMessageFunction --> - <typedef-decl name='DBusObjectPathMessageFunction' type-id='type-id-100' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='374' column='1' id='type-id-98'/> - <!-- typedef __anonymous_enum__1 DBusHandlerResult --> - <typedef-decl name='DBusHandlerResult' type-id='type-id-101' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-shared.h' line='71' column='1' id='type-id-102'/> - <!-- enum __anonymous_enum__1 --> - <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-shared.h' line='67' column='1' id='type-id-101'> - <underlying-type type-id='type-id-42'/> - <enumerator name='DBUS_HANDLER_RESULT_HANDLED' value='0'/> - <enumerator name='DBUS_HANDLER_RESULT_NOT_YET_HANDLED' value='1'/> - <enumerator name='DBUS_HANDLER_RESULT_NEED_MEMORY' value='2'/> - </enum-decl> - <!-- typedef typedef DBusHandlerResult (DBusConnection*, DBusMessage*, void*)* DBusHandleMessageFunction --> - <typedef-decl name='DBusHandleMessageFunction' type-id='type-id-100' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='169' column='1' id='type-id-103'/> - <!-- typedef typedef dbus_bool_t (DBusConnection*, const char*, void*)* DBusAllowWindowsUserFunction --> - <typedef-decl name='DBusAllowWindowsUserFunction' type-id='type-id-104' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='153' column='1' id='type-id-105'/> - <!-- typedef typedef dbus_bool_t (DBusConnection*, unsigned long int, void*)* DBusAllowUnixUserFunction --> - <typedef-decl name='DBusAllowUnixUserFunction' type-id='type-id-106' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='143' column='1' id='type-id-107'/> - <!-- typedef typedef dbus_bool_t (DBusTimeout*, void*)* DBusAddTimeoutFunction --> - <typedef-decl name='DBusAddTimeoutFunction' type-id='type-id-108' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='110' column='1' id='type-id-109'/> - <!-- typedef DBusTimeout DBusTimeout --> - <typedef-decl name='DBusTimeout' type-id='type-id-91' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='45' column='1' id='type-id-110'/> - <!-- typedef void (DBusTimeout*, void*)* DBusRemoveTimeoutFunction --> - <typedef-decl name='DBusRemoveTimeoutFunction' type-id='type-id-111' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='123' column='1' id='type-id-112'/> - <!-- typedef void (DBusTimeout*, void*)* DBusTimeoutToggledFunction --> - <typedef-decl name='DBusTimeoutToggledFunction' type-id='type-id-111' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='117' column='1' id='type-id-113'/> - <!-- typedef typedef dbus_bool_t (DBusWatch*, void*)* DBusAddWatchFunction --> - <typedef-decl name='DBusAddWatchFunction' type-id='type-id-114' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='91' column='1' id='type-id-115'/> - <!-- typedef DBusWatch DBusWatch --> - <typedef-decl name='DBusWatch' type-id='type-id-93' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='43' column='1' id='type-id-116'/> - <!-- typedef void (DBusWatch*, void*)* DBusRemoveWatchFunction --> - <typedef-decl name='DBusRemoveWatchFunction' type-id='type-id-117' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='103' column='1' id='type-id-118'/> - <!-- typedef void (DBusWatch*, void*)* DBusWatchToggledFunction --> - <typedef-decl name='DBusWatchToggledFunction' type-id='type-id-117' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='97' column='1' id='type-id-119'/> - <!-- typedef DBusPreallocatedSend DBusPreallocatedSend --> - <typedef-decl name='DBusPreallocatedSend' type-id='type-id-120' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='47' column='1' id='type-id-121'/> - <!-- struct DBusPreallocatedSend --> - <class-decl name='DBusPreallocatedSend' size-in-bits='192' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='241' column='1' id='type-id-120'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- DBusConnection* DBusPreallocatedSend::connection --> - <var-decl name='connection' type-id='type-id-47' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='242' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- DBusList* DBusPreallocatedSend::queue_link --> - <var-decl name='queue_link' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='243' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- DBusList* DBusPreallocatedSend::counter_link --> - <var-decl name='counter_link' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='244' column='1'/> - </data-member> - </class-decl> - <!-- typedef DBusPendingCall DBusPendingCall --> - <typedef-decl name='DBusPendingCall' type-id='type-id-88' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='49' column='1' id='type-id-122'/> - <!-- DBusCMutex* --> - <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/> - <!-- DBusCondVar* --> - <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-29'/> - <!-- DBusCounter* --> - <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-31'/> - <!-- DBusDataSlot* --> - <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-65'/> - <!-- DBusHashTable* --> - <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-36'/> - <!-- DBusMessage* --> - <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-30'/> - <!-- DBusObjectTree* --> - <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-41'/> - <!-- DBusPendingCall* --> - <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-123'/> - <!-- DBusPendingCall** --> - <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-124'/> - <!-- DBusPreallocatedSend* --> - <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-125'/> - <!-- DBusRMutex* --> - <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-27'/> - <!-- DBusTimeout* --> - <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-90'/> - <!-- DBusTimeoutList* --> - <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-34'/> - <!-- DBusTransport* --> - <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-32'/> - <!-- DBusWatch* --> - <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-126'/> - <!-- DBusWatchList* --> - <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-33'/> - <!-- char** --> - <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-127'/> - <!-- char*** --> - <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-128'/> - <!-- const DBusObjectPathVTable --> - <qualified-type-def type-id='type-id-96' const='yes' id='type-id-129'/> - <!-- const DBusObjectPathVTable* --> - <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-130'/> - <!-- dbus_int32_t* --> - <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-131'/> - <!-- typedef DBusHandlerResult (DBusConnection*, DBusMessage*, void*)* --> - <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-100'/> - <!-- typedef dbus_bool_t (DBusConnection*, const char*, void*)* --> - <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-104'/> - <!-- typedef dbus_bool_t (DBusConnection*, unsigned long int, void*)* --> - <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-106'/> - <!-- typedef dbus_bool_t (DBusTimeout*, void*)* --> - <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-108'/> - <!-- typedef dbus_bool_t (DBusWatch*, void*)* --> - <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-114'/> - <!-- unsigned long int* --> - <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-137'/> - <!-- void (DBusConnection*, typedef DBusDispatchStatus, void*)* --> - <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-62'/> - <!-- void (DBusConnection*, void*)* --> - <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-99'/> - <!-- void (DBusTimeout*, void*)* --> - <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-111'/> - <!-- void (DBusWatch*, void*)* --> - <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-117'/> - <!-- void (void*)* --> - <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-63'/> - <!-- void** --> - <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-141'/> - <!-- volatile dbus_int32_t --> - <qualified-type-def type-id='type-id-81' volatile='yes' id='type-id-64'/> - <!-- void dbus_connection_set_change_sigpipe(dbus_bool_t) --> - <function-decl name='dbus_connection_set_change_sigpipe' mangled-name='dbus_connection_set_change_sigpipe' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6043' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_change_sigpipe'> - <!-- parameter of type 'typedef dbus_bool_t' --> - <parameter type-id='type-id-17' name='will_modify_sigpipe' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6043' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void* dbus_connection_get_data(DBusConnection*, dbus_int32_t) --> - <function-decl name='dbus_connection_get_data' mangled-name='dbus_connection_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6017' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_data'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6017' column='1'/> - <!-- parameter of type 'typedef dbus_int32_t' --> - <parameter type-id='type-id-81' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6018' column='1'/> - <!-- void* --> - <return type-id='type-id-10'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_set_data(DBusConnection*, dbus_int32_t, void*, DBusFreeFunction) --> - <function-decl name='dbus_connection_set_data' mangled-name='dbus_connection_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_data'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5968' column='1'/> - <!-- parameter of type 'typedef dbus_int32_t' --> - <parameter type-id='type-id-81' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5969' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5970' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_func' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5971' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_free_data_slot(dbus_int32_t*) --> - <function-decl name='dbus_connection_free_data_slot' mangled-name='dbus_connection_free_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_free_data_slot'> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5938' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_allocate_data_slot(dbus_int32_t*) --> - <function-decl name='dbus_connection_allocate_data_slot' mangled-name='dbus_connection_allocate_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5920' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_allocate_data_slot'> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5920' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_list_registered(DBusConnection*, const char*, char***) --> - <function-decl name='dbus_connection_list_registered' mangled-name='dbus_connection_list_registered' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5878' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_list_registered'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5878' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='parent_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5879' column='1'/> - <!-- parameter of type 'char***' --> - <parameter type-id='type-id-128' name='child_entries' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5880' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_unregister_object_path(DBusConnection*, const char*) --> - <function-decl name='dbus_connection_unregister_object_path' mangled-name='dbus_connection_unregister_object_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5809' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_unregister_object_path'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5809' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5810' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- DBusConnection* dbus_connection_ref(DBusConnection*) --> - <function-decl name='dbus_connection_ref' mangled-name='dbus_connection_ref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_ref'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2681' column='1'/> - <!-- DBusConnection* --> - <return type-id='type-id-47'/> - </function-decl> - <!-- long int dbus_connection_get_outgoing_unix_fds(DBusConnection*) --> - <function-decl name='dbus_connection_get_outgoing_unix_fds' mangled-name='dbus_connection_get_outgoing_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6296' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_outgoing_unix_fds'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6296' column='1'/> - <!-- long int --> - <return type-id='type-id-80'/> - </function-decl> - <!-- long int dbus_connection_get_outgoing_size(DBusConnection*) --> - <function-decl name='dbus_connection_get_outgoing_size' mangled-name='dbus_connection_get_outgoing_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_outgoing_size'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6235' column='1'/> - <!-- long int --> - <return type-id='type-id-80'/> - </function-decl> - <!-- long int dbus_connection_get_max_received_unix_fds(DBusConnection*) --> - <function-decl name='dbus_connection_get_max_received_unix_fds' mangled-name='dbus_connection_get_max_received_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6212' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_max_received_unix_fds'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6212' column='1'/> - <!-- long int --> - <return type-id='type-id-80'/> - </function-decl> - <!-- void dbus_connection_set_max_received_unix_fds(DBusConnection*, long int) --> - <function-decl name='dbus_connection_set_max_received_unix_fds' mangled-name='dbus_connection_set_max_received_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_max_received_unix_fds'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6194' column='1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-80' name='n' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6195' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- long int dbus_connection_get_max_received_size(DBusConnection*) --> - <function-decl name='dbus_connection_get_max_received_size' mangled-name='dbus_connection_get_max_received_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_max_received_size'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6170' column='1'/> - <!-- long int --> - <return type-id='type-id-80'/> - </function-decl> - <!-- void dbus_connection_set_max_received_size(DBusConnection*, long int) --> - <function-decl name='dbus_connection_set_max_received_size' mangled-name='dbus_connection_set_max_received_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6152' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_max_received_size'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6152' column='1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-80' name='size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6153' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- long int dbus_connection_get_max_message_unix_fds(DBusConnection*) --> - <function-decl name='dbus_connection_get_max_message_unix_fds' mangled-name='dbus_connection_get_max_message_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_max_message_unix_fds'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6114' column='1'/> - <!-- long int --> - <return type-id='type-id-80'/> - </function-decl> - <!-- void dbus_connection_set_max_message_unix_fds(DBusConnection*, long int) --> - <function-decl name='dbus_connection_set_max_message_unix_fds' mangled-name='dbus_connection_set_max_message_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6096' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_max_message_unix_fds'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6096' column='1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-80' name='n' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6097' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- long int dbus_connection_get_max_message_size(DBusConnection*) --> - <function-decl name='dbus_connection_get_max_message_size' mangled-name='dbus_connection_get_max_message_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6075' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_max_message_size'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6075' column='1'/> - <!-- long int --> - <return type-id='type-id-80'/> - </function-decl> - <!-- void dbus_connection_set_max_message_size(DBusConnection*, long int) --> - <function-decl name='dbus_connection_set_max_message_size' mangled-name='dbus_connection_set_max_message_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6057' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_max_message_size'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6057' column='1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-80' name='size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6058' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_object_path_data(DBusConnection*, const char*, void**) --> - <function-decl name='dbus_connection_get_object_path_data' mangled-name='dbus_connection_get_object_path_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5841' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_object_path_data'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5841' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5842' column='1'/> - <!-- parameter of type 'void**' --> - <parameter type-id='type-id-141' name='data_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5843' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_register_fallback(DBusConnection*, const char*, const DBusObjectPathVTable*, void*) --> - <function-decl name='dbus_connection_register_fallback' mangled-name='dbus_connection_register_fallback' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5774' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_register_fallback'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5774' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5775' column='1'/> - <!-- parameter of type 'const DBusObjectPathVTable*' --> - <parameter type-id='type-id-130' name='vtable' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5776' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5777' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_try_register_fallback(DBusConnection*, const char*, const DBusObjectPathVTable*, void*, DBusError*) --> - <function-decl name='dbus_connection_try_register_fallback' mangled-name='dbus_connection_try_register_fallback' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_try_register_fallback'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5742' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5743' column='1'/> - <!-- parameter of type 'const DBusObjectPathVTable*' --> - <parameter type-id='type-id-130' name='vtable' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5744' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5745' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5746' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_register_object_path(DBusConnection*, const char*, const DBusObjectPathVTable*, void*) --> - <function-decl name='dbus_connection_register_object_path' mangled-name='dbus_connection_register_object_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_register_object_path'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5702' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5703' column='1'/> - <!-- parameter of type 'const DBusObjectPathVTable*' --> - <parameter type-id='type-id-130' name='vtable' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5704' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5705' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_try_register_object_path(DBusConnection*, const char*, const DBusObjectPathVTable*, void*, DBusError*) --> - <function-decl name='dbus_connection_try_register_object_path' mangled-name='dbus_connection_try_register_object_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5672' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_try_register_object_path'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5672' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5673' column='1'/> - <!-- parameter of type 'const DBusObjectPathVTable*' --> - <parameter type-id='type-id-130' name='vtable' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5674' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5675' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5676' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_remove_filter(DBusConnection*, DBusHandleMessageFunction, void*) --> - <function-decl name='dbus_connection_remove_filter' mangled-name='dbus_connection_remove_filter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_remove_filter'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5563' column='1'/> - <!-- parameter of type 'typedef DBusHandleMessageFunction' --> - <parameter type-id='type-id-103' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5564' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5565' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_add_filter(DBusConnection*, DBusHandleMessageFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_connection_add_filter' mangled-name='dbus_connection_add_filter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5511' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_add_filter'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5511' column='1'/> - <!-- parameter of type 'typedef DBusHandleMessageFunction' --> - <parameter type-id='type-id-103' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5512' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5513' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5514' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_set_route_peer_messages(DBusConnection*, dbus_bool_t) --> - <function-decl name='dbus_connection_set_route_peer_messages' mangled-name='dbus_connection_set_route_peer_messages' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_route_peer_messages'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5479' column='1'/> - <!-- parameter of type 'typedef dbus_bool_t' --> - <parameter type-id='type-id-17' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5480' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_connection_set_allow_anonymous(DBusConnection*, dbus_bool_t) --> - <function-decl name='dbus_connection_set_allow_anonymous' mangled-name='dbus_connection_set_allow_anonymous' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_allow_anonymous'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5451' column='1'/> - <!-- parameter of type 'typedef dbus_bool_t' --> - <parameter type-id='type-id-17' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5452' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_connection_set_windows_user_function(DBusConnection*, DBusAllowWindowsUserFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_connection_set_windows_user_function' mangled-name='dbus_connection_set_windows_user_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_windows_user_function'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5404' column='1'/> - <!-- parameter of type 'typedef DBusAllowWindowsUserFunction' --> - <parameter type-id='type-id-105' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5405' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5406' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5407' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_windows_user(DBusConnection*, char**) --> - <function-decl name='dbus_connection_get_windows_user' mangled-name='dbus_connection_get_windows_user' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5357' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_windows_user'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5357' column='1'/> - <!-- parameter of type 'char**' --> - <parameter type-id='type-id-127' name='windows_sid_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5358' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_set_unix_user_function(DBusConnection*, DBusAllowUnixUserFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_connection_set_unix_user_function' mangled-name='dbus_connection_set_unix_user_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5305' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_unix_user_function'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5305' column='1'/> - <!-- parameter of type 'typedef DBusAllowUnixUserFunction' --> - <parameter type-id='type-id-107' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5306' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5307' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5308' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_adt_audit_session_data(DBusConnection*, void**, dbus_int32_t*) --> - <function-decl name='dbus_connection_get_adt_audit_session_data' mangled-name='dbus_connection_get_adt_audit_session_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5259' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_adt_audit_session_data'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5259' column='1'/> - <!-- parameter of type 'void**' --> - <parameter type-id='type-id-141' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5260' column='1'/> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='data_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5261' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_unix_process_id(DBusConnection*, unsigned long int*) --> - <function-decl name='dbus_connection_get_unix_process_id' mangled-name='dbus_connection_get_unix_process_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_unix_process_id'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5226' column='1'/> - <!-- parameter of type 'unsigned long int*' --> - <parameter type-id='type-id-137' name='pid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5227' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_unix_user(DBusConnection*, unsigned long int*) --> - <function-decl name='dbus_connection_get_unix_user' mangled-name='dbus_connection_get_unix_user' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_unix_user'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5190' column='1'/> - <!-- parameter of type 'unsigned long int*' --> - <parameter type-id='type-id-137' name='uid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5191' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_socket(DBusConnection*, int*) --> - <function-decl name='dbus_connection_get_socket' mangled-name='dbus_connection_get_socket' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_socket'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5148' column='1'/> - <!-- parameter of type 'int*' --> - <parameter type-id='type-id-24' name='fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5149' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_unix_fd(DBusConnection*, int*) --> - <function-decl name='dbus_connection_get_unix_fd' mangled-name='dbus_connection_get_unix_fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_unix_fd'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5118' column='1'/> - <!-- parameter of type 'int*' --> - <parameter type-id='type-id-24' name='fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5119' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_set_dispatch_status_function(DBusConnection*, DBusDispatchStatusFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_connection_set_dispatch_status_function' mangled-name='dbus_connection_set_dispatch_status_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5073' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_dispatch_status_function'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5073' column='1'/> - <!-- parameter of type 'typedef DBusDispatchStatusFunction' --> - <parameter type-id='type-id-39' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5074' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5075' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5076' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_connection_set_wakeup_main_function(DBusConnection*, DBusWakeupMainFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_connection_set_wakeup_main_function' mangled-name='dbus_connection_set_wakeup_main_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5027' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_wakeup_main_function'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5027' column='1'/> - <!-- parameter of type 'typedef DBusWakeupMainFunction' --> - <parameter type-id='type-id-37' name='wakeup_main_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5028' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5029' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5030' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_set_timeout_functions(DBusConnection*, DBusAddTimeoutFunction, DBusRemoveTimeoutFunction, DBusTimeoutToggledFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_connection_set_timeout_functions' mangled-name='dbus_connection_set_timeout_functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4989' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_timeout_functions'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4989' column='1'/> - <!-- parameter of type 'typedef DBusAddTimeoutFunction' --> - <parameter type-id='type-id-109' name='add_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4990' column='1'/> - <!-- parameter of type 'typedef DBusRemoveTimeoutFunction' --> - <parameter type-id='type-id-112' name='remove_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4991' column='1'/> - <!-- parameter of type 'typedef DBusTimeoutToggledFunction' --> - <parameter type-id='type-id-113' name='toggled_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4992' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4993' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4994' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_set_watch_functions(DBusConnection*, DBusAddWatchFunction, DBusRemoveWatchFunction, DBusWatchToggledFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_connection_set_watch_functions' mangled-name='dbus_connection_set_watch_functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4926' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_watch_functions'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4926' column='1'/> - <!-- parameter of type 'typedef DBusAddWatchFunction' --> - <parameter type-id='type-id-115' name='add_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4927' column='1'/> - <!-- parameter of type 'typedef DBusRemoveWatchFunction' --> - <parameter type-id='type-id-118' name='remove_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4928' column='1'/> - <!-- parameter of type 'typedef DBusWatchToggledFunction' --> - <parameter type-id='type-id-119' name='toggled_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4929' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4930' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4931' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_set_exit_on_disconnect(DBusConnection*, dbus_bool_t) --> - <function-decl name='dbus_connection_set_exit_on_disconnect' mangled-name='dbus_connection_set_exit_on_disconnect' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_exit_on_disconnect'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3145' column='1'/> - <!-- parameter of type 'typedef dbus_bool_t' --> - <parameter type-id='type-id-17' name='exit_on_disconnect' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3146' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_is_authenticated(DBusConnection*) --> - <function-decl name='dbus_connection_get_is_authenticated' mangled-name='dbus_connection_get_is_authenticated' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_is_authenticated'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2995' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> + <class-decl name='DBusWatchList' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-115'/> <!-- dbus_bool_t dbus_connection_has_messages_to_send(DBusConnection*) --> <function-decl name='dbus_connection_has_messages_to_send' mangled-name='dbus_connection_has_messages_to_send' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_has_messages_to_send'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='588' column='1'/> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='588' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- DBusPreallocatedSend* dbus_connection_preallocate_send(DBusConnection*) --> - <function-decl name='dbus_connection_preallocate_send' mangled-name='dbus_connection_preallocate_send' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_preallocate_send'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3165' column='1'/> - <!-- DBusPreallocatedSend* --> - <return type-id='type-id-125'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_is_connected(DBusConnection*) --> - <function-decl name='dbus_connection_get_is_connected' mangled-name='dbus_connection_get_is_connected' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2973' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_is_connected'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2973' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_free_preallocated_send(DBusConnection*, DBusPreallocatedSend*) --> - <function-decl name='dbus_connection_free_preallocated_send' mangled-name='dbus_connection_free_preallocated_send' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_free_preallocated_send'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3191' column='1'/> - <!-- parameter of type 'DBusPreallocatedSend*' --> - <parameter type-id='type-id-125' name='preallocated' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3192' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_can_send_type(DBusConnection*, int) --> - <function-decl name='dbus_connection_can_send_type' mangled-name='dbus_connection_can_send_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_can_send_type'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3105' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3106' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- char* dbus_connection_get_server_id(DBusConnection*) --> - <function-decl name='dbus_connection_get_server_id' mangled-name='dbus_connection_get_server_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3074' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_server_id'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3074' column='1'/> - <!-- char* --> - <return type-id='type-id-22'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_get_is_anonymous(DBusConnection*) --> - <function-decl name='dbus_connection_get_is_anonymous' mangled-name='dbus_connection_get_is_anonymous' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3029' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_is_anonymous'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3029' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_unref(DBusConnection*) --> - <function-decl name='dbus_connection_unref' mangled-name='dbus_connection_unref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_unref'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2817' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- DBusDispatchStatus dbus_connection_get_dispatch_status(DBusConnection*) --> - <function-decl name='dbus_connection_get_dispatch_status' mangled-name='dbus_connection_get_dispatch_status' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_dispatch_status'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4378' column='1'/> - <!-- typedef DBusDispatchStatus --> - <return type-id='type-id-40'/> - </function-decl> - <!-- DBusMessage* dbus_connection_borrow_message(DBusConnection*) --> - <function-decl name='dbus_connection_borrow_message' mangled-name='dbus_connection_borrow_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3850' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_borrow_message'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3850' column='1'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> - </function-decl> - <!-- DBusMessage* dbus_connection_pop_message(DBusConnection*) --> - <function-decl name='dbus_connection_pop_message' mangled-name='dbus_connection_pop_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4091' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_pop_message'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4091' column='1'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> - </function-decl> - <!-- void dbus_connection_steal_borrowed_message(DBusConnection*, DBusMessage*) --> - <function-decl name='dbus_connection_steal_borrowed_message' mangled-name='dbus_connection_steal_borrowed_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3935' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_steal_borrowed_message'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3935' column='1'/> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3936' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_connection_return_message(DBusConnection*, DBusMessage*) --> - <function-decl name='dbus_connection_return_message' mangled-name='dbus_connection_return_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3901' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_return_message'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3901' column='1'/> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3902' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_connection_flush(DBusConnection*) --> - <function-decl name='dbus_connection_flush' mangled-name='dbus_connection_flush' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_flush'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3641' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_connection_send_preallocated(DBusConnection*, DBusPreallocatedSend*, DBusMessage*, dbus_uint32_t*) --> - <function-decl name='dbus_connection_send_preallocated' mangled-name='dbus_connection_send_preallocated' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_send_preallocated'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3217' column='1'/> - <!-- parameter of type 'DBusPreallocatedSend*' --> - <parameter type-id='type-id-125' name='preallocated' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3218' column='1'/> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3219' column='1'/> - <!-- parameter of type 'dbus_uint32_t*' --> - <parameter type-id='type-id-48' name='client_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3220' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_send(DBusConnection*, DBusMessage*, dbus_uint32_t*) --> - <function-decl name='dbus_connection_send' mangled-name='dbus_connection_send' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_send'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3302' column='1'/> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3303' column='1'/> - <!-- parameter of type 'dbus_uint32_t*' --> - <parameter type-id='type-id-48' name='serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3304' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_connection_close(DBusConnection*) --> - <function-decl name='dbus_connection_close' mangled-name='dbus_connection_close' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2932' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_close'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2932' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- DBusConnection* dbus_connection_open_private(const char*, DBusError*) --> - <function-decl name='dbus_connection_open_private' mangled-name='dbus_connection_open_private' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_open_private'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2659' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2660' column='1'/> - <!-- DBusConnection* --> - <return type-id='type-id-47'/> + <return type-id='type-id-13'/> </function-decl> <!-- DBusConnection* dbus_connection_open(const char*, DBusError*) --> <function-decl name='dbus_connection_open' mangled-name='dbus_connection_open' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2616' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_open'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2616' column='1'/> + <parameter type-id='type-id-7' name='address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2616' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2617' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2617' column='1'/> <!-- DBusConnection* --> - <return type-id='type-id-47'/> + <return type-id='type-id-31'/> + </function-decl> + <!-- DBusConnection* dbus_connection_open_private(const char*, DBusError*) --> + <function-decl name='dbus_connection_open_private' mangled-name='dbus_connection_open_private' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_open_private'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2659' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2660' column='1'/> + <!-- DBusConnection* --> + <return type-id='type-id-31'/> + </function-decl> + <!-- DBusConnection* dbus_connection_ref(DBusConnection*) --> + <function-decl name='dbus_connection_ref' mangled-name='dbus_connection_ref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_ref'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2681' column='1'/> + <!-- DBusConnection* --> + <return type-id='type-id-31'/> + </function-decl> + <!-- void dbus_connection_unref(DBusConnection*) --> + <function-decl name='dbus_connection_unref' mangled-name='dbus_connection_unref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_unref'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2817' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_connection_close(DBusConnection*) --> + <function-decl name='dbus_connection_close' mangled-name='dbus_connection_close' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2932' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_close'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2932' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_is_connected(DBusConnection*) --> + <function-decl name='dbus_connection_get_is_connected' mangled-name='dbus_connection_get_is_connected' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2973' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_is_connected'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2973' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_is_authenticated(DBusConnection*) --> + <function-decl name='dbus_connection_get_is_authenticated' mangled-name='dbus_connection_get_is_authenticated' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_is_authenticated'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='2995' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_is_anonymous(DBusConnection*) --> + <function-decl name='dbus_connection_get_is_anonymous' mangled-name='dbus_connection_get_is_anonymous' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3029' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_is_anonymous'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3029' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- char* dbus_connection_get_server_id(DBusConnection*) --> + <function-decl name='dbus_connection_get_server_id' mangled-name='dbus_connection_get_server_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3074' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_server_id'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3074' column='1'/> + <!-- char* --> + <return type-id='type-id-21'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_can_send_type(DBusConnection*, int) --> + <function-decl name='dbus_connection_can_send_type' mangled-name='dbus_connection_can_send_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_can_send_type'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3105' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3106' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_connection_set_exit_on_disconnect(DBusConnection*, dbus_bool_t) --> + <function-decl name='dbus_connection_set_exit_on_disconnect' mangled-name='dbus_connection_set_exit_on_disconnect' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_exit_on_disconnect'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3145' column='1'/> + <!-- parameter of type 'typedef dbus_bool_t' --> + <parameter type-id='type-id-13' name='exit_on_disconnect' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3146' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- DBusPreallocatedSend* dbus_connection_preallocate_send(DBusConnection*) --> + <function-decl name='dbus_connection_preallocate_send' mangled-name='dbus_connection_preallocate_send' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_preallocate_send'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3165' column='1'/> + <!-- DBusPreallocatedSend* --> + <return type-id='type-id-119'/> + </function-decl> + <!-- void dbus_connection_free_preallocated_send(DBusConnection*, DBusPreallocatedSend*) --> + <function-decl name='dbus_connection_free_preallocated_send' mangled-name='dbus_connection_free_preallocated_send' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_free_preallocated_send'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3191' column='1'/> + <!-- parameter of type 'DBusPreallocatedSend*' --> + <parameter type-id='type-id-119' name='preallocated' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3192' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_connection_send_preallocated(DBusConnection*, DBusPreallocatedSend*, DBusMessage*, dbus_uint32_t*) --> + <function-decl name='dbus_connection_send_preallocated' mangled-name='dbus_connection_send_preallocated' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_send_preallocated'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3217' column='1'/> + <!-- parameter of type 'DBusPreallocatedSend*' --> + <parameter type-id='type-id-119' name='preallocated' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3218' column='1'/> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3219' column='1'/> + <!-- parameter of type 'dbus_uint32_t*' --> + <parameter type-id='type-id-32' name='client_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3220' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_send(DBusConnection*, DBusMessage*, dbus_uint32_t*) --> + <function-decl name='dbus_connection_send' mangled-name='dbus_connection_send' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_send'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3302' column='1'/> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3303' column='1'/> + <!-- parameter of type 'dbus_uint32_t*' --> + <parameter type-id='type-id-32' name='serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3304' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> </function-decl> <!-- dbus_bool_t dbus_connection_send_with_reply(DBusConnection*, DBusMessage*, DBusPendingCall**, int) --> <function-decl name='dbus_connection_send_with_reply' mangled-name='dbus_connection_send_with_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3399' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_send_with_reply'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3399' column='1'/> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3399' column='1'/> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3400' column='1'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3400' column='1'/> <!-- parameter of type 'DBusPendingCall**' --> - <parameter type-id='type-id-124' name='pending_return' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3401' column='1'/> + <parameter type-id='type-id-118' name='pending_return' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3401' column='1'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-2' name='timeout_milliseconds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3402' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> <!-- DBusMessage* dbus_connection_send_with_reply_and_block(DBusConnection*, DBusMessage*, int, DBusError*) --> <function-decl name='dbus_connection_send_with_reply_and_block' mangled-name='dbus_connection_send_with_reply_and_block' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_send_with_reply_and_block'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3535' column='1'/> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3535' column='1'/> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3536' column='1'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3536' column='1'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-2' name='timeout_milliseconds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3537' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3538' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3538' column='1'/> <!-- DBusMessage* --> - <return type-id='type-id-30'/> + <return type-id='type-id-37'/> </function-decl> - <!-- DBusDispatchStatus dbus_connection_dispatch(DBusConnection*) --> - <function-decl name='dbus_connection_dispatch' mangled-name='dbus_connection_dispatch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4549' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_dispatch'> + <!-- void dbus_connection_flush(DBusConnection*) --> + <function-decl name='dbus_connection_flush' mangled-name='dbus_connection_flush' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_flush'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4549' column='1'/> - <!-- typedef DBusDispatchStatus --> - <return type-id='type-id-40'/> - </function-decl> - <!-- dbus_bool_t dbus_connection_read_write(DBusConnection*, int) --> - <function-decl name='dbus_connection_read_write' mangled-name='dbus_connection_read_write' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_read_write'> - <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3801' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='timeout_milliseconds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3802' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3641' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> </function-decl> <!-- dbus_bool_t dbus_connection_read_write_dispatch(DBusConnection*, int) --> <function-decl name='dbus_connection_read_write_dispatch' mangled-name='dbus_connection_read_write_dispatch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3769' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_read_write_dispatch'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3769' column='1'/> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3769' column='1'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-2' name='timeout_milliseconds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3770' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_read_write(DBusConnection*, int) --> + <function-decl name='dbus_connection_read_write' mangled-name='dbus_connection_read_write' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_read_write'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3801' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='timeout_milliseconds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3802' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- DBusMessage* dbus_connection_borrow_message(DBusConnection*) --> + <function-decl name='dbus_connection_borrow_message' mangled-name='dbus_connection_borrow_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3850' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_borrow_message'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3850' column='1'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- void dbus_connection_return_message(DBusConnection*, DBusMessage*) --> + <function-decl name='dbus_connection_return_message' mangled-name='dbus_connection_return_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3901' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_return_message'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3901' column='1'/> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3902' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_connection_steal_borrowed_message(DBusConnection*, DBusMessage*) --> + <function-decl name='dbus_connection_steal_borrowed_message' mangled-name='dbus_connection_steal_borrowed_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3935' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_steal_borrowed_message'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3935' column='1'/> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='3936' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- DBusMessage* dbus_connection_pop_message(DBusConnection*) --> + <function-decl name='dbus_connection_pop_message' mangled-name='dbus_connection_pop_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4091' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_pop_message'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4091' column='1'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- DBusDispatchStatus dbus_connection_get_dispatch_status(DBusConnection*) --> + <function-decl name='dbus_connection_get_dispatch_status' mangled-name='dbus_connection_get_dispatch_status' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_dispatch_status'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4378' column='1'/> + <!-- typedef DBusDispatchStatus --> + <return type-id='type-id-47'/> + </function-decl> + <!-- DBusDispatchStatus dbus_connection_dispatch(DBusConnection*) --> + <function-decl name='dbus_connection_dispatch' mangled-name='dbus_connection_dispatch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4549' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_dispatch'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4549' column='1'/> + <!-- typedef DBusDispatchStatus --> + <return type-id='type-id-47'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_set_watch_functions(DBusConnection*, DBusAddWatchFunction, DBusRemoveWatchFunction, DBusWatchToggledFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_connection_set_watch_functions' mangled-name='dbus_connection_set_watch_functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4926' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_watch_functions'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4926' column='1'/> + <!-- parameter of type 'typedef DBusAddWatchFunction' --> + <parameter type-id='type-id-86' name='add_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4927' column='1'/> + <!-- parameter of type 'typedef DBusRemoveWatchFunction' --> + <parameter type-id='type-id-89' name='remove_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4928' column='1'/> + <!-- parameter of type 'typedef DBusWatchToggledFunction' --> + <parameter type-id='type-id-88' name='toggled_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4929' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4930' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4931' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_set_timeout_functions(DBusConnection*, DBusAddTimeoutFunction, DBusRemoveTimeoutFunction, DBusTimeoutToggledFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_connection_set_timeout_functions' mangled-name='dbus_connection_set_timeout_functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4989' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_timeout_functions'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4989' column='1'/> + <!-- parameter of type 'typedef DBusAddTimeoutFunction' --> + <parameter type-id='type-id-91' name='add_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4990' column='1'/> + <!-- parameter of type 'typedef DBusRemoveTimeoutFunction' --> + <parameter type-id='type-id-94' name='remove_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4991' column='1'/> + <!-- parameter of type 'typedef DBusTimeoutToggledFunction' --> + <parameter type-id='type-id-93' name='toggled_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4992' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4993' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='4994' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_connection_set_wakeup_main_function(DBusConnection*, DBusWakeupMainFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_connection_set_wakeup_main_function' mangled-name='dbus_connection_set_wakeup_main_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5027' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_wakeup_main_function'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5027' column='1'/> + <!-- parameter of type 'typedef DBusWakeupMainFunction' --> + <parameter type-id='type-id-44' name='wakeup_main_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5028' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5029' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5030' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_connection_set_dispatch_status_function(DBusConnection*, DBusDispatchStatusFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_connection_set_dispatch_status_function' mangled-name='dbus_connection_set_dispatch_status_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5073' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_dispatch_status_function'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5073' column='1'/> + <!-- parameter of type 'typedef DBusDispatchStatusFunction' --> + <parameter type-id='type-id-46' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5074' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5075' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5076' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_unix_fd(DBusConnection*, int*) --> + <function-decl name='dbus_connection_get_unix_fd' mangled-name='dbus_connection_get_unix_fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_unix_fd'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5118' column='1'/> + <!-- parameter of type 'int*' --> + <parameter type-id='type-id-23' name='fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5119' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_socket(DBusConnection*, int*) --> + <function-decl name='dbus_connection_get_socket' mangled-name='dbus_connection_get_socket' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_socket'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5148' column='1'/> + <!-- parameter of type 'int*' --> + <parameter type-id='type-id-23' name='fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5149' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_unix_user(DBusConnection*, unsigned long int*) --> + <function-decl name='dbus_connection_get_unix_user' mangled-name='dbus_connection_get_unix_user' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_unix_user'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5190' column='1'/> + <!-- parameter of type 'unsigned long int*' --> + <parameter type-id='type-id-132' name='uid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5191' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_unix_process_id(DBusConnection*, unsigned long int*) --> + <function-decl name='dbus_connection_get_unix_process_id' mangled-name='dbus_connection_get_unix_process_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_unix_process_id'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5226' column='1'/> + <!-- parameter of type 'unsigned long int*' --> + <parameter type-id='type-id-132' name='pid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5227' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_adt_audit_session_data(DBusConnection*, void**, dbus_int32_t*) --> + <function-decl name='dbus_connection_get_adt_audit_session_data' mangled-name='dbus_connection_get_adt_audit_session_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5259' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_adt_audit_session_data'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5259' column='1'/> + <!-- parameter of type 'void**' --> + <parameter type-id='type-id-138' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5260' column='1'/> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='data_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5261' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_connection_set_unix_user_function(DBusConnection*, DBusAllowUnixUserFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_connection_set_unix_user_function' mangled-name='dbus_connection_set_unix_user_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5305' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_unix_user_function'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5305' column='1'/> + <!-- parameter of type 'typedef DBusAllowUnixUserFunction' --> + <parameter type-id='type-id-97' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5306' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5307' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5308' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_windows_user(DBusConnection*, char**) --> + <function-decl name='dbus_connection_get_windows_user' mangled-name='dbus_connection_get_windows_user' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5357' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_windows_user'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5357' column='1'/> + <!-- parameter of type 'char**' --> + <parameter type-id='type-id-122' name='windows_sid_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5358' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_connection_set_windows_user_function(DBusConnection*, DBusAllowWindowsUserFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_connection_set_windows_user_function' mangled-name='dbus_connection_set_windows_user_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_windows_user_function'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5404' column='1'/> + <!-- parameter of type 'typedef DBusAllowWindowsUserFunction' --> + <parameter type-id='type-id-99' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5405' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5406' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5407' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_connection_set_allow_anonymous(DBusConnection*, dbus_bool_t) --> + <function-decl name='dbus_connection_set_allow_anonymous' mangled-name='dbus_connection_set_allow_anonymous' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_allow_anonymous'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5451' column='1'/> + <!-- parameter of type 'typedef dbus_bool_t' --> + <parameter type-id='type-id-13' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5452' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_connection_set_route_peer_messages(DBusConnection*, dbus_bool_t) --> + <function-decl name='dbus_connection_set_route_peer_messages' mangled-name='dbus_connection_set_route_peer_messages' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_route_peer_messages'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5479' column='1'/> + <!-- parameter of type 'typedef dbus_bool_t' --> + <parameter type-id='type-id-13' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5480' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_add_filter(DBusConnection*, DBusHandleMessageFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_connection_add_filter' mangled-name='dbus_connection_add_filter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5511' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_add_filter'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5511' column='1'/> + <!-- parameter of type 'typedef DBusHandleMessageFunction' --> + <parameter type-id='type-id-101' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5512' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5513' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5514' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_connection_remove_filter(DBusConnection*, DBusHandleMessageFunction, void*) --> + <function-decl name='dbus_connection_remove_filter' mangled-name='dbus_connection_remove_filter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_remove_filter'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5563' column='1'/> + <!-- parameter of type 'typedef DBusHandleMessageFunction' --> + <parameter type-id='type-id-101' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5564' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5565' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_try_register_object_path(DBusConnection*, const char*, const DBusObjectPathVTable*, void*, DBusError*) --> + <function-decl name='dbus_connection_try_register_object_path' mangled-name='dbus_connection_try_register_object_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5672' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_try_register_object_path'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5672' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5673' column='1'/> + <!-- parameter of type 'const DBusObjectPathVTable*' --> + <parameter type-id='type-id-125' name='vtable' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5674' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5675' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5676' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_register_object_path(DBusConnection*, const char*, const DBusObjectPathVTable*, void*) --> + <function-decl name='dbus_connection_register_object_path' mangled-name='dbus_connection_register_object_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_register_object_path'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5702' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5703' column='1'/> + <!-- parameter of type 'const DBusObjectPathVTable*' --> + <parameter type-id='type-id-125' name='vtable' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5704' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5705' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_try_register_fallback(DBusConnection*, const char*, const DBusObjectPathVTable*, void*, DBusError*) --> + <function-decl name='dbus_connection_try_register_fallback' mangled-name='dbus_connection_try_register_fallback' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_try_register_fallback'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5742' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5743' column='1'/> + <!-- parameter of type 'const DBusObjectPathVTable*' --> + <parameter type-id='type-id-125' name='vtable' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5744' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5745' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5746' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_register_fallback(DBusConnection*, const char*, const DBusObjectPathVTable*, void*) --> + <function-decl name='dbus_connection_register_fallback' mangled-name='dbus_connection_register_fallback' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5774' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_register_fallback'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5774' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5775' column='1'/> + <!-- parameter of type 'const DBusObjectPathVTable*' --> + <parameter type-id='type-id-125' name='vtable' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5776' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5777' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_unregister_object_path(DBusConnection*, const char*) --> + <function-decl name='dbus_connection_unregister_object_path' mangled-name='dbus_connection_unregister_object_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5809' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_unregister_object_path'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5809' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5810' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_get_object_path_data(DBusConnection*, const char*, void**) --> + <function-decl name='dbus_connection_get_object_path_data' mangled-name='dbus_connection_get_object_path_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5841' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_object_path_data'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5841' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5842' column='1'/> + <!-- parameter of type 'void**' --> + <parameter type-id='type-id-138' name='data_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5843' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_list_registered(DBusConnection*, const char*, char***) --> + <function-decl name='dbus_connection_list_registered' mangled-name='dbus_connection_list_registered' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5878' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_list_registered'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5878' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='parent_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5879' column='1'/> + <!-- parameter of type 'char***' --> + <parameter type-id='type-id-123' name='child_entries' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5880' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_allocate_data_slot(dbus_int32_t*) --> + <function-decl name='dbus_connection_allocate_data_slot' mangled-name='dbus_connection_allocate_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5920' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_allocate_data_slot'> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5920' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_connection_free_data_slot(dbus_int32_t*) --> + <function-decl name='dbus_connection_free_data_slot' mangled-name='dbus_connection_free_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_free_data_slot'> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5938' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_connection_set_data(DBusConnection*, dbus_int32_t, void*, DBusFreeFunction) --> + <function-decl name='dbus_connection_set_data' mangled-name='dbus_connection_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_data'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5968' column='1'/> + <!-- parameter of type 'typedef dbus_int32_t' --> + <parameter type-id='type-id-53' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5969' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5970' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_func' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='5971' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void* dbus_connection_get_data(DBusConnection*, dbus_int32_t) --> + <function-decl name='dbus_connection_get_data' mangled-name='dbus_connection_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6017' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_data'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6017' column='1'/> + <!-- parameter of type 'typedef dbus_int32_t' --> + <parameter type-id='type-id-53' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6018' column='1'/> + <!-- void* --> + <return type-id='type-id-8'/> + </function-decl> + <!-- void dbus_connection_set_change_sigpipe(dbus_bool_t) --> + <function-decl name='dbus_connection_set_change_sigpipe' mangled-name='dbus_connection_set_change_sigpipe' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6043' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_change_sigpipe'> + <!-- parameter of type 'typedef dbus_bool_t' --> + <parameter type-id='type-id-13' name='will_modify_sigpipe' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6043' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_connection_set_max_message_size(DBusConnection*, long int) --> + <function-decl name='dbus_connection_set_max_message_size' mangled-name='dbus_connection_set_max_message_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6057' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_max_message_size'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6057' column='1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-52' name='size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6058' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- long int dbus_connection_get_max_message_size(DBusConnection*) --> + <function-decl name='dbus_connection_get_max_message_size' mangled-name='dbus_connection_get_max_message_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6075' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_max_message_size'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6075' column='1'/> + <!-- long int --> + <return type-id='type-id-52'/> + </function-decl> + <!-- void dbus_connection_set_max_message_unix_fds(DBusConnection*, long int) --> + <function-decl name='dbus_connection_set_max_message_unix_fds' mangled-name='dbus_connection_set_max_message_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6096' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_max_message_unix_fds'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6096' column='1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-52' name='n' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6097' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- long int dbus_connection_get_max_message_unix_fds(DBusConnection*) --> + <function-decl name='dbus_connection_get_max_message_unix_fds' mangled-name='dbus_connection_get_max_message_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_max_message_unix_fds'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6114' column='1'/> + <!-- long int --> + <return type-id='type-id-52'/> + </function-decl> + <!-- void dbus_connection_set_max_received_size(DBusConnection*, long int) --> + <function-decl name='dbus_connection_set_max_received_size' mangled-name='dbus_connection_set_max_received_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6152' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_max_received_size'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6152' column='1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-52' name='size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6153' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- long int dbus_connection_get_max_received_size(DBusConnection*) --> + <function-decl name='dbus_connection_get_max_received_size' mangled-name='dbus_connection_get_max_received_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_max_received_size'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6170' column='1'/> + <!-- long int --> + <return type-id='type-id-52'/> + </function-decl> + <!-- void dbus_connection_set_max_received_unix_fds(DBusConnection*, long int) --> + <function-decl name='dbus_connection_set_max_received_unix_fds' mangled-name='dbus_connection_set_max_received_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_set_max_received_unix_fds'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6194' column='1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-52' name='n' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6195' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- long int dbus_connection_get_max_received_unix_fds(DBusConnection*) --> + <function-decl name='dbus_connection_get_max_received_unix_fds' mangled-name='dbus_connection_get_max_received_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6212' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_max_received_unix_fds'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6212' column='1'/> + <!-- long int --> + <return type-id='type-id-52'/> + </function-decl> + <!-- long int dbus_connection_get_outgoing_size(DBusConnection*) --> + <function-decl name='dbus_connection_get_outgoing_size' mangled-name='dbus_connection_get_outgoing_size' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_outgoing_size'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6235' column='1'/> + <!-- long int --> + <return type-id='type-id-52'/> + </function-decl> + <!-- long int dbus_connection_get_outgoing_unix_fds(DBusConnection*) --> + <function-decl name='dbus_connection_get_outgoing_unix_fds' mangled-name='dbus_connection_get_outgoing_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6296' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_connection_get_outgoing_unix_fds'> + <!-- parameter of type 'DBusConnection*' --> + <parameter type-id='type-id-31' name='connection' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='6296' column='1'/> + <!-- long int --> + <return type-id='type-id-52'/> </function-decl> <!-- DBusHandlerResult (DBusConnection*, DBusMessage*, void*) --> - <function-type size-in-bits='64' id='type-id-132'> + <function-type size-in-bits='64' id='type-id-127'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47'/> + <parameter type-id='type-id-31'/> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30'/> + <parameter type-id='type-id-37'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- typedef DBusHandlerResult --> - <return type-id='type-id-102'/> + <return type-id='type-id-109'/> </function-type> <!-- dbus_bool_t (DBusConnection*, const char*, void*) --> - <function-type size-in-bits='64' id='type-id-133'> + <function-type size-in-bits='64' id='type-id-128'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47'/> + <parameter type-id='type-id-31'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-7'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-type> <!-- dbus_bool_t (DBusConnection*, unsigned long int, void*) --> - <function-type size-in-bits='64' id='type-id-134'> + <function-type size-in-bits='64' id='type-id-129'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47'/> + <parameter type-id='type-id-31'/> <!-- parameter of type 'unsigned long int' --> - <parameter type-id='type-id-43'/> + <parameter type-id='type-id-26'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-type> <!-- dbus_bool_t (DBusTimeout*, void*) --> - <function-type size-in-bits='64' id='type-id-135'> + <function-type size-in-bits='64' id='type-id-130'> <!-- parameter of type 'DBusTimeout*' --> - <parameter type-id='type-id-90'/> + <parameter type-id='type-id-120'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-type> <!-- dbus_bool_t (DBusWatch*, void*) --> - <function-type size-in-bits='64' id='type-id-136'> + <function-type size-in-bits='64' id='type-id-131'> <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126'/> + <parameter type-id='type-id-121'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-type> <!-- void (DBusConnection*, DBusDispatchStatus, void*) --> - <function-type size-in-bits='64' id='type-id-76'> + <function-type size-in-bits='64' id='type-id-133'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47'/> + <parameter type-id='type-id-31'/> <!-- parameter of type 'typedef DBusDispatchStatus' --> - <parameter type-id='type-id-40'/> + <parameter type-id='type-id-47'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> <!-- void (DBusConnection*, void*) --> - <function-type size-in-bits='64' id='type-id-138'> + <function-type size-in-bits='64' id='type-id-134'> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47'/> + <parameter type-id='type-id-31'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> <!-- void (DBusTimeout*, void*) --> - <function-type size-in-bits='64' id='type-id-139'> + <function-type size-in-bits='64' id='type-id-135'> <!-- parameter of type 'DBusTimeout*' --> - <parameter type-id='type-id-90'/> + <parameter type-id='type-id-120'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> <!-- void (DBusWatch*, void*) --> - <function-type size-in-bits='64' id='type-id-140'> + <function-type size-in-bits='64' id='type-id-136'> <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126'/> + <parameter type-id='type-id-121'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> <!-- void (void*) --> - <function-type size-in-bits='64' id='type-id-77'> + <function-type size-in-bits='64' id='type-id-137'> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> - <!-- typedef void (DBusPendingCall*, void*)* DBusPendingCallNotifyFunction --> - <typedef-decl name='DBusPendingCallNotifyFunction' type-id='type-id-142' filepath='../dbus/dbus-connection.h' line='162' column='1' id='type-id-89'/> - <!-- typedef typedef dbus_bool_t (void*)* DBusTimeoutHandler --> - <typedef-decl name='DBusTimeoutHandler' type-id='type-id-143' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.h' line='41' column='1' id='type-id-92'/> - <!-- typedef typedef dbus_bool_t (DBusWatch*, unsigned int, void*)* DBusWatchHandler --> - <typedef-decl name='DBusWatchHandler' type-id='type-id-144' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.h' line='43' column='1' id='type-id-94'/> - <!-- typedef dbus_bool_t (DBusWatch*, unsigned int, void*)* --> - <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-144'/> - <!-- typedef dbus_bool_t (void*)* --> - <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-143'/> - <!-- void (DBusPendingCall*, void*)* --> - <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-142'/> </abi-instr> <abi-instr address-size='64' path='dbus-errors.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> <!-- variadic parameter type --> - <type-decl name='variadic parameter type' id='type-id-148'/> + <type-decl name='variadic parameter type' id='type-id-142'/> <!-- const DBusError --> - <qualified-type-def type-id='type-id-14' const='yes' id='type-id-149'/> + <qualified-type-def type-id='type-id-6' const='yes' id='type-id-143'/> <!-- const DBusError* --> - <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-150'/> - <!-- dbus_bool_t dbus_error_is_set(const DBusError*) --> - <function-decl name='dbus_error_is_set' mangled-name='dbus_error_is_set' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_error_is_set'> - <!-- parameter of type 'const DBusError*' --> - <parameter type-id='type-id-150' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='329' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> + <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-144'/> <!-- void dbus_error_init(DBusError*) --> <function-decl name='dbus_error_init' mangled-name='dbus_error_init' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='188' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_error_init'> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='188' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='188' column='1'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-decl> <!-- void dbus_error_free(DBusError*) --> <function-decl name='dbus_error_free' mangled-name='dbus_error_free' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_error_free'> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='211' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='211' column='1'/> <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_move_error(DBusError*, DBusError*) --> - <function-decl name='dbus_move_error' mangled-name='dbus_move_error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_move_error'> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='src' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='279' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='dest' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='280' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-decl> <!-- void dbus_set_error_const(DBusError*, const char*, const char*) --> <function-decl name='dbus_set_error_const' mangled-name='dbus_set_error_const' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_set_error_const'> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='243' column='1'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='244' column='1'/> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='244' column='1'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='245' column='1'/> + <parameter type-id='type-id-7' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='245' column='1'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-decl> - <!-- void dbus_set_error(DBusError*, const char*, const char*, ...) --> - <function-decl name='dbus_set_error' mangled-name='dbus_set_error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_set_error'> + <!-- void dbus_move_error(DBusError*, DBusError*) --> + <function-decl name='dbus_move_error' mangled-name='dbus_move_error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_move_error'> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='354' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='355' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='format' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='356' column='1'/> - <parameter is-variadic='yes'/> + <parameter type-id='type-id-20' name='src' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='279' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='dest' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='280' column='1'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-decl> <!-- dbus_bool_t dbus_error_has_name(const DBusError*, const char*) --> <function-decl name='dbus_error_has_name' mangled-name='dbus_error_has_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_error_has_name'> <!-- parameter of type 'const DBusError*' --> - <parameter type-id='type-id-150' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='302' column='1'/> + <parameter type-id='type-id-144' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='302' column='1'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='303' column='1'/> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='303' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_error_is_set(const DBusError*) --> + <function-decl name='dbus_error_is_set' mangled-name='dbus_error_is_set' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_error_is_set'> + <!-- parameter of type 'const DBusError*' --> + <parameter type-id='type-id-144' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='329' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_set_error(DBusError*, const char*, const char*, ...) --> + <function-decl name='dbus_set_error' mangled-name='dbus_set_error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_set_error'> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='354' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='355' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='format' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-errors.c' line='356' column='1'/> + <parameter is-variadic='yes'/> + <!-- void --> + <return type-id='type-id-24'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='dbus-memory.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> <!-- typedef unsigned long int size_t --> - <typedef-decl name='size_t' type-id='type-id-43' filepath='/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/stddef.h' line='211' column='1' id='type-id-151'/> - <!-- void dbus_free(void*) --> - <function-decl name='dbus_free' mangled-name='dbus_free' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='701' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_free'> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='memory' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='701' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_shutdown() --> - <function-decl name='dbus_shutdown' mangled-name='dbus_shutdown' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_shutdown'> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_free_string_array(char**) --> - <function-decl name='dbus_free_string_array' mangled-name='dbus_free_string_array' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_free_string_array'> - <!-- parameter of type 'char**' --> - <parameter type-id='type-id-127' name='str_array' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='749' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void* dbus_realloc(void*, size_t) --> - <function-decl name='dbus_realloc' mangled-name='dbus_realloc' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='601' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_realloc'> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='memory' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='601' column='1'/> + <typedef-decl name='size_t' type-id='type-id-26' filepath='/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/stddef.h' line='211' column='1' id='type-id-145'/> + <!-- void* dbus_malloc(size_t) --> + <function-decl name='dbus_malloc' mangled-name='dbus_malloc' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_malloc'> <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-151' name='bytes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='602' column='1'/> + <parameter type-id='type-id-145' name='bytes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='461' column='1'/> <!-- void* --> - <return type-id='type-id-10'/> + <return type-id='type-id-8'/> </function-decl> <!-- void* dbus_malloc0(size_t) --> <function-decl name='dbus_malloc0' mangled-name='dbus_malloc0' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_malloc0'> <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-151' name='bytes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='531' column='1'/> + <parameter type-id='type-id-145' name='bytes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='531' column='1'/> <!-- void* --> - <return type-id='type-id-10'/> + <return type-id='type-id-8'/> </function-decl> - <!-- void* dbus_malloc(size_t) --> - <function-decl name='dbus_malloc' mangled-name='dbus_malloc' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_malloc'> + <!-- void* dbus_realloc(void*, size_t) --> + <function-decl name='dbus_realloc' mangled-name='dbus_realloc' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='601' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_realloc'> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='memory' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='601' column='1'/> <!-- parameter of type 'typedef size_t' --> - <parameter type-id='type-id-151' name='bytes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='461' column='1'/> + <parameter type-id='type-id-145' name='bytes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='602' column='1'/> <!-- void* --> - <return type-id='type-id-10'/> + <return type-id='type-id-8'/> + </function-decl> + <!-- void dbus_free(void*) --> + <function-decl name='dbus_free' mangled-name='dbus_free' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='701' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_free'> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='memory' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='701' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_free_string_array(char**) --> + <function-decl name='dbus_free_string_array' mangled-name='dbus_free_string_array' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_free_string_array'> + <!-- parameter of type 'char**' --> + <parameter type-id='type-id-122' name='str_array' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='749' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_shutdown() --> + <function-decl name='dbus_shutdown' mangled-name='dbus_shutdown' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-memory.c' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_shutdown'> + <!-- void --> + <return type-id='type-id-24'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='dbus-message.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> <!-- struct __va_list_tag --> - <class-decl name='__va_list_tag' size-in-bits='192' is-struct='yes' visibility='default' id='type-id-152'> + <class-decl name='__va_list_tag' size-in-bits='192' is-struct='yes' visibility='default' id='type-id-146'> <data-member access='public' layout-offset-in-bits='0'> <!-- unsigned int __va_list_tag::gp_offset --> <var-decl name='gp_offset' type-id='type-id-3' visibility='default'/> @@ -2515,28 +2452,28 @@ </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- void* __va_list_tag::overflow_arg_area --> - <var-decl name='overflow_arg_area' type-id='type-id-10' visibility='default'/> + <var-decl name='overflow_arg_area' type-id='type-id-8' visibility='default'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- void* __va_list_tag::reg_save_area --> - <var-decl name='reg_save_area' type-id='type-id-10' visibility='default'/> + <var-decl name='reg_save_area' type-id='type-id-8' visibility='default'/> </data-member> </class-decl> <!-- typedef DBusMessageIter DBusMessageIter --> - <typedef-decl name='DBusMessageIter' type-id='type-id-153' filepath='../dbus/dbus-message.h' line='46' column='1' id='type-id-154'/> + <typedef-decl name='DBusMessageIter' type-id='type-id-147' filepath='../dbus/dbus-message.h' line='46' column='1' id='type-id-148'/> <!-- struct DBusMessageIter --> - <class-decl name='DBusMessageIter' size-in-bits='576' is-struct='yes' visibility='default' filepath='../dbus/dbus-message.h' line='52' column='1' id='type-id-153'> + <class-decl name='DBusMessageIter' size-in-bits='576' is-struct='yes' visibility='default' filepath='../dbus/dbus-message.h' line='52' column='1' id='type-id-147'> <data-member access='public' layout-offset-in-bits='0'> <!-- void* DBusMessageIter::dummy1 --> - <var-decl name='dummy1' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-message.h' line='53' column='1'/> + <var-decl name='dummy1' type-id='type-id-8' visibility='default' filepath='../dbus/dbus-message.h' line='53' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- void* DBusMessageIter::dummy2 --> - <var-decl name='dummy2' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-message.h' line='54' column='1'/> + <var-decl name='dummy2' type-id='type-id-8' visibility='default' filepath='../dbus/dbus-message.h' line='54' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- dbus_uint32_t DBusMessageIter::dummy3 --> - <var-decl name='dummy3' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-message.h' line='55' column='1'/> + <var-decl name='dummy3' type-id='type-id-4' visibility='default' filepath='../dbus/dbus-message.h' line='55' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='160'> <!-- int DBusMessageIter::dummy4 --> @@ -2580,802 +2517,869 @@ </data-member> <data-member access='public' layout-offset-in-bits='512'> <!-- void* DBusMessageIter::pad3 --> - <var-decl name='pad3' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-message.h' line='66' column='1'/> + <var-decl name='pad3' type-id='type-id-8' visibility='default' filepath='../dbus/dbus-message.h' line='66' column='1'/> </data-member> </class-decl> <!-- DBusMessageIter* --> - <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/> + <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/> <!-- __va_list_tag* --> - <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-156'/> + <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-150'/> <!-- const DBusMessage --> - <qualified-type-def type-id='type-id-53' const='yes' id='type-id-157'/> + <qualified-type-def type-id='type-id-63' const='yes' id='type-id-151'/> <!-- const DBusMessage* --> - <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-158'/> - <!-- dbus_bool_t dbus_message_contains_unix_fds(DBusMessage*) --> - <function-decl name='dbus_message_contains_unix_fds' mangled-name='dbus_message_contains_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3825' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_contains_unix_fds'> + <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-152'/> + <!-- void dbus_message_set_serial(DBusMessage*, dbus_uint32_t) --> + <function-decl name='dbus_message_set_serial' mangled-name='dbus_message_set_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_serial'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3825' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- const char* dbus_message_type_to_string(int) --> - <function-decl name='dbus_message_type_to_string' mangled-name='dbus_message_type_to_string' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4691' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_type_to_string'> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4691' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- int dbus_message_demarshal_bytes_needed(const char*, int) --> - <function-decl name='dbus_message_demarshal_bytes_needed' mangled-name='dbus_message_demarshal_bytes_needed' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4841' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_demarshal_bytes_needed'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='buf' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4841' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='len' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4842' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- int dbus_message_type_from_string(const char*) --> - <function-decl name='dbus_message_type_from_string' mangled-name='dbus_message_type_from_string' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_type_from_string'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='type_str' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4663' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- void* dbus_message_get_data(DBusMessage*, dbus_int32_t) --> - <function-decl name='dbus_message_get_data' mangled-name='dbus_message_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_data'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4635' column='1'/> - <!-- parameter of type 'typedef dbus_int32_t' --> - <parameter type-id='type-id-81' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4636' column='1'/> - <!-- void* --> - <return type-id='type-id-10'/> - </function-decl> - <!-- dbus_bool_t dbus_message_set_data(DBusMessage*, dbus_int32_t, void*, DBusFreeFunction) --> - <function-decl name='dbus_message_set_data' mangled-name='dbus_message_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_data'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4599' column='1'/> - <!-- parameter of type 'typedef dbus_int32_t' --> - <parameter type-id='type-id-81' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4600' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4601' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_func' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4602' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_message_free_data_slot(dbus_int32_t*) --> - <function-decl name='dbus_message_free_data_slot' mangled-name='dbus_message_free_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_free_data_slot'> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4578' column='1'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='254' column='1'/> + <!-- parameter of type 'typedef dbus_uint32_t' --> + <parameter type-id='type-id-4' name='serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='255' column='1'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-decl> - <!-- dbus_bool_t dbus_message_allocate_data_slot(dbus_int32_t*) --> - <function-decl name='dbus_message_allocate_data_slot' mangled-name='dbus_message_allocate_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_allocate_data_slot'> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4560' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- DBusMessage* dbus_message_ref(DBusMessage*) --> - <function-decl name='dbus_message_ref' mangled-name='dbus_message_ref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_ref'> + <!-- void dbus_message_lock(DBusMessage*) --> + <function-decl name='dbus_message_lock' mangled-name='dbus_message_lock' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_lock'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1667' column='1'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='384' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> </function-decl> - <!-- const char* dbus_message_get_sender(DBusMessage*) --> - <function-decl name='dbus_message_get_sender' mangled-name='dbus_message_get_sender' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_sender'> + <!-- dbus_uint32_t dbus_message_get_serial(DBusMessage*) --> + <function-decl name='dbus_message_get_serial' mangled-name='dbus_message_get_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_serial'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3510' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- dbus_bool_t dbus_message_has_sender(DBusMessage*, const char*) --> - <function-decl name='dbus_message_has_sender' mangled-name='dbus_message_has_sender' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_sender'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3725' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3726' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- const char* dbus_message_get_destination(DBusMessage*) --> - <function-decl name='dbus_message_get_destination' mangled-name='dbus_message_get_destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3450' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_destination'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3450' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- dbus_bool_t dbus_message_has_destination(DBusMessage*, const char*) --> - <function-decl name='dbus_message_has_destination' mangled-name='dbus_message_has_destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_destination'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3690' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3691' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- const char* dbus_message_get_error_name(DBusMessage*) --> - <function-decl name='dbus_message_get_error_name' mangled-name='dbus_message_get_error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_error_name'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3397' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- const char* dbus_message_get_member(DBusMessage*) --> - <function-decl name='dbus_message_get_member' mangled-name='dbus_message_get_member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_member'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3313' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- dbus_bool_t dbus_message_has_member(DBusMessage*, const char*) --> - <function-decl name='dbus_message_has_member' mangled-name='dbus_message_has_member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_member'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3335' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3336' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- const char* dbus_message_get_interface(DBusMessage*) --> - <function-decl name='dbus_message_get_interface' mangled-name='dbus_message_get_interface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_interface'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3227' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- dbus_bool_t dbus_message_has_interface(DBusMessage*, const char*) --> - <function-decl name='dbus_message_has_interface' mangled-name='dbus_message_has_interface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_interface'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3249' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3250' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- const char* dbus_message_get_path(DBusMessage*) --> - <function-decl name='dbus_message_get_path' mangled-name='dbus_message_get_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3096' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_path'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3096' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- dbus_bool_t dbus_message_has_path(DBusMessage*, const char*) --> - <function-decl name='dbus_message_has_path' mangled-name='dbus_message_has_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_path'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3120' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3121' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_uint32_t dbus_message_get_reply_serial(DBusMessage*) --> - <function-decl name='dbus_message_get_reply_serial' mangled-name='dbus_message_get_reply_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_reply_serial'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1163' column='1'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1127' column='1'/> <!-- typedef dbus_uint32_t --> - <return type-id='type-id-16'/> - </function-decl> - <!-- const char* dbus_message_get_signature(DBusMessage*) --> - <function-decl name='dbus_message_get_signature' mangled-name='dbus_message_get_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3543' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_signature'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3543' column='1'/> - <!-- const char* --> - <return type-id='type-id-15'/> - </function-decl> - <!-- dbus_bool_t dbus_message_has_signature(DBusMessage*, const char*) --> - <function-decl name='dbus_message_has_signature' mangled-name='dbus_message_has_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3754' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_signature'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3754' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3755' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_set_sender(DBusMessage*, const char*) --> - <function-decl name='dbus_message_set_sender' mangled-name='dbus_message_set_sender' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_sender'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3479' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='sender' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3480' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_set_destination(DBusMessage*, const char*) --> - <function-decl name='dbus_message_set_destination' mangled-name='dbus_message_set_destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_destination'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3425' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3426' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-4'/> </function-decl> <!-- dbus_bool_t dbus_message_set_reply_serial(DBusMessage*, dbus_uint32_t) --> <function-decl name='dbus_message_set_reply_serial' mangled-name='dbus_message_set_reply_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_reply_serial'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1143' column='1'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1143' column='1'/> <!-- parameter of type 'typedef dbus_uint32_t' --> - <parameter type-id='type-id-16' name='reply_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1144' column='1'/> + <parameter type-id='type-id-4' name='reply_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1144' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> - <!-- dbus_bool_t dbus_message_set_error_name(DBusMessage*, const char*) --> - <function-decl name='dbus_message_set_error_name' mangled-name='dbus_message_set_error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_error_name'> + <!-- dbus_uint32_t dbus_message_get_reply_serial(DBusMessage*) --> + <function-decl name='dbus_message_get_reply_serial' mangled-name='dbus_message_get_reply_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_reply_serial'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3371' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3372' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_set_member(DBusMessage*, const char*) --> - <function-decl name='dbus_message_set_member' mangled-name='dbus_message_set_member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_member'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3286' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3287' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_set_interface(DBusMessage*, const char*) --> - <function-decl name='dbus_message_set_interface' mangled-name='dbus_message_set_interface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_interface'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3198' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3199' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_get_path_decomposed(DBusMessage*, char***) --> - <function-decl name='dbus_message_get_path_decomposed' mangled-name='dbus_message_get_path_decomposed' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_path_decomposed'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3164' column='1'/> - <!-- parameter of type 'char***' --> - <parameter type-id='type-id-128' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3165' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_set_path(DBusMessage*, const char*) --> - <function-decl name='dbus_message_set_path' mangled-name='dbus_message_set_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3067' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_path'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3067' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='object_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3068' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_get_auto_start(DBusMessage*) --> - <function-decl name='dbus_message_get_auto_start' mangled-name='dbus_message_get_auto_start' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_auto_start'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3045' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_get_no_reply(DBusMessage*) --> - <function-decl name='dbus_message_get_no_reply' mangled-name='dbus_message_get_no_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_no_reply'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3003' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_message_set_auto_start(DBusMessage*, dbus_bool_t) --> - <function-decl name='dbus_message_set_auto_start' mangled-name='dbus_message_set_auto_start' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3026' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_auto_start'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3026' column='1'/> - <!-- parameter of type 'typedef dbus_bool_t' --> - <parameter type-id='type-id-17' name='auto_start' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3027' column='1'/> - <!-- void --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1163' column='1'/> + <!-- typedef dbus_uint32_t --> <return type-id='type-id-4'/> </function-decl> - <!-- void dbus_message_set_no_reply(DBusMessage*, dbus_bool_t) --> - <function-decl name='dbus_message_set_no_reply' mangled-name='dbus_message_set_no_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2984' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_no_reply'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2984' column='1'/> - <!-- parameter of type 'typedef dbus_bool_t' --> - <parameter type-id='type-id-17' name='no_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2985' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_message_iter_abandon_container(DBusMessageIter*, DBusMessageIter*) --> - <function-decl name='dbus_message_iter_abandon_container' mangled-name='dbus_message_iter_abandon_container' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2951' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_abandon_container'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2951' column='1'/> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='sub' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2952' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_message_iter_close_container(DBusMessageIter*, DBusMessageIter*) --> - <function-decl name='dbus_message_iter_close_container' mangled-name='dbus_message_iter_close_container' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2918' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_close_container'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2918' column='1'/> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='sub' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2919' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_iter_open_container(DBusMessageIter*, int, const char*, DBusMessageIter*) --> - <function-decl name='dbus_message_iter_open_container' mangled-name='dbus_message_iter_open_container' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2849' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_open_container'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2849' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2850' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='contained_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2851' column='1'/> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='sub' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2852' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_iter_append_fixed_array(DBusMessageIter*, int, void*, int) --> - <function-decl name='dbus_message_iter_append_fixed_array' mangled-name='dbus_message_iter_append_fixed_array' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_append_fixed_array'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2791' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='element_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2792' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2793' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='n_elements' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2794' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_iter_append_basic(DBusMessageIter*, int, void*) --> - <function-decl name='dbus_message_iter_append_basic' mangled-name='dbus_message_iter_append_basic' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2656' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_append_basic'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2656' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2657' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2658' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_message_iter_init_append(DBusMessage*, DBusMessageIter*) --> - <function-decl name='dbus_message_iter_init_append' mangled-name='dbus_message_iter_init_append' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2421' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_init_append'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2421' column='1'/> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2422' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- int dbus_message_iter_get_arg_type(DBusMessageIter*) --> - <function-decl name='dbus_message_iter_get_arg_type' mangled-name='dbus_message_iter_get_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_arg_type'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2139' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- void dbus_message_iter_get_fixed_array(DBusMessageIter*, void*, int*) --> - <function-decl name='dbus_message_iter_get_fixed_array' mangled-name='dbus_message_iter_get_fixed_array' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_fixed_array'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2391' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2392' column='1'/> - <!-- parameter of type 'int*' --> - <parameter type-id='type-id-24' name='n_elements' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2393' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- int dbus_message_iter_get_array_len(DBusMessageIter*) --> - <function-decl name='dbus_message_iter_get_array_len' mangled-name='dbus_message_iter_get_array_len' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_array_len'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2346' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- void dbus_message_iter_get_basic(DBusMessageIter*, void*) --> - <function-decl name='dbus_message_iter_get_basic' mangled-name='dbus_message_iter_get_basic' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2293' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_basic'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2293' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2294' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- char* dbus_message_iter_get_signature(DBusMessageIter*) --> - <function-decl name='dbus_message_iter_get_signature' mangled-name='dbus_message_iter_get_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_signature'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2220' column='1'/> - <!-- char* --> - <return type-id='type-id-22'/> - </function-decl> - <!-- void dbus_message_iter_recurse(DBusMessageIter*, DBusMessageIter*) --> - <function-decl name='dbus_message_iter_recurse' mangled-name='dbus_message_iter_recurse' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_recurse'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2195' column='1'/> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='sub' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2196' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- int dbus_message_iter_get_element_type(DBusMessageIter*) --> - <function-decl name='dbus_message_iter_get_element_type' mangled-name='dbus_message_iter_get_element_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_element_type'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2158' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- dbus_bool_t dbus_message_iter_next(DBusMessageIter*) --> - <function-decl name='dbus_message_iter_next' mangled-name='dbus_message_iter_next' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_next'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2114' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_iter_has_next(DBusMessageIter*) --> - <function-decl name='dbus_message_iter_has_next' mangled-name='dbus_message_iter_has_next' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_has_next'> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2095' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_iter_init(DBusMessage*, DBusMessageIter*) --> - <function-decl name='dbus_message_iter_init' mangled-name='dbus_message_iter_init' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2064' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_init'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2064' column='1'/> - <!-- parameter of type 'DBusMessageIter*' --> - <parameter type-id='type-id-155' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2065' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_append_args_valist(DBusMessage*, int, __va_list_tag*) --> - <function-decl name='dbus_message_append_args_valist' mangled-name='dbus_message_append_args_valist' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1824' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_append_args_valist'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1824' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='first_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1825' column='1'/> - <!-- parameter of type '__va_list_tag*' --> - <parameter type-id='type-id-156' name='var_args' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1826' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_append_args(DBusMessage*, int, ...) --> - <function-decl name='dbus_message_append_args' mangled-name='dbus_message_append_args' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1792' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_append_args'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1792' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='first_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1793' column='1'/> - <parameter is-variadic='yes'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- int dbus_message_get_type(DBusMessage*) --> - <function-decl name='dbus_message_get_type' mangled-name='dbus_message_get_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1722' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_type'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1722' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- dbus_bool_t dbus_message_is_error(DBusMessage*, const char*) --> - <function-decl name='dbus_message_is_error' mangled-name='dbus_message_is_error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_is_error'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3657' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3658' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_is_signal(DBusMessage*, const char*, const char*) --> - <function-decl name='dbus_message_is_signal' mangled-name='dbus_message_is_signal' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_is_signal'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3630' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3631' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='signal_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3632' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_message_is_method_call(DBusMessage*, const char*, const char*) --> - <function-decl name='dbus_message_is_method_call' mangled-name='dbus_message_is_method_call' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3602' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_is_method_call'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3602' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3603' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='method' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3604' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_message_unref(DBusMessage*) --> - <function-decl name='dbus_message_unref' mangled-name='dbus_message_unref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_unref'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1690' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- DBusMessage* dbus_message_demarshal(const char*, int, DBusError*) --> - <function-decl name='dbus_message_demarshal' mangled-name='dbus_message_demarshal' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_demarshal'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='str' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4783' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='len' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4784' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4785' column='1'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> - </function-decl> - <!-- DBusMessage* dbus_message_copy(const DBusMessage*) --> - <function-decl name='dbus_message_copy' mangled-name='dbus_message_copy' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_copy'> - <!-- parameter of type 'const DBusMessage*' --> - <parameter type-id='type-id-158' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1587' column='1'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> - </function-decl> - <!-- DBusMessage* dbus_message_new_signal(const char*, const char*, const char*) --> - <function-decl name='dbus_message_new_signal' mangled-name='dbus_message_new_signal' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_signal'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1424' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1425' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1426' column='1'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> - </function-decl> - <!-- DBusMessage* dbus_message_new_method_call(const char*, const char*, const char*, const char*) --> - <function-decl name='dbus_message_new_method_call' mangled-name='dbus_message_new_method_call' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_method_call'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1333' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1334' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1335' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='method' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1336' column='1'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> - </function-decl> <!-- DBusMessage* dbus_message_new(int) --> <function-decl name='dbus_message_new' mangled-name='dbus_message_new' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new'> <!-- parameter of type 'int' --> <parameter type-id='type-id-2' name='message_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1289' column='1'/> <!-- DBusMessage* --> - <return type-id='type-id-30'/> + <return type-id='type-id-37'/> </function-decl> - <!-- dbus_uint32_t dbus_message_get_serial(DBusMessage*) --> - <function-decl name='dbus_message_get_serial' mangled-name='dbus_message_get_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_serial'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1127' column='1'/> - <!-- typedef dbus_uint32_t --> - <return type-id='type-id-16'/> - </function-decl> - <!-- DBusMessage* dbus_message_new_error(DBusMessage*, const char*, const char*) --> - <function-decl name='dbus_message_new_error' mangled-name='dbus_message_new_error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1470' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_error'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='reply_to' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1470' column='1'/> + <!-- DBusMessage* dbus_message_new_method_call(const char*, const char*, const char*, const char*) --> + <function-decl name='dbus_message_new_method_call' mangled-name='dbus_message_new_method_call' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_method_call'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1471' column='1'/> + <parameter type-id='type-id-7' name='destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1333' column='1'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='error_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1472' column='1'/> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1334' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1335' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='method' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1336' column='1'/> <!-- DBusMessage* --> - <return type-id='type-id-30'/> - </function-decl> - <!-- DBusMessage* dbus_message_new_error_printf(DBusMessage*, const char*, const char*, ...) --> - <function-decl name='dbus_message_new_error_printf' mangled-name='dbus_message_new_error_printf' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_error_printf'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='reply_to' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1542' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1543' column='1'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='error_format' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1544' column='1'/> - <parameter is-variadic='yes'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> + <return type-id='type-id-37'/> </function-decl> <!-- DBusMessage* dbus_message_new_method_return(DBusMessage*) --> <function-decl name='dbus_message_new_method_return' mangled-name='dbus_message_new_method_return' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_method_return'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='method_call' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1373' column='1'/> + <parameter type-id='type-id-37' name='method_call' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1373' column='1'/> <!-- DBusMessage* --> - <return type-id='type-id-30'/> + <return type-id='type-id-37'/> </function-decl> - <!-- dbus_bool_t dbus_message_get_args_valist(DBusMessage*, DBusError*, int, __va_list_tag*) --> - <function-decl name='dbus_message_get_args_valist' mangled-name='dbus_message_get_args_valist' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2009' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_args_valist'> + <!-- DBusMessage* dbus_message_new_signal(const char*, const char*, const char*) --> + <function-decl name='dbus_message_new_signal' mangled-name='dbus_message_new_signal' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_signal'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1424' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1425' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1426' column='1'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- DBusMessage* dbus_message_new_error(DBusMessage*, const char*, const char*) --> + <function-decl name='dbus_message_new_error' mangled-name='dbus_message_new_error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1470' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_error'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2009' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2010' column='1'/> + <parameter type-id='type-id-37' name='reply_to' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1470' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1471' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='error_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1472' column='1'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- DBusMessage* dbus_message_new_error_printf(DBusMessage*, const char*, const char*, ...) --> + <function-decl name='dbus_message_new_error_printf' mangled-name='dbus_message_new_error_printf' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_new_error_printf'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='reply_to' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1542' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1543' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='error_format' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1544' column='1'/> + <parameter is-variadic='yes'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- DBusMessage* dbus_message_copy(const DBusMessage*) --> + <function-decl name='dbus_message_copy' mangled-name='dbus_message_copy' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_copy'> + <!-- parameter of type 'const DBusMessage*' --> + <parameter type-id='type-id-152' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1587' column='1'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- DBusMessage* dbus_message_ref(DBusMessage*) --> + <function-decl name='dbus_message_ref' mangled-name='dbus_message_ref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_ref'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1667' column='1'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- void dbus_message_unref(DBusMessage*) --> + <function-decl name='dbus_message_unref' mangled-name='dbus_message_unref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_unref'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1690' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- int dbus_message_get_type(DBusMessage*) --> + <function-decl name='dbus_message_get_type' mangled-name='dbus_message_get_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1722' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_type'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1722' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> + </function-decl> + <!-- dbus_bool_t dbus_message_append_args(DBusMessage*, int, ...) --> + <function-decl name='dbus_message_append_args' mangled-name='dbus_message_append_args' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1792' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_append_args'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1792' column='1'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='first_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2011' column='1'/> - <!-- parameter of type '__va_list_tag*' --> - <parameter type-id='type-id-156' name='var_args' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2012' column='1'/> + <parameter type-id='type-id-2' name='first_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1793' column='1'/> + <parameter is-variadic='yes'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_append_args_valist(DBusMessage*, int, __va_list_tag*) --> + <function-decl name='dbus_message_append_args_valist' mangled-name='dbus_message_append_args_valist' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1824' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_append_args_valist'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1824' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='first_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1825' column='1'/> + <!-- parameter of type '__va_list_tag*' --> + <parameter type-id='type-id-150' name='var_args' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1826' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> </function-decl> <!-- dbus_bool_t dbus_message_get_args(DBusMessage*, DBusError*, int, ...) --> <function-decl name='dbus_message_get_args' mangled-name='dbus_message_get_args' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1980' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_args'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1980' column='1'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1980' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1981' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1981' column='1'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-2' name='first_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='1982' column='1'/> <parameter is-variadic='yes'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_get_args_valist(DBusMessage*, DBusError*, int, __va_list_tag*) --> + <function-decl name='dbus_message_get_args_valist' mangled-name='dbus_message_get_args_valist' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2009' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_args_valist'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2009' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2010' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='first_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2011' column='1'/> + <!-- parameter of type '__va_list_tag*' --> + <parameter type-id='type-id-150' name='var_args' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2012' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_iter_init(DBusMessage*, DBusMessageIter*) --> + <function-decl name='dbus_message_iter_init' mangled-name='dbus_message_iter_init' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2064' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_init'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2064' column='1'/> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2065' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_iter_has_next(DBusMessageIter*) --> + <function-decl name='dbus_message_iter_has_next' mangled-name='dbus_message_iter_has_next' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_has_next'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2095' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_iter_next(DBusMessageIter*) --> + <function-decl name='dbus_message_iter_next' mangled-name='dbus_message_iter_next' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_next'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2114' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- int dbus_message_iter_get_arg_type(DBusMessageIter*) --> + <function-decl name='dbus_message_iter_get_arg_type' mangled-name='dbus_message_iter_get_arg_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_arg_type'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2139' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> + </function-decl> + <!-- int dbus_message_iter_get_element_type(DBusMessageIter*) --> + <function-decl name='dbus_message_iter_get_element_type' mangled-name='dbus_message_iter_get_element_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_element_type'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2158' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> + </function-decl> + <!-- void dbus_message_iter_recurse(DBusMessageIter*, DBusMessageIter*) --> + <function-decl name='dbus_message_iter_recurse' mangled-name='dbus_message_iter_recurse' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_recurse'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2195' column='1'/> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='sub' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2196' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- char* dbus_message_iter_get_signature(DBusMessageIter*) --> + <function-decl name='dbus_message_iter_get_signature' mangled-name='dbus_message_iter_get_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_signature'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2220' column='1'/> + <!-- char* --> + <return type-id='type-id-21'/> + </function-decl> + <!-- void dbus_message_iter_get_basic(DBusMessageIter*, void*) --> + <function-decl name='dbus_message_iter_get_basic' mangled-name='dbus_message_iter_get_basic' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2293' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_basic'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2293' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2294' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- int dbus_message_iter_get_array_len(DBusMessageIter*) --> + <function-decl name='dbus_message_iter_get_array_len' mangled-name='dbus_message_iter_get_array_len' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_array_len'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2346' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> + </function-decl> + <!-- void dbus_message_iter_get_fixed_array(DBusMessageIter*, void*, int*) --> + <function-decl name='dbus_message_iter_get_fixed_array' mangled-name='dbus_message_iter_get_fixed_array' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_get_fixed_array'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2391' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2392' column='1'/> + <!-- parameter of type 'int*' --> + <parameter type-id='type-id-23' name='n_elements' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2393' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_message_iter_init_append(DBusMessage*, DBusMessageIter*) --> + <function-decl name='dbus_message_iter_init_append' mangled-name='dbus_message_iter_init_append' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2421' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_init_append'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2421' column='1'/> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2422' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_message_iter_append_basic(DBusMessageIter*, int, void*) --> + <function-decl name='dbus_message_iter_append_basic' mangled-name='dbus_message_iter_append_basic' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2656' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_append_basic'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2656' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2657' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2658' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_iter_append_fixed_array(DBusMessageIter*, int, void*, int) --> + <function-decl name='dbus_message_iter_append_fixed_array' mangled-name='dbus_message_iter_append_fixed_array' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_append_fixed_array'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2791' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='element_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2792' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2793' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='n_elements' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2794' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_iter_open_container(DBusMessageIter*, int, const char*, DBusMessageIter*) --> + <function-decl name='dbus_message_iter_open_container' mangled-name='dbus_message_iter_open_container' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2849' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_open_container'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2849' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2850' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='contained_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2851' column='1'/> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='sub' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2852' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_iter_close_container(DBusMessageIter*, DBusMessageIter*) --> + <function-decl name='dbus_message_iter_close_container' mangled-name='dbus_message_iter_close_container' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2918' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_close_container'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2918' column='1'/> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='sub' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2919' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_message_iter_abandon_container(DBusMessageIter*, DBusMessageIter*) --> + <function-decl name='dbus_message_iter_abandon_container' mangled-name='dbus_message_iter_abandon_container' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2951' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_iter_abandon_container'> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2951' column='1'/> + <!-- parameter of type 'DBusMessageIter*' --> + <parameter type-id='type-id-149' name='sub' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2952' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- void dbus_message_set_no_reply(DBusMessage*, dbus_bool_t) --> + <function-decl name='dbus_message_set_no_reply' mangled-name='dbus_message_set_no_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2984' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_no_reply'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2984' column='1'/> + <!-- parameter of type 'typedef dbus_bool_t' --> + <parameter type-id='type-id-13' name='no_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='2985' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_message_get_no_reply(DBusMessage*) --> + <function-decl name='dbus_message_get_no_reply' mangled-name='dbus_message_get_no_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_no_reply'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3003' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_message_set_auto_start(DBusMessage*, dbus_bool_t) --> + <function-decl name='dbus_message_set_auto_start' mangled-name='dbus_message_set_auto_start' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3026' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_auto_start'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3026' column='1'/> + <!-- parameter of type 'typedef dbus_bool_t' --> + <parameter type-id='type-id-13' name='auto_start' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3027' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_message_get_auto_start(DBusMessage*) --> + <function-decl name='dbus_message_get_auto_start' mangled-name='dbus_message_get_auto_start' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_auto_start'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3045' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_set_path(DBusMessage*, const char*) --> + <function-decl name='dbus_message_set_path' mangled-name='dbus_message_set_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3067' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_path'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3067' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='object_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3068' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- const char* dbus_message_get_path(DBusMessage*) --> + <function-decl name='dbus_message_get_path' mangled-name='dbus_message_get_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3096' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_path'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3096' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> + </function-decl> + <!-- dbus_bool_t dbus_message_has_path(DBusMessage*, const char*) --> + <function-decl name='dbus_message_has_path' mangled-name='dbus_message_has_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_path'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3120' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3121' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_get_path_decomposed(DBusMessage*, char***) --> + <function-decl name='dbus_message_get_path_decomposed' mangled-name='dbus_message_get_path_decomposed' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_path_decomposed'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3164' column='1'/> + <!-- parameter of type 'char***' --> + <parameter type-id='type-id-123' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3165' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_set_interface(DBusMessage*, const char*) --> + <function-decl name='dbus_message_set_interface' mangled-name='dbus_message_set_interface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_interface'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3198' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3199' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- const char* dbus_message_get_interface(DBusMessage*) --> + <function-decl name='dbus_message_get_interface' mangled-name='dbus_message_get_interface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_interface'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3227' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> + </function-decl> + <!-- dbus_bool_t dbus_message_has_interface(DBusMessage*, const char*) --> + <function-decl name='dbus_message_has_interface' mangled-name='dbus_message_has_interface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_interface'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3249' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3250' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_set_member(DBusMessage*, const char*) --> + <function-decl name='dbus_message_set_member' mangled-name='dbus_message_set_member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_member'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3286' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3287' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- const char* dbus_message_get_member(DBusMessage*) --> + <function-decl name='dbus_message_get_member' mangled-name='dbus_message_get_member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_member'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3313' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> + </function-decl> + <!-- dbus_bool_t dbus_message_has_member(DBusMessage*, const char*) --> + <function-decl name='dbus_message_has_member' mangled-name='dbus_message_has_member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_member'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3335' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3336' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_set_error_name(DBusMessage*, const char*) --> + <function-decl name='dbus_message_set_error_name' mangled-name='dbus_message_set_error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_error_name'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3371' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3372' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- const char* dbus_message_get_error_name(DBusMessage*) --> + <function-decl name='dbus_message_get_error_name' mangled-name='dbus_message_get_error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_error_name'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3397' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> + </function-decl> + <!-- dbus_bool_t dbus_message_set_destination(DBusMessage*, const char*) --> + <function-decl name='dbus_message_set_destination' mangled-name='dbus_message_set_destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_destination'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3425' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3426' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- const char* dbus_message_get_destination(DBusMessage*) --> + <function-decl name='dbus_message_get_destination' mangled-name='dbus_message_get_destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3450' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_destination'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3450' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> + </function-decl> + <!-- dbus_bool_t dbus_message_set_sender(DBusMessage*, const char*) --> + <function-decl name='dbus_message_set_sender' mangled-name='dbus_message_set_sender' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_sender'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3479' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='sender' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3480' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- const char* dbus_message_get_sender(DBusMessage*) --> + <function-decl name='dbus_message_get_sender' mangled-name='dbus_message_get_sender' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_sender'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3510' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> + </function-decl> + <!-- const char* dbus_message_get_signature(DBusMessage*) --> + <function-decl name='dbus_message_get_signature' mangled-name='dbus_message_get_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3543' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_signature'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3543' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> + </function-decl> + <!-- dbus_bool_t dbus_message_is_method_call(DBusMessage*, const char*, const char*) --> + <function-decl name='dbus_message_is_method_call' mangled-name='dbus_message_is_method_call' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3602' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_is_method_call'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3602' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3603' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='method' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3604' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_is_signal(DBusMessage*, const char*, const char*) --> + <function-decl name='dbus_message_is_signal' mangled-name='dbus_message_is_signal' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_is_signal'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3630' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='iface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3631' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='signal_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3632' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_is_error(DBusMessage*, const char*) --> + <function-decl name='dbus_message_is_error' mangled-name='dbus_message_is_error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_is_error'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3657' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3658' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_has_destination(DBusMessage*, const char*) --> + <function-decl name='dbus_message_has_destination' mangled-name='dbus_message_has_destination' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_destination'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3690' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3691' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_has_sender(DBusMessage*, const char*) --> + <function-decl name='dbus_message_has_sender' mangled-name='dbus_message_has_sender' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_sender'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3725' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3726' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_has_signature(DBusMessage*, const char*) --> + <function-decl name='dbus_message_has_signature' mangled-name='dbus_message_has_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3754' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_has_signature'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3754' column='1'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3755' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> </function-decl> <!-- dbus_bool_t dbus_set_error_from_message(DBusError*, DBusMessage*) --> <function-decl name='dbus_set_error_from_message' mangled-name='dbus_set_error_from_message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_set_error_from_message'> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3796' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3796' column='1'/> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3797' column='1'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3797' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> - <!-- void dbus_message_lock(DBusMessage*) --> - <function-decl name='dbus_message_lock' mangled-name='dbus_message_lock' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_lock'> + <!-- dbus_bool_t dbus_message_contains_unix_fds(DBusMessage*) --> + <function-decl name='dbus_message_contains_unix_fds' mangled-name='dbus_message_contains_unix_fds' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3825' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_contains_unix_fds'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='384' column='1'/> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='3825' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_message_allocate_data_slot(dbus_int32_t*) --> + <function-decl name='dbus_message_allocate_data_slot' mangled-name='dbus_message_allocate_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_allocate_data_slot'> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4560' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_message_free_data_slot(dbus_int32_t*) --> + <function-decl name='dbus_message_free_data_slot' mangled-name='dbus_message_free_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_free_data_slot'> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4578' column='1'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_message_set_data(DBusMessage*, dbus_int32_t, void*, DBusFreeFunction) --> + <function-decl name='dbus_message_set_data' mangled-name='dbus_message_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_data'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4599' column='1'/> + <!-- parameter of type 'typedef dbus_int32_t' --> + <parameter type-id='type-id-53' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4600' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4601' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_func' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4602' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void* dbus_message_get_data(DBusMessage*, dbus_int32_t) --> + <function-decl name='dbus_message_get_data' mangled-name='dbus_message_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_get_data'> + <!-- parameter of type 'DBusMessage*' --> + <parameter type-id='type-id-37' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4635' column='1'/> + <!-- parameter of type 'typedef dbus_int32_t' --> + <parameter type-id='type-id-53' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4636' column='1'/> + <!-- void* --> + <return type-id='type-id-8'/> + </function-decl> + <!-- int dbus_message_type_from_string(const char*) --> + <function-decl name='dbus_message_type_from_string' mangled-name='dbus_message_type_from_string' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_type_from_string'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='type_str' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4663' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> + </function-decl> + <!-- const char* dbus_message_type_to_string(int) --> + <function-decl name='dbus_message_type_to_string' mangled-name='dbus_message_type_to_string' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4691' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_type_to_string'> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4691' column='1'/> + <!-- const char* --> + <return type-id='type-id-7'/> </function-decl> <!-- dbus_bool_t dbus_message_marshal(DBusMessage*, char**, int*) --> <function-decl name='dbus_message_marshal' mangled-name='dbus_message_marshal' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4721' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_marshal'> <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='msg' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4721' column='1'/> + <parameter type-id='type-id-37' name='msg' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4721' column='1'/> <!-- parameter of type 'char**' --> - <parameter type-id='type-id-127' name='marshalled_data_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4722' column='1'/> + <parameter type-id='type-id-122' name='marshalled_data_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4722' column='1'/> <!-- parameter of type 'int*' --> - <parameter type-id='type-id-24' name='len_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4723' column='1'/> + <parameter type-id='type-id-23' name='len_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4723' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> - <!-- void dbus_message_set_serial(DBusMessage*, dbus_uint32_t) --> - <function-decl name='dbus_message_set_serial' mangled-name='dbus_message_set_serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_set_serial'> - <!-- parameter of type 'DBusMessage*' --> - <parameter type-id='type-id-30' name='message' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='254' column='1'/> - <!-- parameter of type 'typedef dbus_uint32_t' --> - <parameter type-id='type-id-16' name='serial' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='255' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> + <!-- DBusMessage* dbus_message_demarshal(const char*, int, DBusError*) --> + <function-decl name='dbus_message_demarshal' mangled-name='dbus_message_demarshal' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_demarshal'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='str' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4783' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='len' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4784' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4785' column='1'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- int dbus_message_demarshal_bytes_needed(const char*, int) --> + <function-decl name='dbus_message_demarshal_bytes_needed' mangled-name='dbus_message_demarshal_bytes_needed' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4841' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_message_demarshal_bytes_needed'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='buf' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4841' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='len' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message.c' line='4842' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='dbus-misc.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> - <!-- void dbus_get_version(int*, int*, int*) --> - <function-decl name='dbus_get_version' mangled-name='dbus_get_version' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='161' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_get_version'> - <!-- parameter of type 'int*' --> - <parameter type-id='type-id-24' name='major_version_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='161' column='1'/> - <!-- parameter of type 'int*' --> - <parameter type-id='type-id-24' name='minor_version_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='162' column='1'/> - <!-- parameter of type 'int*' --> - <parameter type-id='type-id-24' name='micro_version_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='163' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> <!-- char* dbus_get_local_machine_id() --> <function-decl name='dbus_get_local_machine_id' mangled-name='dbus_get_local_machine_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_get_local_machine_id'> <!-- char* --> - <return type-id='type-id-22'/> + <return type-id='type-id-21'/> + </function-decl> + <!-- void dbus_get_version(int*, int*, int*) --> + <function-decl name='dbus_get_version' mangled-name='dbus_get_version' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='161' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_get_version'> + <!-- parameter of type 'int*' --> + <parameter type-id='type-id-23' name='major_version_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='161' column='1'/> + <!-- parameter of type 'int*' --> + <parameter type-id='type-id-23' name='minor_version_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='162' column='1'/> + <!-- parameter of type 'int*' --> + <parameter type-id='type-id-23' name='micro_version_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-misc.c' line='163' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='dbus-pending-call.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> <!-- typedef void (DBusPendingCall*, void*)* DBusPendingCallNotifyFunction --> - <typedef-decl name='DBusPendingCallNotifyFunction' type-id='type-id-142' filepath='../dbus/dbus-connection.h' line='162' column='1' id='type-id-89'/> + <typedef-decl name='DBusPendingCallNotifyFunction' type-id='type-id-153' filepath='../dbus/dbus-connection.h' line='162' column='1' id='type-id-139'/> + <!-- struct DBusPendingCall --> + <class-decl name='DBusPendingCall' size-in-bits='576' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='63' column='1' id='type-id-80'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- DBusAtomic DBusPendingCall::refcount --> + <var-decl name='refcount' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='64' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- DBusDataSlotList DBusPendingCall::slot_list --> + <var-decl name='slot_list' type-id='type-id-42' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='66' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- DBusPendingCallNotifyFunction DBusPendingCall::function --> + <var-decl name='function' type-id='type-id-139' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='68' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- DBusConnection* DBusPendingCall::connection --> + <var-decl name='connection' type-id='type-id-31' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='70' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- DBusMessage* DBusPendingCall::reply --> + <var-decl name='reply' type-id='type-id-37' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='71' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- DBusTimeout* DBusPendingCall::timeout --> + <var-decl name='timeout' type-id='type-id-120' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <!-- DBusList* DBusPendingCall::timeout_link --> + <var-decl name='timeout_link' type-id='type-id-15' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='74' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <!-- dbus_uint32_t DBusPendingCall::reply_serial --> + <var-decl name='reply_serial' type-id='type-id-4' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='76' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <!-- unsigned int DBusPendingCall::completed --> + <var-decl name='completed' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='78' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='545'> + <!-- unsigned int DBusPendingCall::timeout_added --> + <var-decl name='timeout_added' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='79' column='1'/> + </data-member> + </class-decl> <!-- void (DBusPendingCall*, void*)* --> - <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-142'/> - <!-- void* dbus_pending_call_get_data(DBusPendingCall*, dbus_int32_t) --> - <function-decl name='dbus_pending_call_get_data' mangled-name='dbus_pending_call_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='827' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_get_data'> + <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-153'/> + <!-- DBusPendingCall* dbus_pending_call_ref(DBusPendingCall*) --> + <function-decl name='dbus_pending_call_ref' mangled-name='dbus_pending_call_ref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_ref'> <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='827' column='1'/> - <!-- parameter of type 'typedef dbus_int32_t' --> - <parameter type-id='type-id-81' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='828' column='1'/> - <!-- void* --> - <return type-id='type-id-10'/> - </function-decl> - <!-- DBusMessage* dbus_pending_call_steal_reply(DBusPendingCall*) --> - <function-decl name='dbus_pending_call_steal_reply' mangled-name='dbus_pending_call_steal_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_steal_reply'> - <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='702' column='1'/> - <!-- DBusMessage* --> - <return type-id='type-id-30'/> - </function-decl> - <!-- dbus_bool_t dbus_pending_call_get_completed(DBusPendingCall*) --> - <function-decl name='dbus_pending_call_get_completed' mangled-name='dbus_pending_call_get_completed' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='679' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_get_completed'> - <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='679' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_pending_call_free_data_slot(dbus_int32_t*) --> - <function-decl name='dbus_pending_call_free_data_slot' mangled-name='dbus_pending_call_free_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='779' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_free_data_slot'> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='779' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_pending_call_allocate_data_slot(dbus_int32_t*) --> - <function-decl name='dbus_pending_call_allocate_data_slot' mangled-name='dbus_pending_call_allocate_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_allocate_data_slot'> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='759' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_pending_call_block(DBusPendingCall*) --> - <function-decl name='dbus_pending_call_block' mangled-name='dbus_pending_call_block' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_block'> - <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='737' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void dbus_pending_call_cancel(DBusPendingCall*) --> - <function-decl name='dbus_pending_call_cancel' mangled-name='dbus_pending_call_cancel' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_cancel'> - <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='663' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='577' column='1'/> + <!-- DBusPendingCall* --> + <return type-id='type-id-117'/> </function-decl> <!-- void dbus_pending_call_unref(DBusPendingCall*) --> <function-decl name='dbus_pending_call_unref' mangled-name='dbus_pending_call_unref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_unref'> <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='597' column='1'/> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='597' column='1'/> <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- DBusPendingCall* dbus_pending_call_ref(DBusPendingCall*) --> - <function-decl name='dbus_pending_call_ref' mangled-name='dbus_pending_call_ref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_ref'> - <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='577' column='1'/> - <!-- DBusPendingCall* --> - <return type-id='type-id-123'/> - </function-decl> - <!-- dbus_bool_t dbus_pending_call_set_data(DBusPendingCall*, dbus_int32_t, void*, DBusFreeFunction) --> - <function-decl name='dbus_pending_call_set_data' mangled-name='dbus_pending_call_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_set_data'> - <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='801' column='1'/> - <!-- parameter of type 'typedef dbus_int32_t' --> - <parameter type-id='type-id-81' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='802' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='803' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_func' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='804' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-24'/> </function-decl> <!-- dbus_bool_t dbus_pending_call_set_notify(DBusPendingCall*, DBusPendingCallNotifyFunction, void*, DBusFreeFunction) --> <function-decl name='dbus_pending_call_set_notify' mangled-name='dbus_pending_call_set_notify' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_set_notify'> <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='622' column='1'/> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='622' column='1'/> <!-- parameter of type 'typedef DBusPendingCallNotifyFunction' --> - <parameter type-id='type-id-89' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='623' column='1'/> + <parameter type-id='type-id-139' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='623' column='1'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='624' column='1'/> + <parameter type-id='type-id-8' name='user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='624' column='1'/> <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='625' column='1'/> + <parameter type-id='type-id-45' name='free_user_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='625' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_pending_call_cancel(DBusPendingCall*) --> + <function-decl name='dbus_pending_call_cancel' mangled-name='dbus_pending_call_cancel' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_cancel'> + <!-- parameter of type 'DBusPendingCall*' --> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='663' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_pending_call_get_completed(DBusPendingCall*) --> + <function-decl name='dbus_pending_call_get_completed' mangled-name='dbus_pending_call_get_completed' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='679' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_get_completed'> + <!-- parameter of type 'DBusPendingCall*' --> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='679' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- DBusMessage* dbus_pending_call_steal_reply(DBusPendingCall*) --> + <function-decl name='dbus_pending_call_steal_reply' mangled-name='dbus_pending_call_steal_reply' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_steal_reply'> + <!-- parameter of type 'DBusPendingCall*' --> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='702' column='1'/> + <!-- DBusMessage* --> + <return type-id='type-id-37'/> + </function-decl> + <!-- void dbus_pending_call_block(DBusPendingCall*) --> + <function-decl name='dbus_pending_call_block' mangled-name='dbus_pending_call_block' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_block'> + <!-- parameter of type 'DBusPendingCall*' --> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='737' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_pending_call_allocate_data_slot(dbus_int32_t*) --> + <function-decl name='dbus_pending_call_allocate_data_slot' mangled-name='dbus_pending_call_allocate_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_allocate_data_slot'> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='759' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_pending_call_free_data_slot(dbus_int32_t*) --> + <function-decl name='dbus_pending_call_free_data_slot' mangled-name='dbus_pending_call_free_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='779' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_free_data_slot'> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='779' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_pending_call_set_data(DBusPendingCall*, dbus_int32_t, void*, DBusFreeFunction) --> + <function-decl name='dbus_pending_call_set_data' mangled-name='dbus_pending_call_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_set_data'> + <!-- parameter of type 'DBusPendingCall*' --> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='801' column='1'/> + <!-- parameter of type 'typedef dbus_int32_t' --> + <parameter type-id='type-id-53' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='802' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='803' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_func' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='804' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void* dbus_pending_call_get_data(DBusPendingCall*, dbus_int32_t) --> + <function-decl name='dbus_pending_call_get_data' mangled-name='dbus_pending_call_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='827' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_pending_call_get_data'> + <!-- parameter of type 'DBusPendingCall*' --> + <parameter type-id='type-id-117' name='pending' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='827' column='1'/> + <!-- parameter of type 'typedef dbus_int32_t' --> + <parameter type-id='type-id-53' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='828' column='1'/> + <!-- void* --> + <return type-id='type-id-8'/> </function-decl> <!-- void (DBusPendingCall*, void*) --> - <function-type size-in-bits='64' id='type-id-147'> + <function-type size-in-bits='64' id='type-id-154'> <!-- parameter of type 'DBusPendingCall*' --> - <parameter type-id='type-id-123'/> + <parameter type-id='type-id-117'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> </abi-instr> <abi-instr address-size='64' path='dbus-server.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> <!-- char[16] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-159'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-155'> <!-- <anonymous range>[16] --> - <subrange length='16' type-id='type-id-43' id='type-id-160'/> + <subrange length='16' type-id='type-id-26' id='type-id-156'/> </array-type-def> <!-- dbus_uint32_t[4] --> - <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='128' id='type-id-161'> + <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='128' id='type-id-157'> <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-43' id='type-id-162'/> + <subrange length='4' type-id='type-id-26' id='type-id-158'/> </array-type-def> + <!-- union DBusGUID --> + <union-decl name='DBusGUID' size-in-bits='128' visibility='default' filepath='../dbus/dbus-internals.h' line='351' column='1' id='type-id-159'> + <data-member access='public'> + <!-- dbus_uint32_t DBusGUID::as_uint32s[4] --> + <var-decl name='as_uint32s' type-id='type-id-157' visibility='default' filepath='../dbus/dbus-internals.h' line='352' column='1'/> + </data-member> + <data-member access='public'> + <!-- char DBusGUID::as_bytes[16] --> + <var-decl name='as_bytes' type-id='type-id-155' visibility='default' filepath='../dbus/dbus-internals.h' line='353' column='1'/> + </data-member> + </union-decl> + <!-- typedef DBusServerVTable DBusServerVTable --> + <typedef-decl name='DBusServerVTable' type-id='type-id-160' filepath='../dbus/dbus-server-protected.h' line='38' column='1' id='type-id-161'/> + <!-- struct DBusServerVTable --> + <class-decl name='DBusServerVTable' size-in-bits='128' is-struct='yes' visibility='default' filepath='../dbus/dbus-server-protected.h' line='44' column='1' id='type-id-160'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- void (DBusServer*)* DBusServerVTable::finalize --> + <var-decl name='finalize' type-id='type-id-162' visibility='default' filepath='../dbus/dbus-server-protected.h' line='45' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- void (DBusServer*)* DBusServerVTable::disconnect --> + <var-decl name='disconnect' type-id='type-id-162' visibility='default' filepath='../dbus/dbus-server-protected.h' line='48' column='1'/> + </data-member> + </class-decl> <!-- struct DBusServer --> <class-decl name='DBusServer' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../dbus/dbus-server-protected.h' line='57' column='1' id='type-id-163'> <data-member access='public' layout-offset-in-bits='0'> <!-- DBusAtomic DBusServer::refcount --> - <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='../dbus/dbus-server-protected.h' line='58' column='1'/> + <var-decl name='refcount' type-id='type-id-33' visibility='default' filepath='../dbus/dbus-server-protected.h' line='58' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- const DBusServerVTable* DBusServer::vtable --> @@ -3383,7 +3387,7 @@ </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- DBusRMutex* DBusServer::mutex --> - <var-decl name='mutex' type-id='type-id-27' visibility='default' filepath='../dbus/dbus-server-protected.h' line='60' column='1'/> + <var-decl name='mutex' type-id='type-id-34' visibility='default' filepath='../dbus/dbus-server-protected.h' line='60' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- DBusGUID DBusServer::guid --> @@ -3391,23 +3395,23 @@ </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- DBusString DBusServer::guid_hex --> - <var-decl name='guid_hex' type-id='type-id-7' visibility='default' filepath='../dbus/dbus-server-protected.h' line='64' column='1'/> + <var-decl name='guid_hex' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-server-protected.h' line='64' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='512'> <!-- DBusWatchList* DBusServer::watches --> - <var-decl name='watches' type-id='type-id-33' visibility='default' filepath='../dbus/dbus-server-protected.h' line='66' column='1'/> + <var-decl name='watches' type-id='type-id-40' visibility='default' filepath='../dbus/dbus-server-protected.h' line='66' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='576'> <!-- DBusTimeoutList* DBusServer::timeouts --> - <var-decl name='timeouts' type-id='type-id-34' visibility='default' filepath='../dbus/dbus-server-protected.h' line='67' column='1'/> + <var-decl name='timeouts' type-id='type-id-41' visibility='default' filepath='../dbus/dbus-server-protected.h' line='67' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='640'> <!-- char* DBusServer::address --> - <var-decl name='address' type-id='type-id-22' visibility='default' filepath='../dbus/dbus-server-protected.h' line='69' column='1'/> + <var-decl name='address' type-id='type-id-21' visibility='default' filepath='../dbus/dbus-server-protected.h' line='69' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='704'> <!-- dbus_bool_t DBusServer::published_address --> - <var-decl name='published_address' type-id='type-id-17' visibility='default' filepath='../dbus/dbus-server-protected.h' line='70' column='1'/> + <var-decl name='published_address' type-id='type-id-13' visibility='default' filepath='../dbus/dbus-server-protected.h' line='70' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='736'> <!-- int DBusServer::max_connections --> @@ -3415,7 +3419,7 @@ </data-member> <data-member access='public' layout-offset-in-bits='768'> <!-- DBusDataSlotList DBusServer::slot_list --> - <var-decl name='slot_list' type-id='type-id-35' visibility='default' filepath='../dbus/dbus-server-protected.h' line='74' column='1'/> + <var-decl name='slot_list' type-id='type-id-42' visibility='default' filepath='../dbus/dbus-server-protected.h' line='74' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='896'> <!-- DBusNewConnectionFunction DBusServer::new_connection_function --> @@ -3423,777 +3427,831 @@ </data-member> <data-member access='public' layout-offset-in-bits='960'> <!-- void* DBusServer::new_connection_data --> - <var-decl name='new_connection_data' type-id='type-id-10' visibility='default' filepath='../dbus/dbus-server-protected.h' line='78' column='1'/> + <var-decl name='new_connection_data' type-id='type-id-8' visibility='default' filepath='../dbus/dbus-server-protected.h' line='78' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1024'> <!-- DBusFreeFunction DBusServer::new_connection_free_data_function --> - <var-decl name='new_connection_free_data_function' type-id='type-id-38' visibility='default' filepath='../dbus/dbus-server-protected.h' line='80' column='1'/> + <var-decl name='new_connection_free_data_function' type-id='type-id-45' visibility='default' filepath='../dbus/dbus-server-protected.h' line='80' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1088'> <!-- char** DBusServer::auth_mechanisms --> - <var-decl name='auth_mechanisms' type-id='type-id-127' visibility='default' filepath='../dbus/dbus-server-protected.h' line='85' column='1'/> + <var-decl name='auth_mechanisms' type-id='type-id-122' visibility='default' filepath='../dbus/dbus-server-protected.h' line='85' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='0'> + <data-member access='public' layout-offset-in-bits='1152'> <!-- unsigned int DBusServer::disconnected --> <var-decl name='disconnected' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-server-protected.h' line='87' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='1'> + <data-member access='public' layout-offset-in-bits='1153'> <!-- unsigned int DBusServer::have_server_lock --> <var-decl name='have_server_lock' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-server-protected.h' line='90' column='1'/> </data-member> </class-decl> - <!-- typedef DBusServerVTable DBusServerVTable --> - <typedef-decl name='DBusServerVTable' type-id='type-id-167' filepath='../dbus/dbus-server-protected.h' line='38' column='1' id='type-id-168'/> - <!-- struct DBusServerVTable --> - <class-decl name='DBusServerVTable' size-in-bits='128' is-struct='yes' visibility='default' filepath='../dbus/dbus-server-protected.h' line='44' column='1' id='type-id-167'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- void (DBusServer*)* DBusServerVTable::finalize --> - <var-decl name='finalize' type-id='type-id-169' visibility='default' filepath='../dbus/dbus-server-protected.h' line='45' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- void (DBusServer*)* DBusServerVTable::disconnect --> - <var-decl name='disconnect' type-id='type-id-169' visibility='default' filepath='../dbus/dbus-server-protected.h' line='48' column='1'/> - </data-member> - </class-decl> - <!-- typedef DBusServer DBusServer --> - <typedef-decl name='DBusServer' type-id='type-id-163' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.h' line='42' column='1' id='type-id-170'/> <!-- typedef DBusGUID DBusGUID --> - <typedef-decl name='DBusGUID' type-id='type-id-171' filepath='../dbus/dbus-sysdeps.h' line='507' column='1' id='type-id-165'/> - <!-- union DBusGUID --> - <union-decl name='DBusGUID' size-in-bits='128' visibility='default' filepath='../dbus/dbus-internals.h' line='351' column='1' id='type-id-171'> - <data-member access='public'> - <!-- dbus_uint32_t DBusGUID::as_uint32s[4] --> - <var-decl name='as_uint32s' type-id='type-id-161' visibility='default' filepath='../dbus/dbus-internals.h' line='352' column='1'/> - </data-member> - <data-member access='public'> - <!-- char DBusGUID::as_bytes[16] --> - <var-decl name='as_bytes' type-id='type-id-159' visibility='default' filepath='../dbus/dbus-internals.h' line='353' column='1'/> - </data-member> - </union-decl> + <typedef-decl name='DBusGUID' type-id='type-id-159' filepath='../dbus/dbus-sysdeps.h' line='507' column='1' id='type-id-165'/> + <!-- typedef DBusServer DBusServer --> + <typedef-decl name='DBusServer' type-id='type-id-163' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.h' line='42' column='1' id='type-id-167'/> <!-- typedef void (DBusServer*, DBusConnection*, void*)* DBusNewConnectionFunction --> - <typedef-decl name='DBusNewConnectionFunction' type-id='type-id-172' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.h' line='47' column='1' id='type-id-166'/> + <typedef-decl name='DBusNewConnectionFunction' type-id='type-id-168' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.h' line='47' column='1' id='type-id-166'/> <!-- DBusServer* --> - <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-173'/> + <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-169'/> <!-- const DBusServerVTable --> - <qualified-type-def type-id='type-id-168' const='yes' id='type-id-174'/> + <qualified-type-def type-id='type-id-161' const='yes' id='type-id-170'/> <!-- const DBusServerVTable* --> - <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-164'/> + <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-164'/> <!-- const char** --> - <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-175'/> + <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-171'/> <!-- void (DBusServer*)* --> - <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-169'/> + <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-162'/> <!-- void (DBusServer*, DBusConnection*, void*)* --> - <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-172'/> - <!-- void* dbus_server_get_data(DBusServer*, int) --> - <function-decl name='dbus_server_get_data' mangled-name='dbus_server_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_get_data'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1156' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1157' column='1'/> - <!-- void* --> - <return type-id='type-id-10'/> - </function-decl> - <!-- void dbus_server_set_new_connection_function(DBusServer*, DBusNewConnectionFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_server_set_new_connection_function' mangled-name='dbus_server_set_new_connection_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='889' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_new_connection_function'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='889' column='1'/> - <!-- parameter of type 'typedef DBusNewConnectionFunction' --> - <parameter type-id='type-id-166' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='890' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='891' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='892' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_server_get_is_connected(DBusServer*) --> - <function-decl name='dbus_server_get_is_connected' mangled-name='dbus_server_get_is_connected' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='797' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_get_is_connected'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='797' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_server_set_data(DBusServer*, int, void*, DBusFreeFunction) --> - <function-decl name='dbus_server_set_data' mangled-name='dbus_server_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_data'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1116' column='1'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1117' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1118' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_func' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1119' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_server_free_data_slot(dbus_int32_t*) --> - <function-decl name='dbus_server_free_data_slot' mangled-name='dbus_server_free_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_free_data_slot'> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1095' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_server_allocate_data_slot(dbus_int32_t*) --> - <function-decl name='dbus_server_allocate_data_slot' mangled-name='dbus_server_allocate_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1077' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_allocate_data_slot'> - <!-- parameter of type 'dbus_int32_t*' --> - <parameter type-id='type-id-131' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1077' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_server_set_auth_mechanisms(DBusServer*, const char**) --> - <function-decl name='dbus_server_set_auth_mechanisms' mangled-name='dbus_server_set_auth_mechanisms' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1033' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_auth_mechanisms'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1033' column='1'/> - <!-- parameter of type 'const char**' --> - <parameter type-id='type-id-175' name='mechanisms' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1034' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_server_set_timeout_functions(DBusServer*, DBusAddTimeoutFunction, DBusRemoveTimeoutFunction, DBusTimeoutToggledFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_server_set_timeout_functions' mangled-name='dbus_server_set_timeout_functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='982' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_timeout_functions'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='982' column='1'/> - <!-- parameter of type 'typedef DBusAddTimeoutFunction' --> - <parameter type-id='type-id-109' name='add_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='983' column='1'/> - <!-- parameter of type 'typedef DBusRemoveTimeoutFunction' --> - <parameter type-id='type-id-112' name='remove_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='984' column='1'/> - <!-- parameter of type 'typedef DBusTimeoutToggledFunction' --> - <parameter type-id='type-id-113' name='toggled_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='985' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='986' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='987' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_server_set_watch_functions(DBusServer*, DBusAddWatchFunction, DBusRemoveWatchFunction, DBusWatchToggledFunction, void*, DBusFreeFunction) --> - <function-decl name='dbus_server_set_watch_functions' mangled-name='dbus_server_set_watch_functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='929' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_watch_functions'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='929' column='1'/> - <!-- parameter of type 'typedef DBusAddWatchFunction' --> - <parameter type-id='type-id-115' name='add_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='930' column='1'/> - <!-- parameter of type 'typedef DBusRemoveWatchFunction' --> - <parameter type-id='type-id-118' name='remove_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='931' column='1'/> - <!-- parameter of type 'typedef DBusWatchToggledFunction' --> - <parameter type-id='type-id-119' name='toggled_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='932' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='933' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='934' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- char* dbus_server_get_id(DBusServer*) --> - <function-decl name='dbus_server_get_id' mangled-name='dbus_server_get_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='854' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_get_id'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='854' column='1'/> - <!-- char* --> - <return type-id='type-id-22'/> - </function-decl> - <!-- char* dbus_server_get_address(DBusServer*) --> - <function-decl name='dbus_server_get_address' mangled-name='dbus_server_get_address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_get_address'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='818' column='1'/> - <!-- char* --> - <return type-id='type-id-22'/> - </function-decl> - <!-- void dbus_server_unref(DBusServer*) --> - <function-decl name='dbus_server_unref' mangled-name='dbus_server_unref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='720' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_unref'> - <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='720' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> + <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-168'/> + <!-- DBusServer* dbus_server_listen(const char*, DBusError*) --> + <function-decl name='dbus_server_listen' mangled-name='dbus_server_listen' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='549' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_listen'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='549' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='550' column='1'/> + <!-- DBusServer* --> + <return type-id='type-id-169'/> </function-decl> <!-- DBusServer* dbus_server_ref(DBusServer*) --> <function-decl name='dbus_server_ref' mangled-name='dbus_server_ref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='687' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_ref'> <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='687' column='1'/> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='687' column='1'/> <!-- DBusServer* --> - <return type-id='type-id-173'/> + <return type-id='type-id-169'/> + </function-decl> + <!-- void dbus_server_unref(DBusServer*) --> + <function-decl name='dbus_server_unref' mangled-name='dbus_server_unref' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='720' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_unref'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='720' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> </function-decl> <!-- void dbus_server_disconnect(DBusServer*) --> <function-decl name='dbus_server_disconnect' mangled-name='dbus_server_disconnect' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='770' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_disconnect'> <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='770' column='1'/> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='770' column='1'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-decl> - <!-- DBusServer* dbus_server_listen(const char*, DBusError*) --> - <function-decl name='dbus_server_listen' mangled-name='dbus_server_listen' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='549' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_listen'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='549' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='550' column='1'/> - <!-- DBusServer* --> - <return type-id='type-id-173'/> + <!-- dbus_bool_t dbus_server_get_is_connected(DBusServer*) --> + <function-decl name='dbus_server_get_is_connected' mangled-name='dbus_server_get_is_connected' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='797' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_get_is_connected'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='797' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- char* dbus_server_get_address(DBusServer*) --> + <function-decl name='dbus_server_get_address' mangled-name='dbus_server_get_address' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_get_address'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='818' column='1'/> + <!-- char* --> + <return type-id='type-id-21'/> + </function-decl> + <!-- char* dbus_server_get_id(DBusServer*) --> + <function-decl name='dbus_server_get_id' mangled-name='dbus_server_get_id' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='854' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_get_id'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='854' column='1'/> + <!-- char* --> + <return type-id='type-id-21'/> + </function-decl> + <!-- void dbus_server_set_new_connection_function(DBusServer*, DBusNewConnectionFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_server_set_new_connection_function' mangled-name='dbus_server_set_new_connection_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='889' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_new_connection_function'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='889' column='1'/> + <!-- parameter of type 'typedef DBusNewConnectionFunction' --> + <parameter type-id='type-id-166' name='function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='890' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='891' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='892' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_server_set_watch_functions(DBusServer*, DBusAddWatchFunction, DBusRemoveWatchFunction, DBusWatchToggledFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_server_set_watch_functions' mangled-name='dbus_server_set_watch_functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='929' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_watch_functions'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='929' column='1'/> + <!-- parameter of type 'typedef DBusAddWatchFunction' --> + <parameter type-id='type-id-86' name='add_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='930' column='1'/> + <!-- parameter of type 'typedef DBusRemoveWatchFunction' --> + <parameter type-id='type-id-89' name='remove_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='931' column='1'/> + <!-- parameter of type 'typedef DBusWatchToggledFunction' --> + <parameter type-id='type-id-88' name='toggled_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='932' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='933' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='934' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_server_set_timeout_functions(DBusServer*, DBusAddTimeoutFunction, DBusRemoveTimeoutFunction, DBusTimeoutToggledFunction, void*, DBusFreeFunction) --> + <function-decl name='dbus_server_set_timeout_functions' mangled-name='dbus_server_set_timeout_functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='982' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_timeout_functions'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='982' column='1'/> + <!-- parameter of type 'typedef DBusAddTimeoutFunction' --> + <parameter type-id='type-id-91' name='add_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='983' column='1'/> + <!-- parameter of type 'typedef DBusRemoveTimeoutFunction' --> + <parameter type-id='type-id-94' name='remove_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='984' column='1'/> + <!-- parameter of type 'typedef DBusTimeoutToggledFunction' --> + <parameter type-id='type-id-93' name='toggled_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='985' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='986' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='987' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_server_set_auth_mechanisms(DBusServer*, const char**) --> + <function-decl name='dbus_server_set_auth_mechanisms' mangled-name='dbus_server_set_auth_mechanisms' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1033' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_auth_mechanisms'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1033' column='1'/> + <!-- parameter of type 'const char**' --> + <parameter type-id='type-id-171' name='mechanisms' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1034' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_server_allocate_data_slot(dbus_int32_t*) --> + <function-decl name='dbus_server_allocate_data_slot' mangled-name='dbus_server_allocate_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1077' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_allocate_data_slot'> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1077' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_server_free_data_slot(dbus_int32_t*) --> + <function-decl name='dbus_server_free_data_slot' mangled-name='dbus_server_free_data_slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_free_data_slot'> + <!-- parameter of type 'dbus_int32_t*' --> + <parameter type-id='type-id-126' name='slot_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1095' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_server_set_data(DBusServer*, int, void*, DBusFreeFunction) --> + <function-decl name='dbus_server_set_data' mangled-name='dbus_server_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_set_data'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1116' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1117' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1118' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_func' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1119' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void* dbus_server_get_data(DBusServer*, int) --> + <function-decl name='dbus_server_get_data' mangled-name='dbus_server_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_server_get_data'> + <!-- parameter of type 'DBusServer*' --> + <parameter type-id='type-id-169' name='server' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1156' column='1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='slot' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-server.c' line='1157' column='1'/> + <!-- void* --> + <return type-id='type-id-8'/> </function-decl> <!-- void (DBusServer*) --> - <function-type size-in-bits='64' id='type-id-176'> + <function-type size-in-bits='64' id='type-id-172'> <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173'/> + <parameter type-id='type-id-169'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> <!-- void (DBusServer*, DBusConnection*, void*) --> - <function-type size-in-bits='64' id='type-id-177'> + <function-type size-in-bits='64' id='type-id-173'> <!-- parameter of type 'DBusServer*' --> - <parameter type-id='type-id-173'/> + <parameter type-id='type-id-169'/> <!-- parameter of type 'DBusConnection*' --> - <parameter type-id='type-id-47'/> + <parameter type-id='type-id-31'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> </abi-instr> <abi-instr address-size='64' path='dbus-signature.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> - <!-- typedef __anonymous_struct__ DBusSignatureIter --> - <typedef-decl name='DBusSignatureIter' type-id='type-id-178' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='51' column='1' id='type-id-179'/> - <!-- struct {void* dummy1; void* dummy2; dbus_uint32_t dummy8; int dummy12; int dummy17;} --> - <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-179' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='45' column='1' id='type-id-178'> + <!-- struct DBusSignatureIter --> + <class-decl name='DBusSignatureIter' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-174' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='45' column='1' id='type-id-175'> <data-member access='public' layout-offset-in-bits='0'> - <!-- void* dummy1 --> - <var-decl name='dummy1' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='46' column='1'/> + <!-- void* DBusSignatureIter::dummy1 --> + <var-decl name='dummy1' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='46' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> - <!-- void* dummy2 --> - <var-decl name='dummy2' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='47' column='1'/> + <!-- void* DBusSignatureIter::dummy2 --> + <var-decl name='dummy2' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='47' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> - <!-- dbus_uint32_t dummy8 --> - <var-decl name='dummy8' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='48' column='1'/> + <!-- dbus_uint32_t DBusSignatureIter::dummy8 --> + <var-decl name='dummy8' type-id='type-id-4' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='48' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='160'> - <!-- int dummy12 --> + <!-- int DBusSignatureIter::dummy12 --> <var-decl name='dummy12' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='49' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> - <!-- int dummy17 --> + <!-- int DBusSignatureIter::dummy17 --> <var-decl name='dummy17' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='50' column='1'/> </data-member> </class-decl> + <!-- typedef DBusSignatureIter DBusSignatureIter --> + <typedef-decl name='DBusSignatureIter' type-id='type-id-175' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.h' line='51' column='1' id='type-id-174'/> <!-- DBusSignatureIter* --> - <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-180'/> + <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-176'/> <!-- const DBusSignatureIter --> - <qualified-type-def type-id='type-id-179' const='yes' id='type-id-181'/> + <qualified-type-def type-id='type-id-174' const='yes' id='type-id-177'/> <!-- const DBusSignatureIter* --> - <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-182'/> + <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-178'/> <!-- void dbus_signature_iter_init(DBusSignatureIter*, const char*) --> <function-decl name='dbus_signature_iter_init' mangled-name='dbus_signature_iter_init' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_init'> <!-- parameter of type 'DBusSignatureIter*' --> - <parameter type-id='type-id-180' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='67' column='1'/> + <parameter type-id='type-id-176' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='67' column='1'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='68' column='1'/> + <parameter type-id='type-id-7' name='signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='68' column='1'/> <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- dbus_bool_t dbus_type_is_valid(int) --> - <function-decl name='dbus_type_is_valid' mangled-name='dbus_type_is_valid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_type_is_valid'> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='typecode' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='383' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_type_is_fixed(int) --> - <function-decl name='dbus_type_is_fixed' mangled-name='dbus_type_is_fixed' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_type_is_fixed'> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='typecode' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='349' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_type_is_basic(int) --> - <function-decl name='dbus_type_is_basic' mangled-name='dbus_type_is_basic' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_type_is_basic'> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='typecode' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='318' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_type_is_container(int) --> - <function-decl name='dbus_type_is_container' mangled-name='dbus_type_is_container' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_type_is_container'> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-2' name='typecode' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='294' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_signature_validate(const char*, DBusError*) --> - <function-decl name='dbus_signature_validate' mangled-name='dbus_signature_validate' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_validate'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='233' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='234' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_signature_iter_next(DBusSignatureIter*) --> - <function-decl name='dbus_signature_iter_next' mangled-name='dbus_signature_iter_next' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_next'> - <!-- parameter of type 'DBusSignatureIter*' --> - <parameter type-id='type-id-180' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='164' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-24'/> </function-decl> <!-- int dbus_signature_iter_get_current_type(const DBusSignatureIter*) --> <function-decl name='dbus_signature_iter_get_current_type' mangled-name='dbus_signature_iter_get_current_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_get_current_type'> <!-- parameter of type 'const DBusSignatureIter*' --> - <parameter type-id='type-id-182' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='92' column='1'/> - <!-- int --> - <return type-id='type-id-2'/> - </function-decl> - <!-- dbus_bool_t dbus_signature_validate_single(const char*, DBusError*) --> - <function-decl name='dbus_signature_validate_single' mangled-name='dbus_signature_validate_single' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_validate_single'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='264' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='265' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_signature_iter_recurse(const DBusSignatureIter*, DBusSignatureIter*) --> - <function-decl name='dbus_signature_iter_recurse' mangled-name='dbus_signature_iter_recurse' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_recurse'> - <!-- parameter of type 'const DBusSignatureIter*' --> - <parameter type-id='type-id-182' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='207' column='1'/> - <!-- parameter of type 'DBusSignatureIter*' --> - <parameter type-id='type-id-180' name='subiter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='208' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- int dbus_signature_iter_get_element_type(const DBusSignatureIter*) --> - <function-decl name='dbus_signature_iter_get_element_type' mangled-name='dbus_signature_iter_get_element_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_get_element_type'> - <!-- parameter of type 'const DBusSignatureIter*' --> - <parameter type-id='type-id-182' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='146' column='1'/> + <parameter type-id='type-id-178' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='92' column='1'/> <!-- int --> <return type-id='type-id-2'/> </function-decl> <!-- char* dbus_signature_iter_get_signature(const DBusSignatureIter*) --> <function-decl name='dbus_signature_iter_get_signature' mangled-name='dbus_signature_iter_get_signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_get_signature'> <!-- parameter of type 'const DBusSignatureIter*' --> - <parameter type-id='type-id-182' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='112' column='1'/> + <parameter type-id='type-id-178' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='112' column='1'/> <!-- char* --> - <return type-id='type-id-22'/> + <return type-id='type-id-21'/> + </function-decl> + <!-- int dbus_signature_iter_get_element_type(const DBusSignatureIter*) --> + <function-decl name='dbus_signature_iter_get_element_type' mangled-name='dbus_signature_iter_get_element_type' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_get_element_type'> + <!-- parameter of type 'const DBusSignatureIter*' --> + <parameter type-id='type-id-178' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='146' column='1'/> + <!-- int --> + <return type-id='type-id-2'/> + </function-decl> + <!-- dbus_bool_t dbus_signature_iter_next(DBusSignatureIter*) --> + <function-decl name='dbus_signature_iter_next' mangled-name='dbus_signature_iter_next' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_next'> + <!-- parameter of type 'DBusSignatureIter*' --> + <parameter type-id='type-id-176' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='164' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- void dbus_signature_iter_recurse(const DBusSignatureIter*, DBusSignatureIter*) --> + <function-decl name='dbus_signature_iter_recurse' mangled-name='dbus_signature_iter_recurse' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_iter_recurse'> + <!-- parameter of type 'const DBusSignatureIter*' --> + <parameter type-id='type-id-178' name='iter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='207' column='1'/> + <!-- parameter of type 'DBusSignatureIter*' --> + <parameter type-id='type-id-176' name='subiter' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='208' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_signature_validate(const char*, DBusError*) --> + <function-decl name='dbus_signature_validate' mangled-name='dbus_signature_validate' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_validate'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='233' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='234' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_signature_validate_single(const char*, DBusError*) --> + <function-decl name='dbus_signature_validate_single' mangled-name='dbus_signature_validate_single' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_signature_validate_single'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='signature' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='264' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='265' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_type_is_container(int) --> + <function-decl name='dbus_type_is_container' mangled-name='dbus_type_is_container' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_type_is_container'> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='typecode' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='294' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_type_is_basic(int) --> + <function-decl name='dbus_type_is_basic' mangled-name='dbus_type_is_basic' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_type_is_basic'> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='typecode' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='318' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_type_is_fixed(int) --> + <function-decl name='dbus_type_is_fixed' mangled-name='dbus_type_is_fixed' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_type_is_fixed'> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='typecode' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='349' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_type_is_valid(int) --> + <function-decl name='dbus_type_is_valid' mangled-name='dbus_type_is_valid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_type_is_valid'> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-2' name='typecode' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-signature.c' line='383' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='dbus-syntax.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> - <!-- dbus_bool_t dbus_validate_utf8(const char*, DBusError*) --> - <function-decl name='dbus_validate_utf8' mangled-name='dbus_validate_utf8' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_utf8'> + <!-- dbus_bool_t dbus_validate_path(const char*, DBusError*) --> + <function-decl name='dbus_validate_path' mangled-name='dbus_validate_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_path'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='alleged_utf8' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='289' column='1'/> + <parameter type-id='type-id-7' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='54' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='290' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='55' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_validate_bus_name(const char*, DBusError*) --> - <function-decl name='dbus_validate_bus_name' mangled-name='dbus_validate_bus_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_bus_name'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='242' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='243' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_validate_error_name(const char*, DBusError*) --> - <function-decl name='dbus_validate_error_name' mangled-name='dbus_validate_error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_error_name'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='195' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='196' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_validate_member(const char*, DBusError*) --> - <function-decl name='dbus_validate_member' mangled-name='dbus_validate_member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_member'> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='148' column='1'/> - <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='149' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> <!-- dbus_bool_t dbus_validate_interface(const char*, DBusError*) --> <function-decl name='dbus_validate_interface' mangled-name='dbus_validate_interface' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_interface'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='101' column='1'/> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='101' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='102' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='102' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> - <!-- dbus_bool_t dbus_validate_path(const char*, DBusError*) --> - <function-decl name='dbus_validate_path' mangled-name='dbus_validate_path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_path'> + <!-- dbus_bool_t dbus_validate_member(const char*, DBusError*) --> + <function-decl name='dbus_validate_member' mangled-name='dbus_validate_member' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_member'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='path' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='54' column='1'/> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='148' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='55' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='149' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_validate_error_name(const char*, DBusError*) --> + <function-decl name='dbus_validate_error_name' mangled-name='dbus_validate_error_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_error_name'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='195' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='196' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_validate_bus_name(const char*, DBusError*) --> + <function-decl name='dbus_validate_bus_name' mangled-name='dbus_validate_bus_name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_bus_name'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='name' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='242' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='243' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_validate_utf8(const char*, DBusError*) --> + <function-decl name='dbus_validate_utf8' mangled-name='dbus_validate_utf8' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_validate_utf8'> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-7' name='alleged_utf8' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='289' column='1'/> + <!-- parameter of type 'DBusError*' --> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-syntax.c' line='290' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='dbus-sysdeps.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> <!-- dbus_bool_t dbus_setenv(const char*, const char*) --> <function-decl name='dbus_setenv' mangled-name='dbus_setenv' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-sysdeps.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_setenv'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='varname' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-sysdeps.c' line='114' column='1'/> + <parameter type-id='type-id-7' name='varname' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-sysdeps.c' line='114' column='1'/> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-sysdeps.c' line='115' column='1'/> + <parameter type-id='type-id-7' name='value' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-sysdeps.c' line='115' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='dbus-threads.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> - <!-- struct DBusMutex --> - <class-decl name='DBusMutex' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-183'/> - <!-- typedef __anonymous_struct__ DBusThreadFunctions --> - <typedef-decl name='DBusThreadFunctions' type-id='type-id-184' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='178' column='1' id='type-id-185'/> - <!-- struct {unsigned int mask; DBusMutexNewFunction mutex_new; DBusMutexFreeFunction mutex_free; DBusMutexLockFunction mutex_lock; DBusMutexUnlockFunction mutex_unlock; DBusCondVarNewFunction condvar_new; DBusCondVarFreeFunction condvar_free; DBusCondVarWaitFunction condvar_wait; DBusCondVarWaitTimeoutFunction condvar_wait_timeout; DBusCondVarWakeOneFunction condvar_wake_one; DBusCondVarWakeAllFunction condvar_wake_all; DBusRecursiveMutexNewFunction recursive_mutex_new; DBusRecursiveMutexFreeFunction recursive_mutex_free; DBusRecursiveMutexLockFunction recursive_mutex_lock; DBusRecursiveMutexUnlockFunction recursive_mutex_unlock; void ()* padding1; void ()* padding2; void ()* padding3; void ()* padding4;} --> - <class-decl name='__anonymous_struct__' size-in-bits='1216' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-185' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='153' column='1' id='type-id-184'> + <!-- typedef DBusMutex DBusMutex --> + <typedef-decl name='DBusMutex' type-id='type-id-179' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='41' column='1' id='type-id-180'/> + <!-- typedef DBusMutex* ()* DBusMutexNewFunction --> + <typedef-decl name='DBusMutexNewFunction' type-id='type-id-181' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='46' column='1' id='type-id-182'/> + <!-- typedef void (DBusMutex*)* DBusMutexFreeFunction --> + <typedef-decl name='DBusMutexFreeFunction' type-id='type-id-183' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='48' column='1' id='type-id-184'/> + <!-- typedef typedef dbus_bool_t (DBusMutex*)* DBusMutexLockFunction --> + <typedef-decl name='DBusMutexLockFunction' type-id='type-id-185' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='50' column='1' id='type-id-186'/> + <!-- typedef typedef dbus_bool_t (DBusMutex*)* DBusMutexUnlockFunction --> + <typedef-decl name='DBusMutexUnlockFunction' type-id='type-id-185' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='52' column='1' id='type-id-187'/> + <!-- typedef DBusMutex* ()* DBusRecursiveMutexNewFunction --> + <typedef-decl name='DBusRecursiveMutexNewFunction' type-id='type-id-181' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='61' column='1' id='type-id-188'/> + <!-- typedef void (DBusMutex*)* DBusRecursiveMutexFreeFunction --> + <typedef-decl name='DBusRecursiveMutexFreeFunction' type-id='type-id-183' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='64' column='1' id='type-id-189'/> + <!-- typedef void (DBusMutex*)* DBusRecursiveMutexLockFunction --> + <typedef-decl name='DBusRecursiveMutexLockFunction' type-id='type-id-183' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='68' column='1' id='type-id-190'/> + <!-- typedef void (DBusMutex*)* DBusRecursiveMutexUnlockFunction --> + <typedef-decl name='DBusRecursiveMutexUnlockFunction' type-id='type-id-183' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='72' column='1' id='type-id-191'/> + <!-- typedef DBusCondVar* ()* DBusCondVarNewFunction --> + <typedef-decl name='DBusCondVarNewFunction' type-id='type-id-192' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='77' column='1' id='type-id-193'/> + <!-- typedef void (DBusCondVar*)* DBusCondVarFreeFunction --> + <typedef-decl name='DBusCondVarFreeFunction' type-id='type-id-194' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='80' column='1' id='type-id-195'/> + <!-- typedef void (DBusCondVar*, DBusMutex*)* DBusCondVarWaitFunction --> + <typedef-decl name='DBusCondVarWaitFunction' type-id='type-id-196' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='92' column='1' id='type-id-197'/> + <!-- typedef typedef dbus_bool_t (DBusCondVar*, DBusMutex*, int)* DBusCondVarWaitTimeoutFunction --> + <typedef-decl name='DBusCondVarWaitTimeoutFunction' type-id='type-id-198' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='101' column='1' id='type-id-199'/> + <!-- typedef void (DBusCondVar*)* DBusCondVarWakeOneFunction --> + <typedef-decl name='DBusCondVarWakeOneFunction' type-id='type-id-194' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='108' column='1' id='type-id-200'/> + <!-- typedef void (DBusCondVar*)* DBusCondVarWakeAllFunction --> + <typedef-decl name='DBusCondVarWakeAllFunction' type-id='type-id-194' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='114' column='1' id='type-id-201'/> + <!-- struct DBusThreadFunctions --> + <class-decl name='DBusThreadFunctions' size-in-bits='1216' is-struct='yes' naming-typedef-id='type-id-202' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='153' column='1' id='type-id-203'> <data-member access='public' layout-offset-in-bits='0'> - <!-- unsigned int mask --> + <!-- unsigned int DBusThreadFunctions::mask --> <var-decl name='mask' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='154' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> - <!-- DBusMutexNewFunction mutex_new --> - <var-decl name='mutex_new' type-id='type-id-186' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='156' column='1'/> + <!-- DBusMutexNewFunction DBusThreadFunctions::mutex_new --> + <var-decl name='mutex_new' type-id='type-id-182' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='156' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> - <!-- DBusMutexFreeFunction mutex_free --> - <var-decl name='mutex_free' type-id='type-id-187' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='157' column='1'/> + <!-- DBusMutexFreeFunction DBusThreadFunctions::mutex_free --> + <var-decl name='mutex_free' type-id='type-id-184' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='157' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> - <!-- DBusMutexLockFunction mutex_lock --> - <var-decl name='mutex_lock' type-id='type-id-188' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='158' column='1'/> + <!-- DBusMutexLockFunction DBusThreadFunctions::mutex_lock --> + <var-decl name='mutex_lock' type-id='type-id-186' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='158' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> - <!-- DBusMutexUnlockFunction mutex_unlock --> - <var-decl name='mutex_unlock' type-id='type-id-189' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='159' column='1'/> + <!-- DBusMutexUnlockFunction DBusThreadFunctions::mutex_unlock --> + <var-decl name='mutex_unlock' type-id='type-id-187' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='159' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> - <!-- DBusCondVarNewFunction condvar_new --> - <var-decl name='condvar_new' type-id='type-id-190' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='161' column='1'/> + <!-- DBusCondVarNewFunction DBusThreadFunctions::condvar_new --> + <var-decl name='condvar_new' type-id='type-id-193' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='161' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='384'> - <!-- DBusCondVarFreeFunction condvar_free --> - <var-decl name='condvar_free' type-id='type-id-191' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='162' column='1'/> + <!-- DBusCondVarFreeFunction DBusThreadFunctions::condvar_free --> + <var-decl name='condvar_free' type-id='type-id-195' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='162' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='448'> - <!-- DBusCondVarWaitFunction condvar_wait --> - <var-decl name='condvar_wait' type-id='type-id-192' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='163' column='1'/> + <!-- DBusCondVarWaitFunction DBusThreadFunctions::condvar_wait --> + <var-decl name='condvar_wait' type-id='type-id-197' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='163' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='512'> - <!-- DBusCondVarWaitTimeoutFunction condvar_wait_timeout --> - <var-decl name='condvar_wait_timeout' type-id='type-id-193' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='164' column='1'/> + <!-- DBusCondVarWaitTimeoutFunction DBusThreadFunctions::condvar_wait_timeout --> + <var-decl name='condvar_wait_timeout' type-id='type-id-199' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='164' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='576'> - <!-- DBusCondVarWakeOneFunction condvar_wake_one --> - <var-decl name='condvar_wake_one' type-id='type-id-194' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='165' column='1'/> + <!-- DBusCondVarWakeOneFunction DBusThreadFunctions::condvar_wake_one --> + <var-decl name='condvar_wake_one' type-id='type-id-200' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='165' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='640'> - <!-- DBusCondVarWakeAllFunction condvar_wake_all --> - <var-decl name='condvar_wake_all' type-id='type-id-195' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='166' column='1'/> + <!-- DBusCondVarWakeAllFunction DBusThreadFunctions::condvar_wake_all --> + <var-decl name='condvar_wake_all' type-id='type-id-201' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='166' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='704'> - <!-- DBusRecursiveMutexNewFunction recursive_mutex_new --> - <var-decl name='recursive_mutex_new' type-id='type-id-196' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='168' column='1'/> + <!-- DBusRecursiveMutexNewFunction DBusThreadFunctions::recursive_mutex_new --> + <var-decl name='recursive_mutex_new' type-id='type-id-188' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='168' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='768'> - <!-- DBusRecursiveMutexFreeFunction recursive_mutex_free --> - <var-decl name='recursive_mutex_free' type-id='type-id-197' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='169' column='1'/> + <!-- DBusRecursiveMutexFreeFunction DBusThreadFunctions::recursive_mutex_free --> + <var-decl name='recursive_mutex_free' type-id='type-id-189' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='169' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='832'> - <!-- DBusRecursiveMutexLockFunction recursive_mutex_lock --> - <var-decl name='recursive_mutex_lock' type-id='type-id-198' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='170' column='1'/> + <!-- DBusRecursiveMutexLockFunction DBusThreadFunctions::recursive_mutex_lock --> + <var-decl name='recursive_mutex_lock' type-id='type-id-190' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='170' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='896'> - <!-- DBusRecursiveMutexUnlockFunction recursive_mutex_unlock --> - <var-decl name='recursive_mutex_unlock' type-id='type-id-199' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='171' column='1'/> + <!-- DBusRecursiveMutexUnlockFunction DBusThreadFunctions::recursive_mutex_unlock --> + <var-decl name='recursive_mutex_unlock' type-id='type-id-191' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='171' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='960'> - <!-- void ()* padding1 --> - <var-decl name='padding1' type-id='type-id-200' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='173' column='1'/> + <!-- void ()* DBusThreadFunctions::padding1 --> + <var-decl name='padding1' type-id='type-id-204' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='173' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1024'> - <!-- void ()* padding2 --> - <var-decl name='padding2' type-id='type-id-200' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='174' column='1'/> + <!-- void ()* DBusThreadFunctions::padding2 --> + <var-decl name='padding2' type-id='type-id-204' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='174' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1088'> - <!-- void ()* padding3 --> - <var-decl name='padding3' type-id='type-id-200' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='175' column='1'/> + <!-- void ()* DBusThreadFunctions::padding3 --> + <var-decl name='padding3' type-id='type-id-204' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='175' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1152'> - <!-- void ()* padding4 --> - <var-decl name='padding4' type-id='type-id-200' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='176' column='1'/> + <!-- void ()* DBusThreadFunctions::padding4 --> + <var-decl name='padding4' type-id='type-id-204' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='176' column='1'/> </data-member> </class-decl> - <!-- typedef DBusMutex* ()* DBusMutexNewFunction --> - <typedef-decl name='DBusMutexNewFunction' type-id='type-id-201' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='46' column='1' id='type-id-186'/> - <!-- typedef DBusMutex DBusMutex --> - <typedef-decl name='DBusMutex' type-id='type-id-183' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='41' column='1' id='type-id-202'/> - <!-- typedef void (DBusMutex*)* DBusMutexFreeFunction --> - <typedef-decl name='DBusMutexFreeFunction' type-id='type-id-203' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='48' column='1' id='type-id-187'/> - <!-- typedef typedef dbus_bool_t (DBusMutex*)* DBusMutexLockFunction --> - <typedef-decl name='DBusMutexLockFunction' type-id='type-id-204' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='50' column='1' id='type-id-188'/> - <!-- typedef typedef dbus_bool_t (DBusMutex*)* DBusMutexUnlockFunction --> - <typedef-decl name='DBusMutexUnlockFunction' type-id='type-id-204' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='52' column='1' id='type-id-189'/> - <!-- typedef DBusCondVar* ()* DBusCondVarNewFunction --> - <typedef-decl name='DBusCondVarNewFunction' type-id='type-id-205' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='77' column='1' id='type-id-190'/> - <!-- typedef void (DBusCondVar*)* DBusCondVarFreeFunction --> - <typedef-decl name='DBusCondVarFreeFunction' type-id='type-id-206' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='80' column='1' id='type-id-191'/> - <!-- typedef void (DBusCondVar*, DBusMutex*)* DBusCondVarWaitFunction --> - <typedef-decl name='DBusCondVarWaitFunction' type-id='type-id-207' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='92' column='1' id='type-id-192'/> - <!-- typedef typedef dbus_bool_t (DBusCondVar*, DBusMutex*, int)* DBusCondVarWaitTimeoutFunction --> - <typedef-decl name='DBusCondVarWaitTimeoutFunction' type-id='type-id-208' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='101' column='1' id='type-id-193'/> - <!-- typedef void (DBusCondVar*)* DBusCondVarWakeOneFunction --> - <typedef-decl name='DBusCondVarWakeOneFunction' type-id='type-id-206' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='108' column='1' id='type-id-194'/> - <!-- typedef void (DBusCondVar*)* DBusCondVarWakeAllFunction --> - <typedef-decl name='DBusCondVarWakeAllFunction' type-id='type-id-206' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='114' column='1' id='type-id-195'/> - <!-- typedef DBusMutex* ()* DBusRecursiveMutexNewFunction --> - <typedef-decl name='DBusRecursiveMutexNewFunction' type-id='type-id-201' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='61' column='1' id='type-id-196'/> - <!-- typedef void (DBusMutex*)* DBusRecursiveMutexFreeFunction --> - <typedef-decl name='DBusRecursiveMutexFreeFunction' type-id='type-id-203' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='64' column='1' id='type-id-197'/> - <!-- typedef void (DBusMutex*)* DBusRecursiveMutexLockFunction --> - <typedef-decl name='DBusRecursiveMutexLockFunction' type-id='type-id-203' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='68' column='1' id='type-id-198'/> - <!-- typedef void (DBusMutex*)* DBusRecursiveMutexUnlockFunction --> - <typedef-decl name='DBusRecursiveMutexUnlockFunction' type-id='type-id-203' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='72' column='1' id='type-id-199'/> + <!-- typedef DBusThreadFunctions DBusThreadFunctions --> + <typedef-decl name='DBusThreadFunctions' type-id='type-id-203' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.h' line='178' column='1' id='type-id-202'/> <!-- DBusCondVar* ()* --> - <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-205'/> + <pointer-type-def type-id='type-id-205' size-in-bits='64' id='type-id-192'/> <!-- DBusMutex* --> - <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-210'/> + <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-206'/> <!-- DBusMutex* ()* --> - <pointer-type-def type-id='type-id-211' size-in-bits='64' id='type-id-201'/> + <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-181'/> <!-- const DBusThreadFunctions --> - <qualified-type-def type-id='type-id-185' const='yes' id='type-id-212'/> + <qualified-type-def type-id='type-id-202' const='yes' id='type-id-208'/> <!-- const DBusThreadFunctions* --> - <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-213'/> + <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-209'/> <!-- typedef dbus_bool_t (DBusCondVar*, DBusMutex*, int)* --> - <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-208'/> + <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-198'/> <!-- typedef dbus_bool_t (DBusMutex*)* --> - <pointer-type-def type-id='type-id-215' size-in-bits='64' id='type-id-204'/> + <pointer-type-def type-id='type-id-211' size-in-bits='64' id='type-id-185'/> <!-- void ()* --> - <pointer-type-def type-id='type-id-216' size-in-bits='64' id='type-id-200'/> + <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-204'/> <!-- void (DBusCondVar*)* --> - <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-206'/> + <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-194'/> <!-- void (DBusCondVar*, DBusMutex*)* --> - <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-207'/> + <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-196'/> <!-- void (DBusMutex*)* --> - <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-203'/> + <pointer-type-def type-id='type-id-215' size-in-bits='64' id='type-id-183'/> + <!-- struct DBusMutex --> + <class-decl name='DBusMutex' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-179'/> <!-- dbus_bool_t dbus_threads_init(const DBusThreadFunctions*) --> <function-decl name='dbus_threads_init' mangled-name='dbus_threads_init' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.c' line='391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_threads_init'> <!-- parameter of type 'const DBusThreadFunctions*' --> - <parameter type-id='type-id-213' name='functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.c' line='391' column='1'/> + <parameter type-id='type-id-209' name='functions' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.c' line='391' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> <!-- dbus_bool_t dbus_threads_init_default() --> <function-decl name='dbus_threads_init_default' mangled-name='dbus_threads_init_default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-threads.c' line='438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_threads_init_default'> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> <!-- DBusCondVar* () --> - <function-type size-in-bits='64' id='type-id-209'> + <function-type size-in-bits='64' id='type-id-205'> <!-- DBusCondVar* --> - <return type-id='type-id-29'/> + <return type-id='type-id-36'/> </function-type> <!-- DBusMutex* () --> - <function-type size-in-bits='64' id='type-id-211'> + <function-type size-in-bits='64' id='type-id-207'> <!-- DBusMutex* --> - <return type-id='type-id-210'/> + <return type-id='type-id-206'/> </function-type> <!-- dbus_bool_t (DBusCondVar*, DBusMutex*, int) --> - <function-type size-in-bits='64' id='type-id-214'> + <function-type size-in-bits='64' id='type-id-210'> <!-- parameter of type 'DBusCondVar*' --> - <parameter type-id='type-id-29'/> + <parameter type-id='type-id-36'/> <!-- parameter of type 'DBusMutex*' --> - <parameter type-id='type-id-210'/> + <parameter type-id='type-id-206'/> <!-- parameter of type 'int' --> <parameter type-id='type-id-2'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-type> <!-- dbus_bool_t (DBusMutex*) --> - <function-type size-in-bits='64' id='type-id-215'> + <function-type size-in-bits='64' id='type-id-211'> <!-- parameter of type 'DBusMutex*' --> - <parameter type-id='type-id-210'/> + <parameter type-id='type-id-206'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-type> <!-- void () --> - <function-type size-in-bits='64' id='type-id-216'> + <function-type size-in-bits='64' id='type-id-212'> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> <!-- void (DBusCondVar*) --> - <function-type size-in-bits='64' id='type-id-217'> + <function-type size-in-bits='64' id='type-id-213'> <!-- parameter of type 'DBusCondVar*' --> - <parameter type-id='type-id-29'/> + <parameter type-id='type-id-36'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> <!-- void (DBusCondVar*, DBusMutex*) --> - <function-type size-in-bits='64' id='type-id-218'> + <function-type size-in-bits='64' id='type-id-214'> <!-- parameter of type 'DBusCondVar*' --> - <parameter type-id='type-id-29'/> + <parameter type-id='type-id-36'/> <!-- parameter of type 'DBusMutex*' --> - <parameter type-id='type-id-210'/> + <parameter type-id='type-id-206'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> <!-- void (DBusMutex*) --> - <function-type size-in-bits='64' id='type-id-219'> + <function-type size-in-bits='64' id='type-id-215'> <!-- parameter of type 'DBusMutex*' --> - <parameter type-id='type-id-210'/> + <parameter type-id='type-id-206'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-type> </abi-instr> <abi-instr address-size='64' path='dbus-timeout.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> + <!-- struct DBusTimeout --> + <class-decl name='DBusTimeout' size-in-bits='448' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='41' column='1' id='type-id-77'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- int DBusTimeout::refcount --> + <var-decl name='refcount' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='42' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- int DBusTimeout::interval --> + <var-decl name='interval' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='43' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- DBusTimeoutHandler DBusTimeout::handler --> + <var-decl name='handler' type-id='type-id-140' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='45' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- void* DBusTimeout::handler_data --> + <var-decl name='handler_data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='46' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- DBusFreeFunction DBusTimeout::free_handler_data_function --> + <var-decl name='free_handler_data_function' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='47' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- void* DBusTimeout::data --> + <var-decl name='data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='49' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- DBusFreeFunction DBusTimeout::free_data_function --> + <var-decl name='free_data_function' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='50' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- unsigned int DBusTimeout::enabled --> + <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='51' column='1'/> + </data-member> + </class-decl> <!-- typedef typedef dbus_bool_t (void*)* DBusTimeoutHandler --> - <typedef-decl name='DBusTimeoutHandler' type-id='type-id-143' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.h' line='41' column='1' id='type-id-92'/> + <typedef-decl name='DBusTimeoutHandler' type-id='type-id-216' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.h' line='41' column='1' id='type-id-140'/> <!-- typedef dbus_bool_t (void*)* --> - <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-143'/> + <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-216'/> <!-- int dbus_timeout_get_interval(DBusTimeout*) --> <function-decl name='dbus_timeout_get_interval' mangled-name='dbus_timeout_get_interval' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_timeout_get_interval'> <!-- parameter of type 'DBusTimeout*' --> - <parameter type-id='type-id-90' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='416' column='1'/> + <parameter type-id='type-id-120' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='416' column='1'/> <!-- int --> <return type-id='type-id-2'/> </function-decl> <!-- void* dbus_timeout_get_data(DBusTimeout*) --> <function-decl name='dbus_timeout_get_data' mangled-name='dbus_timeout_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='429' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_timeout_get_data'> <!-- parameter of type 'DBusTimeout*' --> - <parameter type-id='type-id-90' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='429' column='1'/> + <parameter type-id='type-id-120' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='429' column='1'/> <!-- void* --> - <return type-id='type-id-10'/> + <return type-id='type-id-8'/> </function-decl> <!-- void dbus_timeout_set_data(DBusTimeout*, void*, DBusFreeFunction) --> <function-decl name='dbus_timeout_set_data' mangled-name='dbus_timeout_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='446' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_timeout_set_data'> <!-- parameter of type 'DBusTimeout*' --> - <parameter type-id='type-id-90' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='446' column='1'/> + <parameter type-id='type-id-120' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='446' column='1'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='447' column='1'/> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='447' column='1'/> <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='448' column='1'/> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='448' column='1'/> <!-- void --> - <return type-id='type-id-4'/> + <return type-id='type-id-24'/> </function-decl> <!-- dbus_bool_t dbus_timeout_handle(DBusTimeout*) --> <function-decl name='dbus_timeout_handle' mangled-name='dbus_timeout_handle' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_timeout_handle'> <!-- parameter of type 'DBusTimeout*' --> - <parameter type-id='type-id-90' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='472' column='1'/> + <parameter type-id='type-id-120' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='472' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> <!-- dbus_bool_t dbus_timeout_get_enabled(DBusTimeout*) --> <function-decl name='dbus_timeout_get_enabled' mangled-name='dbus_timeout_get_enabled' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='486' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_timeout_get_enabled'> <!-- parameter of type 'DBusTimeout*' --> - <parameter type-id='type-id-90' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='486' column='1'/> + <parameter type-id='type-id-120' name='timeout' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='486' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-decl> <!-- dbus_bool_t (void*) --> - <function-type size-in-bits='64' id='type-id-146'> + <function-type size-in-bits='64' id='type-id-217'> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-type> </abi-instr> <abi-instr address-size='64' path='dbus-uuidgen.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> - <!-- dbus_bool_t dbus_internal_do_not_use_create_uuid(char**) --> - <function-decl name='dbus_internal_do_not_use_create_uuid' mangled-name='dbus_internal_do_not_use_create_uuid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_internal_do_not_use_create_uuid'> - <!-- parameter of type 'char**' --> - <parameter type-id='type-id-127' name='uuid_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='122' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> <!-- dbus_bool_t dbus_internal_do_not_use_get_uuid(const char*, char**, dbus_bool_t, DBusError*) --> <function-decl name='dbus_internal_do_not_use_get_uuid' mangled-name='dbus_internal_do_not_use_get_uuid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_internal_do_not_use_get_uuid'> <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-15' name='filename' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='83' column='1'/> + <parameter type-id='type-id-7' name='filename' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='83' column='1'/> <!-- parameter of type 'char**' --> - <parameter type-id='type-id-127' name='uuid_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='84' column='1'/> + <parameter type-id='type-id-122' name='uuid_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='84' column='1'/> <!-- parameter of type 'typedef dbus_bool_t' --> - <parameter type-id='type-id-17' name='create_if_not_found' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='85' column='1'/> + <parameter type-id='type-id-13' name='create_if_not_found' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='85' column='1'/> <!-- parameter of type 'DBusError*' --> - <parameter type-id='type-id-21' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='86' column='1'/> + <parameter type-id='type-id-20' name='error' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='86' column='1'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_internal_do_not_use_create_uuid(char**) --> + <function-decl name='dbus_internal_do_not_use_create_uuid' mangled-name='dbus_internal_do_not_use_create_uuid' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_internal_do_not_use_create_uuid'> + <!-- parameter of type 'char**' --> + <parameter type-id='type-id-122' name='uuid_p' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-uuidgen.c' line='122' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='dbus-watch.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus' language='LANG_C89'> + <!-- struct DBusWatch --> + <class-decl name='DBusWatch' size-in-bits='512' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='41' column='1' id='type-id-75'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- int DBusWatch::refcount --> + <var-decl name='refcount' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='42' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- int DBusWatch::fd --> + <var-decl name='fd' type-id='type-id-2' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='43' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- unsigned int DBusWatch::flags --> + <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='44' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- DBusWatchHandler DBusWatch::handler --> + <var-decl name='handler' type-id='type-id-141' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='46' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- void* DBusWatch::handler_data --> + <var-decl name='handler_data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='47' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- DBusFreeFunction DBusWatch::free_handler_data_function --> + <var-decl name='free_handler_data_function' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='48' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- void* DBusWatch::data --> + <var-decl name='data' type-id='type-id-8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='50' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- DBusFreeFunction DBusWatch::free_data_function --> + <var-decl name='free_data_function' type-id='type-id-45' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='51' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <!-- unsigned int DBusWatch::enabled --> + <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='52' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='449'> + <!-- unsigned int DBusWatch::oom_last_time --> + <var-decl name='oom_last_time' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='53' column='1'/> + </data-member> + </class-decl> <!-- typedef typedef dbus_bool_t (DBusWatch*, unsigned int, void*)* DBusWatchHandler --> - <typedef-decl name='DBusWatchHandler' type-id='type-id-144' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.h' line='43' column='1' id='type-id-94'/> + <typedef-decl name='DBusWatchHandler' type-id='type-id-218' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.h' line='43' column='1' id='type-id-141'/> <!-- typedef dbus_bool_t (DBusWatch*, unsigned int, void*)* --> - <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-144'/> - <!-- dbus_bool_t dbus_watch_handle(DBusWatch*, unsigned int) --> - <function-decl name='dbus_watch_handle' mangled-name='dbus_watch_handle' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='698' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_handle'> + <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-218'/> + <!-- int dbus_watch_get_fd(DBusWatch*) --> + <function-decl name='dbus_watch_get_fd' mangled-name='dbus_watch_get_fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='536' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_fd'> <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='698' column='1'/> - <!-- parameter of type 'unsigned int' --> - <parameter type-id='type-id-3' name='flags' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='699' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- dbus_bool_t dbus_watch_get_enabled(DBusWatch*) --> - <function-decl name='dbus_watch_get_enabled' mangled-name='dbus_watch_get_enabled' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_enabled'> - <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='667' column='1'/> - <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> - </function-decl> - <!-- void dbus_watch_set_data(DBusWatch*, void*, DBusFreeFunction) --> - <function-decl name='dbus_watch_set_data' mangled-name='dbus_watch_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='642' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_set_data'> - <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='642' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='643' column='1'/> - <!-- parameter of type 'typedef DBusFreeFunction' --> - <parameter type-id='type-id-38' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='644' column='1'/> - <!-- void --> - <return type-id='type-id-4'/> - </function-decl> - <!-- void* dbus_watch_get_data(DBusWatch*) --> - <function-decl name='dbus_watch_get_data' mangled-name='dbus_watch_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='623' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_data'> - <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='623' column='1'/> - <!-- void* --> - <return type-id='type-id-10'/> - </function-decl> - <!-- unsigned int dbus_watch_get_flags(DBusWatch*) --> - <function-decl name='dbus_watch_get_flags' mangled-name='dbus_watch_get_flags' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_flags'> - <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='607' column='1'/> - <!-- unsigned int --> - <return type-id='type-id-3'/> - </function-decl> - <!-- int dbus_watch_get_socket(DBusWatch*) --> - <function-decl name='dbus_watch_get_socket' mangled-name='dbus_watch_get_socket' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_socket'> - <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='586' column='1'/> + <parameter type-id='type-id-121' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='536' column='1'/> <!-- int --> <return type-id='type-id-2'/> </function-decl> <!-- int dbus_watch_get_unix_fd(DBusWatch*) --> <function-decl name='dbus_watch_get_unix_fd' mangled-name='dbus_watch_get_unix_fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_unix_fd'> <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='557' column='1'/> + <parameter type-id='type-id-121' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='557' column='1'/> <!-- int --> <return type-id='type-id-2'/> </function-decl> - <!-- int dbus_watch_get_fd(DBusWatch*) --> - <function-decl name='dbus_watch_get_fd' mangled-name='dbus_watch_get_fd' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='536' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_fd'> + <!-- int dbus_watch_get_socket(DBusWatch*) --> + <function-decl name='dbus_watch_get_socket' mangled-name='dbus_watch_get_socket' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_socket'> <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='536' column='1'/> + <parameter type-id='type-id-121' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='586' column='1'/> <!-- int --> <return type-id='type-id-2'/> </function-decl> + <!-- unsigned int dbus_watch_get_flags(DBusWatch*) --> + <function-decl name='dbus_watch_get_flags' mangled-name='dbus_watch_get_flags' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_flags'> + <!-- parameter of type 'DBusWatch*' --> + <parameter type-id='type-id-121' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='607' column='1'/> + <!-- unsigned int --> + <return type-id='type-id-3'/> + </function-decl> + <!-- void* dbus_watch_get_data(DBusWatch*) --> + <function-decl name='dbus_watch_get_data' mangled-name='dbus_watch_get_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='623' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_data'> + <!-- parameter of type 'DBusWatch*' --> + <parameter type-id='type-id-121' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='623' column='1'/> + <!-- void* --> + <return type-id='type-id-8'/> + </function-decl> + <!-- void dbus_watch_set_data(DBusWatch*, void*, DBusFreeFunction) --> + <function-decl name='dbus_watch_set_data' mangled-name='dbus_watch_set_data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='642' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_set_data'> + <!-- parameter of type 'DBusWatch*' --> + <parameter type-id='type-id-121' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='642' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-8' name='data' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='643' column='1'/> + <!-- parameter of type 'typedef DBusFreeFunction' --> + <parameter type-id='type-id-45' name='free_data_function' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='644' column='1'/> + <!-- void --> + <return type-id='type-id-24'/> + </function-decl> + <!-- dbus_bool_t dbus_watch_get_enabled(DBusWatch*) --> + <function-decl name='dbus_watch_get_enabled' mangled-name='dbus_watch_get_enabled' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_get_enabled'> + <!-- parameter of type 'DBusWatch*' --> + <parameter type-id='type-id-121' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='667' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> + <!-- dbus_bool_t dbus_watch_handle(DBusWatch*, unsigned int) --> + <function-decl name='dbus_watch_handle' mangled-name='dbus_watch_handle' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='698' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dbus_watch_handle'> + <!-- parameter of type 'DBusWatch*' --> + <parameter type-id='type-id-121' name='watch' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='698' column='1'/> + <!-- parameter of type 'unsigned int' --> + <parameter type-id='type-id-3' name='flags' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='699' column='1'/> + <!-- typedef dbus_bool_t --> + <return type-id='type-id-13'/> + </function-decl> <!-- dbus_bool_t (DBusWatch*, unsigned int, void*) --> - <function-type size-in-bits='64' id='type-id-145'> + <function-type size-in-bits='64' id='type-id-219'> <!-- parameter of type 'DBusWatch*' --> - <parameter type-id='type-id-126'/> + <parameter type-id='type-id-121'/> <!-- parameter of type 'unsigned int' --> <parameter type-id='type-id-3'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-10'/> + <parameter type-id='type-id-8'/> <!-- typedef dbus_bool_t --> - <return type-id='type-id-17'/> + <return type-id='type-id-13'/> </function-type> </abi-instr> </abi-corpus>
diff --git a/tests/data/test-annotate/test14-pr18893.so.abi b/tests/data/test-annotate/test14-pr18893.so.abi index d795ee8..2bcb3c5 100644 --- a/tests/data/test-annotate/test14-pr18893.so.abi +++ b/tests/data/test-annotate/test14-pr18893.so.abi
@@ -1,4 +1,4 @@ -<abi-corpus version='2.0' architecture='elf-amd-x86_64' soname='libGLU.so.1'> +<abi-corpus version='2.1' architecture='elf-amd-x86_64' soname='libGLU.so.1'> <elf-needed> <dependency name='libGL.so.1'/> <dependency name='libstdc++.so.6'/> @@ -137,560 +137,15 @@ <!-- <anonymous range>[40] --> <subrange length='40' type-id='type-id-3' id='type-id-6'/> </array-type-def> - <!-- class CachingEvaluator --> - <class-decl name='CachingEvaluator' size-in-bits='64' visibility='default' filepath='libnurbs/internals/cachingeval.h' line='39' column='1' id='type-id-7'> - <member-type access='private'> - <!-- enum CachingEvaluator::ServiceMode --> - <enum-decl name='ServiceMode' filepath='libnurbs/internals/cachingeval.h' line='42' column='1' id='type-id-8'> - <underlying-type type-id='type-id-9'/> - <enumerator name='play' value='0'/> - <enumerator name='record' value='1'/> - <enumerator name='playAndRecord' value='2'/> - </enum-decl> - </member-type> - <member-function access='private' destructor='yes' vtable-offset='-1'> - <!-- CachingEvaluator::~CachingEvaluator(int) --> - <function-decl name='~CachingEvaluator' filepath='libnurbs/internals/cachingeval.h' line='41' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CachingEvaluator*' --> - <parameter type-id='type-id-10' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='2'> - <!-- int CachingEvaluator::canRecord() --> - <function-decl name='canRecord' mangled-name='_ZN16CachingEvaluator9canRecordEv' filepath='libnurbs/internals/cachingeval.cc' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CachingEvaluator*' --> - <parameter type-id='type-id-10' is-artificial='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='3'> - <!-- int CachingEvaluator::canPlayAndRecord() --> - <function-decl name='canPlayAndRecord' mangled-name='_ZN16CachingEvaluator16canPlayAndRecordEv' filepath='libnurbs/internals/cachingeval.cc' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CachingEvaluator*' --> - <parameter type-id='type-id-10' is-artificial='yes'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='4'> - <!-- int CachingEvaluator::createHandle(int) --> - <function-decl name='createHandle' mangled-name='_ZN16CachingEvaluator12createHandleEi' filepath='libnurbs/internals/cachingeval.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CachingEvaluator*' --> - <parameter type-id='type-id-10' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='5'> - <!-- void CachingEvaluator::beginOutput(CachingEvaluator::ServiceMode, int) --> - <function-decl name='beginOutput' mangled-name='_ZN16CachingEvaluator11beginOutputENS_11ServiceModeEi' filepath='libnurbs/internals/cachingeval.cc' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CachingEvaluator*' --> - <parameter type-id='type-id-10' is-artificial='yes'/> - <!-- parameter of type 'enum CachingEvaluator::ServiceMode' --> - <parameter type-id='type-id-8'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='6'> - <!-- void CachingEvaluator::endOutput() --> - <function-decl name='endOutput' mangled-name='_ZN16CachingEvaluator9endOutputEv' filepath='libnurbs/internals/cachingeval.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CachingEvaluator*' --> - <parameter type-id='type-id-10' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='7'> - <!-- void CachingEvaluator::discardRecording(int) --> - <function-decl name='discardRecording' mangled-name='_ZN16CachingEvaluator16discardRecordingEi' filepath='libnurbs/internals/cachingeval.cc' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CachingEvaluator*' --> - <parameter type-id='type-id-10' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='8'> - <!-- void CachingEvaluator::playRecording(int) --> - <function-decl name='playRecording' mangled-name='_ZN16CachingEvaluator13playRecordingEi' filepath='libnurbs/internals/cachingeval.cc' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CachingEvaluator*' --> - <parameter type-id='type-id-10' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct BasicCurveEvaluator --> - <class-decl name='BasicCurveEvaluator' size-in-bits='64' is-struct='yes' visibility='default' filepath='libnurbs/internals/basiccrveval.h' line='43' column='1' id='type-id-13'> - <!-- class CachingEvaluator --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-7'/> - <member-function access='public' destructor='yes' vtable-offset='-1'> - <!-- BasicCurveEvaluator::~BasicCurveEvaluator(int) --> - <function-decl name='~BasicCurveEvaluator' filepath='libnurbs/internals/basiccrveval.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='9'> - <!-- void BasicCurveEvaluator::domain1f(REAL, REAL) --> - <function-decl name='domain1f' mangled-name='_ZN19BasicCurveEvaluator8domain1fEff' filepath='libnurbs/internals/basiccrveval.cc' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='10'> - <!-- void BasicCurveEvaluator::range1f(long int, REAL*, REAL*) --> - <function-decl name='range1f' mangled-name='_ZN19BasicCurveEvaluator7range1fElPfS0_' filepath='libnurbs/internals/basiccrveval.cc' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='11'> - <!-- void BasicCurveEvaluator::enable(long int) --> - <function-decl name='enable' mangled-name='_ZN19BasicCurveEvaluator6enableEl' filepath='libnurbs/internals/basiccrveval.cc' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='12'> - <!-- void BasicCurveEvaluator::disable(long int) --> - <function-decl name='disable' mangled-name='_ZN19BasicCurveEvaluator7disableEl' filepath='libnurbs/internals/basiccrveval.cc' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='13'> - <!-- void BasicCurveEvaluator::bgnmap1f(long int) --> - <function-decl name='bgnmap1f' mangled-name='_ZN19BasicCurveEvaluator8bgnmap1fEl' filepath='libnurbs/internals/basiccrveval.cc' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='14'> - <!-- void BasicCurveEvaluator::map1f(long int, REAL, REAL, long int, long int, REAL*) --> - <function-decl name='map1f' mangled-name='_ZN19BasicCurveEvaluator5map1fElffllPf' filepath='libnurbs/internals/basiccrveval.cc' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='15'> - <!-- void BasicCurveEvaluator::mapgrid1f(long int, REAL, REAL) --> - <function-decl name='mapgrid1f' mangled-name='_ZN19BasicCurveEvaluator9mapgrid1fElff' filepath='libnurbs/internals/basiccrveval.cc' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='16'> - <!-- void BasicCurveEvaluator::mapmesh1f(long int, long int, long int) --> - <function-decl name='mapmesh1f' mangled-name='_ZN19BasicCurveEvaluator9mapmesh1fElll' filepath='libnurbs/internals/basiccrveval.cc' line='101' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='17'> - <!-- void BasicCurveEvaluator::evalcoord1f(long int, REAL) --> - <function-decl name='evalcoord1f' mangled-name='_ZN19BasicCurveEvaluator11evalcoord1fElf' filepath='libnurbs/internals/basiccrveval.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='18'> - <!-- void BasicCurveEvaluator::endmap1f() --> - <function-decl name='endmap1f' mangled-name='_ZN19BasicCurveEvaluator8endmap1fEv' filepath='libnurbs/internals/basiccrveval.cc' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='19'> - <!-- void BasicCurveEvaluator::bgnline() --> - <function-decl name='bgnline' mangled-name='_ZN19BasicCurveEvaluator7bgnlineEv' filepath='libnurbs/internals/basiccrveval.cc' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='20'> - <!-- void BasicCurveEvaluator::endline() --> - <function-decl name='endline' mangled-name='_ZN19BasicCurveEvaluator7endlineEv' filepath='libnurbs/internals/basiccrveval.cc' line='133' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicCurveEvaluator*' --> - <parameter type-id='type-id-14' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class OpenGLCurveEvaluator --> - <class-decl name='OpenGLCurveEvaluator' size-in-bits='27584' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='66' column='1' id='type-id-17'> - <!-- struct BasicCurveEvaluator --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-13'/> - <data-member access='private' layout-offset-in-bits='64'> - <!-- curveEvalMachine OpenGLCurveEvaluator::em_vertex --> - <var-decl name='em_vertex' type-id='type-id-18' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='102' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='6656'> - <!-- curveEvalMachine OpenGLCurveEvaluator::em_normal --> - <var-decl name='em_normal' type-id='type-id-18' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='103' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='13248'> - <!-- curveEvalMachine OpenGLCurveEvaluator::em_color --> - <var-decl name='em_color' type-id='type-id-18' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='104' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='19840'> - <!-- curveEvalMachine OpenGLCurveEvaluator::em_texcoord --> - <var-decl name='em_texcoord' type-id='type-id-18' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='105' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26432'> - <!-- int OpenGLCurveEvaluator::vertex_flag --> - <var-decl name='vertex_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='106' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26464'> - <!-- int OpenGLCurveEvaluator::normal_flag --> - <var-decl name='normal_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='107' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26496'> - <!-- int OpenGLCurveEvaluator::color_flag --> - <var-decl name='color_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='108' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26528'> - <!-- int OpenGLCurveEvaluator::texcoord_flag --> - <var-decl name='texcoord_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='109' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26560'> - <!-- REAL OpenGLCurveEvaluator::global_grid_u0 --> - <var-decl name='global_grid_u0' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='111' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26592'> - <!-- REAL OpenGLCurveEvaluator::global_grid_u1 --> - <var-decl name='global_grid_u1' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='112' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26624'> - <!-- int OpenGLCurveEvaluator::global_grid_nu --> - <var-decl name='global_grid_nu' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='113' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26688'> - <!-- void (typedef GLenum)* OpenGLCurveEvaluator::beginCallBackN --> - <var-decl name='beginCallBackN' type-id='type-id-19' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='128' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26752'> - <!-- void ()* OpenGLCurveEvaluator::endCallBackN --> - <var-decl name='endCallBackN' type-id='type-id-20' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='129' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26816'> - <!-- void (const GLfloat*)* OpenGLCurveEvaluator::vertexCallBackN --> - <var-decl name='vertexCallBackN' type-id='type-id-21' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='130' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26880'> - <!-- void (const GLfloat*)* OpenGLCurveEvaluator::normalCallBackN --> - <var-decl name='normalCallBackN' type-id='type-id-21' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='131' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26944'> - <!-- void (const GLfloat*)* OpenGLCurveEvaluator::colorCallBackN --> - <var-decl name='colorCallBackN' type-id='type-id-21' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='132' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27008'> - <!-- void (const GLfloat*)* OpenGLCurveEvaluator::texcoordCallBackN --> - <var-decl name='texcoordCallBackN' type-id='type-id-21' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='133' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27072'> - <!-- void (typedef GLenum, void*)* OpenGLCurveEvaluator::beginCallBackData --> - <var-decl name='beginCallBackData' type-id='type-id-22' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='135' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27136'> - <!-- void (void*)* OpenGLCurveEvaluator::endCallBackData --> - <var-decl name='endCallBackData' type-id='type-id-23' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='136' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27200'> - <!-- void (const GLfloat*, void*)* OpenGLCurveEvaluator::vertexCallBackData --> - <var-decl name='vertexCallBackData' type-id='type-id-24' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='137' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27264'> - <!-- void (const GLfloat*, void*)* OpenGLCurveEvaluator::normalCallBackData --> - <var-decl name='normalCallBackData' type-id='type-id-24' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='138' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27328'> - <!-- void (const GLfloat*, void*)* OpenGLCurveEvaluator::colorCallBackData --> - <var-decl name='colorCallBackData' type-id='type-id-24' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='139' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27392'> - <!-- void (const GLfloat*, void*)* OpenGLCurveEvaluator::texcoordCallBackData --> - <var-decl name='texcoordCallBackData' type-id='type-id-24' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='140' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27456'> - <!-- void* OpenGLCurveEvaluator::userData --> - <var-decl name='userData' type-id='type-id-25' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='142' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='27520'> - <!-- int OpenGLCurveEvaluator::output_triangles --> - <var-decl name='output_triangles' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='154' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- OpenGLCurveEvaluator::OpenGLCurveEvaluator() --> - <function-decl name='OpenGLCurveEvaluator' filepath='libnurbs/interface/glcurveval.cc' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes' vtable-offset='-1'> - <!-- OpenGLCurveEvaluator::~OpenGLCurveEvaluator(int) --> - <function-decl name='~OpenGLCurveEvaluator' filepath='libnurbs/interface/glcurveval.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='9'> - <!-- void OpenGLCurveEvaluator::domain1f(REAL, REAL) --> - <function-decl name='domain1f' mangled-name='_ZN20OpenGLCurveEvaluator8domain1fEff' filepath='libnurbs/interface/glcurveval.cc' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='10'> - <!-- void OpenGLCurveEvaluator::range1f(long int, REAL*, REAL*) --> - <function-decl name='range1f' mangled-name='_ZN20OpenGLCurveEvaluator7range1fElPfS0_' filepath='libnurbs/interface/glcurveval.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='11'> - <!-- void OpenGLCurveEvaluator::enable(long int) --> - <function-decl name='enable' mangled-name='_ZN20OpenGLCurveEvaluator6enableEl' filepath='libnurbs/interface/glcurveval.cc' line='137' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='12'> - <!-- void OpenGLCurveEvaluator::disable(long int) --> - <function-decl name='disable' mangled-name='_ZN20OpenGLCurveEvaluator7disableEl' filepath='libnurbs/interface/glcurveval.cc' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='13'> - <!-- void OpenGLCurveEvaluator::bgnmap1f(long int) --> - <function-decl name='bgnmap1f' mangled-name='_ZN20OpenGLCurveEvaluator8bgnmap1fEl' filepath='libnurbs/interface/glcurveval.cc' line='164' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='14'> - <!-- void OpenGLCurveEvaluator::map1f(long int, REAL, REAL, long int, long int, REAL*) --> - <function-decl name='map1f' mangled-name='_ZN20OpenGLCurveEvaluator5map1fElffllPf' filepath='libnurbs/interface/glcurveval.cc' line='199' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='15'> - <!-- void OpenGLCurveEvaluator::mapgrid1f(long int, REAL, REAL) --> - <function-decl name='mapgrid1f' mangled-name='_ZN20OpenGLCurveEvaluator9mapgrid1fElff' filepath='libnurbs/interface/glcurveval.cc' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='16'> - <!-- void OpenGLCurveEvaluator::mapmesh1f(long int, long int, long int) --> - <function-decl name='mapmesh1f' mangled-name='_ZN20OpenGLCurveEvaluator9mapmesh1fElll' filepath='libnurbs/interface/glcurveval.cc' line='262' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='17'> - <!-- void OpenGLCurveEvaluator::evalcoord1f(long int, REAL) --> - <function-decl name='evalcoord1f' mangled-name='_ZN20OpenGLCurveEvaluator11evalcoord1fElf' filepath='libnurbs/interface/glcurveval.cc' line='296' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='18'> - <!-- void OpenGLCurveEvaluator::endmap1f() --> - <function-decl name='endmap1f' mangled-name='_ZN20OpenGLCurveEvaluator8endmap1fEv' filepath='libnurbs/interface/glcurveval.cc' line='184' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='19'> - <!-- void OpenGLCurveEvaluator::bgnline() --> - <function-decl name='bgnline' mangled-name='_ZN20OpenGLCurveEvaluator7bgnlineEv' filepath='libnurbs/interface/glcurveval.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='20'> - <!-- void OpenGLCurveEvaluator::endline() --> - <function-decl name='endline' mangled-name='_ZN20OpenGLCurveEvaluator7endlineEv' filepath='libnurbs/interface/glcurveval.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> - <parameter type-id='type-id-26' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- typedef curveEvalMachine curveEvalMachine --> - <typedef-decl name='curveEvalMachine' type-id='type-id-27' filepath='libnurbs/interface/glcurveval.h' line='64' column='1' id='type-id-18'/> - <!-- typedef float REAL --> - <typedef-decl name='REAL' type-id='type-id-28' filepath='libnurbs/internals/types.h' line='41' column='1' id='type-id-1'/> <!-- struct curveEvalMachine --> - <class-decl name='curveEvalMachine' size-in-bits='6592' is-struct='yes' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='55' column='1' id='type-id-27'> + <class-decl name='curveEvalMachine' size-in-bits='6592' is-struct='yes' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='55' column='1' id='type-id-7'> <data-member access='public' layout-offset-in-bits='0'> <!-- REAL curveEvalMachine::uprime --> <var-decl name='uprime' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='56' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='32'> <!-- int curveEvalMachine::k --> - <var-decl name='k' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='57' column='1'/> + <var-decl name='k' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='57' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- REAL curveEvalMachine::u1 --> @@ -702,11 +157,11 @@ </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- int curveEvalMachine::ustride --> - <var-decl name='ustride' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='60' column='1'/> + <var-decl name='ustride' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='60' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='160'> <!-- int curveEvalMachine::uorder --> - <var-decl name='uorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='61' column='1'/> + <var-decl name='uorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='61' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- REAL curveEvalMachine::ctlpoints[160] --> @@ -717,228 +172,1322 @@ <var-decl name='ucoeff' type-id='type-id-5' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='63' column='1'/> </data-member> </class-decl> + <!-- typedef curveEvalMachine curveEvalMachine --> + <typedef-decl name='curveEvalMachine' type-id='type-id-7' filepath='libnurbs/interface/glcurveval.h' line='64' column='1' id='type-id-9'/> + <!-- class CachingEvaluator --> + <class-decl name='CachingEvaluator' size-in-bits='64' visibility='default' filepath='libnurbs/internals/cachingeval.h' line='39' column='1' id='type-id-10'> + <member-type access='private'> + <!-- enum CachingEvaluator::ServiceMode --> + <enum-decl name='ServiceMode' filepath='libnurbs/internals/cachingeval.h' line='42' column='1' id='type-id-11'> + <underlying-type type-id='type-id-12'/> + <enumerator name='play' value='0'/> + <enumerator name='record' value='1'/> + <enumerator name='playAndRecord' value='2'/> + </enum-decl> + </member-type> + <member-function access='private' destructor='yes' vtable-offset='-1'> + <!-- CachingEvaluator::~CachingEvaluator(int) --> + <function-decl name='~CachingEvaluator' filepath='libnurbs/internals/cachingeval.h' line='41' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CachingEvaluator*' --> + <parameter type-id='type-id-13' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='2'> + <!-- int CachingEvaluator::canRecord() --> + <function-decl name='canRecord' mangled-name='_ZN16CachingEvaluator9canRecordEv' filepath='libnurbs/internals/cachingeval.cc' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CachingEvaluator*' --> + <parameter type-id='type-id-13' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='3'> + <!-- int CachingEvaluator::canPlayAndRecord() --> + <function-decl name='canPlayAndRecord' mangled-name='_ZN16CachingEvaluator16canPlayAndRecordEv' filepath='libnurbs/internals/cachingeval.cc' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CachingEvaluator*' --> + <parameter type-id='type-id-13' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='4'> + <!-- int CachingEvaluator::createHandle(int) --> + <function-decl name='createHandle' mangled-name='_ZN16CachingEvaluator12createHandleEi' filepath='libnurbs/internals/cachingeval.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CachingEvaluator*' --> + <parameter type-id='type-id-13' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='5'> + <!-- void CachingEvaluator::beginOutput(CachingEvaluator::ServiceMode, int) --> + <function-decl name='beginOutput' mangled-name='_ZN16CachingEvaluator11beginOutputENS_11ServiceModeEi' filepath='libnurbs/internals/cachingeval.cc' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CachingEvaluator*' --> + <parameter type-id='type-id-13' is-artificial='yes'/> + <!-- parameter of type 'enum CachingEvaluator::ServiceMode' --> + <parameter type-id='type-id-11'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='6'> + <!-- void CachingEvaluator::endOutput() --> + <function-decl name='endOutput' mangled-name='_ZN16CachingEvaluator9endOutputEv' filepath='libnurbs/internals/cachingeval.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CachingEvaluator*' --> + <parameter type-id='type-id-13' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='7'> + <!-- void CachingEvaluator::discardRecording(int) --> + <function-decl name='discardRecording' mangled-name='_ZN16CachingEvaluator16discardRecordingEi' filepath='libnurbs/internals/cachingeval.cc' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CachingEvaluator*' --> + <parameter type-id='type-id-13' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='8'> + <!-- void CachingEvaluator::playRecording(int) --> + <function-decl name='playRecording' mangled-name='_ZN16CachingEvaluator13playRecordingEi' filepath='libnurbs/internals/cachingeval.cc' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CachingEvaluator*' --> + <parameter type-id='type-id-13' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- typedef float REAL --> + <typedef-decl name='REAL' type-id='type-id-15' filepath='libnurbs/internals/types.h' line='41' column='1' id='type-id-1'/> <!-- BasicCurveEvaluator* --> - <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-14'/> + <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-17'/> <!-- CachingEvaluator* --> - <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-10'/> + <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-13'/> <!-- CurveMap* --> - <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/> + <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/> <!-- OpenGLCurveEvaluator* --> - <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-26'/> - <!-- OpenGLCurveEvaluator* const --> - <qualified-type-def type-id='type-id-26' const='yes' id='type-id-31'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/> <!-- REAL* --> - <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-16'/> + <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-22'/> <!-- const GLfloat --> - <qualified-type-def type-id='type-id-32' const='yes' id='type-id-33'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-24'/> <!-- const GLfloat* --> - <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-34'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/> <!-- curveEvalMachine* --> - <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-35'/> + <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-26'/> <!-- void (const GLfloat*)* --> - <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-21'/> + <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-28'/> <!-- void (const GLfloat*, void*)* --> - <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-24'/> + <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/> <!-- struct CurveMap --> - <class-decl name='CurveMap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/> - <!-- float --> - <type-decl name='float' size-in-bits='32' id='type-id-28'/> + <class-decl name='CurveMap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/> + <!-- class OpenGLCurveEvaluator --> + <class-decl name='OpenGLCurveEvaluator' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='66' column='1' is-declaration-only='yes' id='type-id-20'> + <!-- struct BasicCurveEvaluator --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-16'/> + <data-member access='private' layout-offset-in-bits='64'> + <!-- curveEvalMachine OpenGLCurveEvaluator::em_vertex --> + <var-decl name='em_vertex' type-id='type-id-9' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='102' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='6656'> + <!-- curveEvalMachine OpenGLCurveEvaluator::em_normal --> + <var-decl name='em_normal' type-id='type-id-9' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='103' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='13248'> + <!-- curveEvalMachine OpenGLCurveEvaluator::em_color --> + <var-decl name='em_color' type-id='type-id-9' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='104' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='19840'> + <!-- curveEvalMachine OpenGLCurveEvaluator::em_texcoord --> + <var-decl name='em_texcoord' type-id='type-id-9' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='105' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26432'> + <!-- int OpenGLCurveEvaluator::vertex_flag --> + <var-decl name='vertex_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='106' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26464'> + <!-- int OpenGLCurveEvaluator::normal_flag --> + <var-decl name='normal_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='107' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26496'> + <!-- int OpenGLCurveEvaluator::color_flag --> + <var-decl name='color_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='108' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26528'> + <!-- int OpenGLCurveEvaluator::texcoord_flag --> + <var-decl name='texcoord_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='109' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26560'> + <!-- REAL OpenGLCurveEvaluator::global_grid_u0 --> + <var-decl name='global_grid_u0' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='111' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26592'> + <!-- REAL OpenGLCurveEvaluator::global_grid_u1 --> + <var-decl name='global_grid_u1' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='112' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26624'> + <!-- int OpenGLCurveEvaluator::global_grid_nu --> + <var-decl name='global_grid_nu' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='113' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26688'> + <!-- void (typedef GLenum)* OpenGLCurveEvaluator::beginCallBackN --> + <var-decl name='beginCallBackN' type-id='type-id-31' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='128' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26752'> + <!-- void ()* OpenGLCurveEvaluator::endCallBackN --> + <var-decl name='endCallBackN' type-id='type-id-32' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='129' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26816'> + <!-- void (const GLfloat*)* OpenGLCurveEvaluator::vertexCallBackN --> + <var-decl name='vertexCallBackN' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='130' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26880'> + <!-- void (const GLfloat*)* OpenGLCurveEvaluator::normalCallBackN --> + <var-decl name='normalCallBackN' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='131' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='26944'> + <!-- void (const GLfloat*)* OpenGLCurveEvaluator::colorCallBackN --> + <var-decl name='colorCallBackN' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='132' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27008'> + <!-- void (const GLfloat*)* OpenGLCurveEvaluator::texcoordCallBackN --> + <var-decl name='texcoordCallBackN' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='133' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27072'> + <!-- void (typedef GLenum, void*)* OpenGLCurveEvaluator::beginCallBackData --> + <var-decl name='beginCallBackData' type-id='type-id-33' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='135' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27136'> + <!-- void (void*)* OpenGLCurveEvaluator::endCallBackData --> + <var-decl name='endCallBackData' type-id='type-id-34' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='136' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27200'> + <!-- void (const GLfloat*, void*)* OpenGLCurveEvaluator::vertexCallBackData --> + <var-decl name='vertexCallBackData' type-id='type-id-30' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='137' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27264'> + <!-- void (const GLfloat*, void*)* OpenGLCurveEvaluator::normalCallBackData --> + <var-decl name='normalCallBackData' type-id='type-id-30' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='138' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27328'> + <!-- void (const GLfloat*, void*)* OpenGLCurveEvaluator::colorCallBackData --> + <var-decl name='colorCallBackData' type-id='type-id-30' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='139' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27392'> + <!-- void (const GLfloat*, void*)* OpenGLCurveEvaluator::texcoordCallBackData --> + <var-decl name='texcoordCallBackData' type-id='type-id-30' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='140' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27456'> + <!-- void* OpenGLCurveEvaluator::userData --> + <var-decl name='userData' type-id='type-id-35' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='142' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='27520'> + <!-- int OpenGLCurveEvaluator::output_triangles --> + <var-decl name='output_triangles' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glcurveval.h' line='154' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- OpenGLCurveEvaluator::OpenGLCurveEvaluator() --> + <function-decl name='OpenGLCurveEvaluator' filepath='libnurbs/interface/glcurveval.cc' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::addMap(CurveMap*) --> + <function-decl name='addMap' mangled-name='_ZN20OpenGLCurveEvaluator6addMapEP8CurveMap' filepath='libnurbs/interface/glcurveval.cc' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'CurveMap*' --> + <parameter type-id='type-id-19'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::putCallBack(GLenum, _GLUfuncptr) --> + <function-decl name='putCallBack' mangled-name='_ZN20OpenGLCurveEvaluator11putCallBackEjPFvvE' filepath='libnurbs/interface/glcurveval.cc' line='305' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36'/> + <!-- parameter of type 'typedef _GLUfuncptr' --> + <parameter type-id='type-id-37'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::beginCallBack(GLenum, void*) --> + <function-decl name='beginCallBack' mangled-name='_ZN20OpenGLCurveEvaluator13beginCallBackEjPv' filepath='libnurbs/interface/glcurveval.cc' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::endCallBack(void*) --> + <function-decl name='endCallBack' mangled-name='_ZN20OpenGLCurveEvaluator11endCallBackEPv' filepath='libnurbs/interface/glcurveval.cc' line='359' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::vertexCallBack(const GLfloat*, void*) --> + <function-decl name='vertexCallBack' mangled-name='_ZN20OpenGLCurveEvaluator14vertexCallBackEPKfPv' filepath='libnurbs/interface/glcurveval.cc' line='368' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::normalCallBack(const GLfloat*, void*) --> + <function-decl name='normalCallBack' mangled-name='_ZN20OpenGLCurveEvaluator14normalCallBackEPKfPv' filepath='libnurbs/interface/glcurveval.cc' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::colorCallBack(const GLfloat*, void*) --> + <function-decl name='colorCallBack' mangled-name='_ZN20OpenGLCurveEvaluator13colorCallBackEPKfPv' filepath='libnurbs/interface/glcurveval.cc' line='387' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::texcoordCallBack(const GLfloat*, void*) --> + <function-decl name='texcoordCallBack' mangled-name='_ZN20OpenGLCurveEvaluator16texcoordCallBackEPKfPv' filepath='libnurbs/interface/glcurveval.cc' line='396' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::evalpoint1i(long int) --> + <function-decl name='evalpoint1i' mangled-name='_ZN20OpenGLCurveEvaluator11evalpoint1iEl' filepath='libnurbs/interface/glcurveval.cc' line='287' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::set_callback_userData(void*) --> + <function-decl name='set_callback_userData' mangled-name='_ZN20OpenGLCurveEvaluator21set_callback_userDataEPv' filepath='libnurbs/interface/glcurveval.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::put_vertices_call_back(int) --> + <function-decl name='put_vertices_call_back' mangled-name='_ZN20OpenGLCurveEvaluator22put_vertices_call_backEi' filepath='libnurbs/interface/glcurveval.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::inPreEvaluate(int, REAL, REAL*) --> + <function-decl name='inPreEvaluate' mangled-name='_ZN20OpenGLCurveEvaluator13inPreEvaluateEifPf' filepath='libnurbs/interface/incurveeval.cc' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::inMap1f(int, int, REAL, REAL, int, int, REAL*) --> + <function-decl name='inMap1f' mangled-name='_ZN20OpenGLCurveEvaluator7inMap1fEiiffiiPf' filepath='libnurbs/interface/incurveeval.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::inDoDomain1(curveEvalMachine*, REAL, REAL*) --> + <function-decl name='inDoDomain1' mangled-name='_ZN20OpenGLCurveEvaluator11inDoDomain1EP16curveEvalMachinefPf' filepath='libnurbs/interface/incurveeval.cc' line='136' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'curveEvalMachine*' --> + <parameter type-id='type-id-26'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::inDoEvalCoord1(REAL) --> + <function-decl name='inDoEvalCoord1' mangled-name='_ZN20OpenGLCurveEvaluator14inDoEvalCoord1Ef' filepath='libnurbs/interface/incurveeval.cc' line='162' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLCurveEvaluator::inMapMesh1f(int, int) --> + <function-decl name='inMapMesh1f' mangled-name='_ZN20OpenGLCurveEvaluator11inMapMesh1fEii' filepath='libnurbs/interface/incurveeval.cc' line='193' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes' vtable-offset='-1'> + <!-- OpenGLCurveEvaluator::~OpenGLCurveEvaluator(int) --> + <function-decl name='~OpenGLCurveEvaluator' filepath='libnurbs/interface/glcurveval.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='9'> + <!-- void OpenGLCurveEvaluator::domain1f(REAL, REAL) --> + <function-decl name='domain1f' mangled-name='_ZN20OpenGLCurveEvaluator8domain1fEff' filepath='libnurbs/interface/glcurveval.cc' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='10'> + <!-- void OpenGLCurveEvaluator::range1f(long int, REAL*, REAL*) --> + <function-decl name='range1f' mangled-name='_ZN20OpenGLCurveEvaluator7range1fElPfS0_' filepath='libnurbs/interface/glcurveval.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='11'> + <!-- void OpenGLCurveEvaluator::enable(long int) --> + <function-decl name='enable' mangled-name='_ZN20OpenGLCurveEvaluator6enableEl' filepath='libnurbs/interface/glcurveval.cc' line='137' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='12'> + <!-- void OpenGLCurveEvaluator::disable(long int) --> + <function-decl name='disable' mangled-name='_ZN20OpenGLCurveEvaluator7disableEl' filepath='libnurbs/interface/glcurveval.cc' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='13'> + <!-- void OpenGLCurveEvaluator::bgnmap1f(long int) --> + <function-decl name='bgnmap1f' mangled-name='_ZN20OpenGLCurveEvaluator8bgnmap1fEl' filepath='libnurbs/interface/glcurveval.cc' line='164' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='14'> + <!-- void OpenGLCurveEvaluator::map1f(long int, REAL, REAL, long int, long int, REAL*) --> + <function-decl name='map1f' mangled-name='_ZN20OpenGLCurveEvaluator5map1fElffllPf' filepath='libnurbs/interface/glcurveval.cc' line='199' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='15'> + <!-- void OpenGLCurveEvaluator::mapgrid1f(long int, REAL, REAL) --> + <function-decl name='mapgrid1f' mangled-name='_ZN20OpenGLCurveEvaluator9mapgrid1fElff' filepath='libnurbs/interface/glcurveval.cc' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='16'> + <!-- void OpenGLCurveEvaluator::mapmesh1f(long int, long int, long int) --> + <function-decl name='mapmesh1f' mangled-name='_ZN20OpenGLCurveEvaluator9mapmesh1fElll' filepath='libnurbs/interface/glcurveval.cc' line='262' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='17'> + <!-- void OpenGLCurveEvaluator::evalcoord1f(long int, REAL) --> + <function-decl name='evalcoord1f' mangled-name='_ZN20OpenGLCurveEvaluator11evalcoord1fElf' filepath='libnurbs/interface/glcurveval.cc' line='296' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='18'> + <!-- void OpenGLCurveEvaluator::endmap1f() --> + <function-decl name='endmap1f' mangled-name='_ZN20OpenGLCurveEvaluator8endmap1fEv' filepath='libnurbs/interface/glcurveval.cc' line='184' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='19'> + <!-- void OpenGLCurveEvaluator::bgnline() --> + <function-decl name='bgnline' mangled-name='_ZN20OpenGLCurveEvaluator7bgnlineEv' filepath='libnurbs/interface/glcurveval.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='20'> + <!-- void OpenGLCurveEvaluator::endline() --> + <function-decl name='endline' mangled-name='_ZN20OpenGLCurveEvaluator7endlineEv' filepath='libnurbs/interface/glcurveval.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLCurveEvaluator*' --> + <parameter type-id='type-id-21' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct BasicCurveEvaluator --> + <class-decl name='BasicCurveEvaluator' is-struct='yes' visibility='default' filepath='libnurbs/internals/basiccrveval.h' line='43' column='1' is-declaration-only='yes' id='type-id-16'> + <!-- class CachingEvaluator --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-10'/> + <member-function access='public' destructor='yes' vtable-offset='-1'> + <!-- BasicCurveEvaluator::~BasicCurveEvaluator(int) --> + <function-decl name='~BasicCurveEvaluator' filepath='libnurbs/internals/basiccrveval.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='9'> + <!-- void BasicCurveEvaluator::domain1f(REAL, REAL) --> + <function-decl name='domain1f' mangled-name='_ZN19BasicCurveEvaluator8domain1fEff' filepath='libnurbs/internals/basiccrveval.cc' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='10'> + <!-- void BasicCurveEvaluator::range1f(long int, REAL*, REAL*) --> + <function-decl name='range1f' mangled-name='_ZN19BasicCurveEvaluator7range1fElPfS0_' filepath='libnurbs/internals/basiccrveval.cc' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='11'> + <!-- void BasicCurveEvaluator::enable(long int) --> + <function-decl name='enable' mangled-name='_ZN19BasicCurveEvaluator6enableEl' filepath='libnurbs/internals/basiccrveval.cc' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='12'> + <!-- void BasicCurveEvaluator::disable(long int) --> + <function-decl name='disable' mangled-name='_ZN19BasicCurveEvaluator7disableEl' filepath='libnurbs/internals/basiccrveval.cc' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='13'> + <!-- void BasicCurveEvaluator::bgnmap1f(long int) --> + <function-decl name='bgnmap1f' mangled-name='_ZN19BasicCurveEvaluator8bgnmap1fEl' filepath='libnurbs/internals/basiccrveval.cc' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='14'> + <!-- void BasicCurveEvaluator::map1f(long int, REAL, REAL, long int, long int, REAL*) --> + <function-decl name='map1f' mangled-name='_ZN19BasicCurveEvaluator5map1fElffllPf' filepath='libnurbs/internals/basiccrveval.cc' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='15'> + <!-- void BasicCurveEvaluator::mapgrid1f(long int, REAL, REAL) --> + <function-decl name='mapgrid1f' mangled-name='_ZN19BasicCurveEvaluator9mapgrid1fElff' filepath='libnurbs/internals/basiccrveval.cc' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='16'> + <!-- void BasicCurveEvaluator::mapmesh1f(long int, long int, long int) --> + <function-decl name='mapmesh1f' mangled-name='_ZN19BasicCurveEvaluator9mapmesh1fElll' filepath='libnurbs/internals/basiccrveval.cc' line='101' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='17'> + <!-- void BasicCurveEvaluator::evalcoord1f(long int, REAL) --> + <function-decl name='evalcoord1f' mangled-name='_ZN19BasicCurveEvaluator11evalcoord1fElf' filepath='libnurbs/internals/basiccrveval.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='18'> + <!-- void BasicCurveEvaluator::endmap1f() --> + <function-decl name='endmap1f' mangled-name='_ZN19BasicCurveEvaluator8endmap1fEv' filepath='libnurbs/internals/basiccrveval.cc' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='19'> + <!-- void BasicCurveEvaluator::bgnline() --> + <function-decl name='bgnline' mangled-name='_ZN19BasicCurveEvaluator7bgnlineEv' filepath='libnurbs/internals/basiccrveval.cc' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='20'> + <!-- void BasicCurveEvaluator::endline() --> + <function-decl name='endline' mangled-name='_ZN19BasicCurveEvaluator7endlineEv' filepath='libnurbs/internals/basiccrveval.cc' line='133' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicCurveEvaluator*' --> + <parameter type-id='type-id-17' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> <!-- void (const GLfloat*) --> - <function-type size-in-bits='64' id='type-id-36'> + <function-type size-in-bits='64' id='type-id-27'> <!-- parameter of type 'const GLfloat*' --> - <parameter type-id='type-id-34'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-type> - <!-- void (const GLfloat*, void*) --> - <function-type size-in-bits='64' id='type-id-37'> - <!-- parameter of type 'const GLfloat*' --> - <parameter type-id='type-id-34'/> - <!-- parameter of type 'void*' --> <parameter type-id='type-id-25'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> - <!-- int --> - <type-decl name='int' size-in-bits='32' id='type-id-11'/> - <!-- long int --> - <type-decl name='long int' size-in-bits='64' id='type-id-15'/> - <!-- typedef float GLfloat --> - <typedef-decl name='GLfloat' type-id='type-id-28' filepath='../../../include/GL/gl.h' line='160' column='1' id='type-id-32'/> - <!-- unsigned long int --> - <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/> - <!-- void --> - <type-decl name='void' id='type-id-12'/> - <!-- void ()* --> - <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-20'/> - <!-- void (typedef GLenum)* --> - <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-19'/> - <!-- void (typedef GLenum, void*)* --> - <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-22'/> - <!-- void (void*)* --> - <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-23'/> - <!-- void* --> - <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-25'/> + <!-- void (const GLfloat*, void*) --> + <function-type size-in-bits='64' id='type-id-29'> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-type> </abi-instr> <abi-instr address-size='64' path='libnurbs/interface/glinterface.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- struct GLUnurbs --> - <class-decl name='GLUnurbs' size-in-bits='1149440' is-struct='yes' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='49' column='1' id='type-id-42'> + <class-decl name='GLUnurbs' size-in-bits='1149440' is-struct='yes' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='49' column='1' id='type-id-39'> <!-- class NurbsTessellator --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-43'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-40'/> <data-member access='public' layout-offset-in-bits='47616'> <!-- errorCallbackType GLUnurbs::errorCallback --> - <var-decl name='errorCallback' type-id='type-id-44' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='71' column='1'/> + <var-decl name='errorCallback' type-id='type-id-41' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='71' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47680'> <!-- GLboolean GLUnurbs::autoloadmode --> - <var-decl name='autoloadmode' type-id='type-id-45' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='130' column='1'/> + <var-decl name='autoloadmode' type-id='type-id-42' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='130' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47744'> <!-- OpenGLSurfaceEvaluator GLUnurbs::surfaceEvaluator --> - <var-decl name='surfaceEvaluator' type-id='type-id-46' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='131' column='1'/> + <var-decl name='surfaceEvaluator' type-id='type-id-43' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='131' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1121792'> <!-- OpenGLCurveEvaluator GLUnurbs::curveEvaluator --> - <var-decl name='curveEvaluator' type-id='type-id-17' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='132' column='1'/> + <var-decl name='curveEvaluator' type-id='type-id-20' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='132' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1149376'> <!-- int GLUnurbs::callbackFlag --> - <var-decl name='callbackFlag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='143' column='1'/> + <var-decl name='callbackFlag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='143' column='1'/> </data-member> + <member-function access='public'> + <!-- void GLUnurbs::setNurbsCallbackData(void*) --> + <function-decl name='setNurbsCallbackData' mangled-name='_ZN8GLUnurbs20setNurbsCallbackDataEPv' filepath='libnurbs/interface/glrenderer.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void GLUnurbs::putSurfCallBack(GLenum, _GLUfuncptr) --> + <function-decl name='putSurfCallBack' mangled-name='_ZN8GLUnurbs15putSurfCallBackEjPFvvE' filepath='libnurbs/interface/glrenderer.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36'/> + <!-- parameter of type 'typedef _GLUfuncptr' --> + <parameter type-id='type-id-37'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void GLUnurbs::postError(int) --> + <function-decl name='postError' mangled-name='_ZN8GLUnurbs9postErrorEi' filepath='libnurbs/interface/glrenderer.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- GLboolean GLUnurbs::getautoloadmode() --> + <function-decl name='getautoloadmode' mangled-name='_ZN8GLUnurbs15getautoloadmodeEv' filepath='libnurbs/interface/glrenderer.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- typedef GLboolean --> + <return type-id='type-id-42'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int GLUnurbs::is_callback() --> + <function-decl name='is_callback' mangled-name='_ZN8GLUnurbs11is_callbackEv' filepath='libnurbs/interface/glrenderer.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void GLUnurbs::setautoloadmode(float) --> + <function-decl name='setautoloadmode' mangled-name='_ZN8GLUnurbs15setautoloadmodeEf' filepath='libnurbs/interface/glrenderer.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'float' --> + <parameter type-id='type-id-15'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void GLUnurbs::put_callbackFlag(int) --> + <function-decl name='put_callbackFlag' mangled-name='_ZN8GLUnurbs16put_callbackFlagEi' filepath='libnurbs/interface/glrenderer.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void GLUnurbs::LOD_eval_list(int) --> + <function-decl name='LOD_eval_list' mangled-name='_ZN8GLUnurbs13LOD_eval_listEi' filepath='libnurbs/interface/glrenderer.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> <member-function access='public' constructor='yes'> <!-- GLUnurbs::GLUnurbs() --> <function-decl name='GLUnurbs' filepath='libnurbs/interface/glrenderer.cc' line='42' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' is-artificial='yes'/> + <parameter type-id='type-id-44' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- void GLUnurbs::transform4d(GLfloat*, GLfloat[4]*) --> + <function-decl name='transform4d' mangled-name='_ZN8GLUnurbs11transform4dEPfS0_PA4_f' filepath='libnurbs/interface/glrenderer.cc' line='280' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'GLfloat*' --> + <parameter type-id='type-id-45'/> + <!-- parameter of type 'GLfloat*' --> + <parameter type-id='type-id-45'/> + <!-- parameter of type 'GLfloat[4]*' --> + <parameter type-id='type-id-46'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- void GLUnurbs::multmatrix4d(GLfloat[4]*, GLfloat[4]*) --> + <function-decl name='multmatrix4d' mangled-name='_ZN8GLUnurbs12multmatrix4dEPA4_fPA4_KfS4_' filepath='libnurbs/interface/glrenderer.cc' line='294' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'GLfloat[4]*' --> + <parameter type-id='type-id-46'/> + <!-- parameter of type 'GLfloat[4]*' --> + <parameter type-id='type-id-46'/> + <!-- parameter of type 'GLfloat[4]*' --> + <parameter type-id='type-id-46'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void GLUnurbs::loadCullingMatrix(GLfloat[4]*) --> + <function-decl name='loadCullingMatrix' mangled-name='_ZN8GLUnurbs17loadCullingMatrixEPA4_f' filepath='libnurbs/interface/glrenderer.cc' line='237' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'GLfloat[4]*' --> + <parameter type-id='type-id-46'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void GLUnurbs::loadSamplingMatrix(GLfloat[4]*, const GLint*) --> + <function-decl name='loadSamplingMatrix' mangled-name='_ZN8GLUnurbs18loadSamplingMatrixEPA4_KfPKi' filepath='libnurbs/interface/glrenderer.cc' line='194' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'GLfloat[4]*' --> + <parameter type-id='type-id-46'/> + <!-- parameter of type 'const GLint*' --> + <parameter type-id='type-id-47'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void GLUnurbs::useGLMatrices(const GLfloat*, const GLfloat*, const GLint*) --> + <function-decl name='useGLMatrices' mangled-name='_ZN8GLUnurbs13useGLMatricesEPKfS1_PKi' filepath='libnurbs/interface/glrenderer.cc' line='141' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'const GLint*' --> + <parameter type-id='type-id-47'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void GLUnurbs::setSamplingMatrixIdentity() --> + <function-decl name='setSamplingMatrixIdentity' mangled-name='_ZN8GLUnurbs25setSamplingMatrixIdentityEv' filepath='libnurbs/interface/glrenderer.cc' line='171' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- void GLUnurbs::grabGLMatrix() --> + <function-decl name='grabGLMatrix' mangled-name='_ZN8GLUnurbs12grabGLMatrixEPA4_f' filepath='libnurbs/interface/glrenderer.cc' line='159' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'GLfloat[4]*' --> + <parameter type-id='type-id-46'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void GLUnurbs::loadGLMatrices() --> + <function-decl name='loadGLMatrices' mangled-name='_ZN8GLUnurbs14loadGLMatricesEv' filepath='libnurbs/interface/glrenderer.cc' line='129' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='2'> <!-- void GLUnurbs::bgnrender() --> <function-decl name='bgnrender' mangled-name='_ZN8GLUnurbs9bgnrenderEv' filepath='libnurbs/interface/glrenderer.cc' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' is-artificial='yes'/> + <parameter type-id='type-id-44' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='3'> <!-- void GLUnurbs::endrender() --> <function-decl name='endrender' mangled-name='_ZN8GLUnurbs9endrenderEv' filepath='libnurbs/interface/glrenderer.cc' line='115' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' is-artificial='yes'/> + <parameter type-id='type-id-44' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='6'> <!-- void GLUnurbs::errorHandler(int) --> <function-decl name='errorHandler' mangled-name='_ZN8GLUnurbs12errorHandlerEi' filepath='libnurbs/interface/glrenderer.cc' line='120' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' is-artificial='yes'/> + <parameter type-id='type-id-44' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> + <!-- GLUnurbs* --> + <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-44'/> + <!-- OpenGLSurfaceEvaluator* --> + <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-48'/> + <!-- float* --> + <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-49'/> + <!-- GLUnurbs* gluNewNurbsRenderer() --> + <function-decl name='gluNewNurbsRenderer' mangled-name='gluNewNurbsRenderer' filepath='libnurbs/interface/glinterface.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNewNurbsRenderer'> + <!-- GLUnurbs* --> + <return type-id='type-id-44'/> + </function-decl> + <!-- void gluDeleteNurbsRenderer(GLUnurbs*) --> + <function-decl name='gluDeleteNurbsRenderer' mangled-name='gluDeleteNurbsRenderer' filepath='libnurbs/interface/glinterface.cc' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluDeleteNurbsRenderer'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluBeginSurface(GLUnurbs*) --> + <function-decl name='gluBeginSurface' mangled-name='gluBeginSurface' filepath='libnurbs/interface/glinterface.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBeginSurface'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluBeginCurve(GLUnurbs*) --> + <function-decl name='gluBeginCurve' mangled-name='gluBeginCurve' filepath='libnurbs/interface/glinterface.cc' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBeginCurve'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluEndCurve(GLUnurbs*) --> + <function-decl name='gluEndCurve' mangled-name='gluEndCurve' filepath='libnurbs/interface/glinterface.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluEndCurve'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluEndSurface(GLUnurbs*) --> + <function-decl name='gluEndSurface' mangled-name='gluEndSurface' filepath='libnurbs/interface/glinterface.cc' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluEndSurface'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluBeginTrim(GLUnurbs*) --> + <function-decl name='gluBeginTrim' mangled-name='gluBeginTrim' filepath='libnurbs/interface/glinterface.cc' line='131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBeginTrim'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluEndTrim(GLUnurbs*) --> + <function-decl name='gluEndTrim' mangled-name='gluEndTrim' filepath='libnurbs/interface/glinterface.cc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluEndTrim'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluPwlCurve(GLUnurbs*, GLint, float*, GLint, GLenum) --> + <function-decl name='gluPwlCurve' mangled-name='gluPwlCurve' filepath='libnurbs/interface/glinterface.cc' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluPwlCurve'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='150' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='count' filepath='libnurbs/interface/glinterface.cc' line='150' column='1'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49' name='array' filepath='libnurbs/interface/glinterface.cc' line='150' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='stride' filepath='libnurbs/interface/glinterface.cc' line='151' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='type' filepath='libnurbs/interface/glinterface.cc' line='151' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluNurbsCurve(GLUnurbs*, GLint, float*, GLint, float*, GLint, GLenum) --> + <function-decl name='gluNurbsCurve' mangled-name='gluNurbsCurve' filepath='libnurbs/interface/glinterface.cc' line='173' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsCurve'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='173' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='nknots' filepath='libnurbs/interface/glinterface.cc' line='173' column='1'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49' name='knot' filepath='libnurbs/interface/glinterface.cc' line='173' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='stride' filepath='libnurbs/interface/glinterface.cc' line='173' column='1'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49' name='ctlarray' filepath='libnurbs/interface/glinterface.cc' line='174' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='order' filepath='libnurbs/interface/glinterface.cc' line='174' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='type' filepath='libnurbs/interface/glinterface.cc' line='174' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluNurbsSurface(GLUnurbs*, GLint, GLfloat*, GLint, GLfloat*, GLint, GLint, GLfloat*, GLint, GLint, GLenum) --> + <function-decl name='gluNurbsSurface' mangled-name='gluNurbsSurface' filepath='libnurbs/interface/glinterface.cc' line='199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsSurface'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='199' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='sknot_count' filepath='libnurbs/interface/glinterface.cc' line='199' column='1'/> + <!-- parameter of type 'GLfloat*' --> + <parameter type-id='type-id-45' name='sknot' filepath='libnurbs/interface/glinterface.cc' line='199' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='tknot_count' filepath='libnurbs/interface/glinterface.cc' line='200' column='1'/> + <!-- parameter of type 'GLfloat*' --> + <parameter type-id='type-id-45' name='tknot' filepath='libnurbs/interface/glinterface.cc' line='200' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='s_stride' filepath='libnurbs/interface/glinterface.cc' line='201' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='t_stride' filepath='libnurbs/interface/glinterface.cc' line='201' column='1'/> + <!-- parameter of type 'GLfloat*' --> + <parameter type-id='type-id-45' name='ctlarray' filepath='libnurbs/interface/glinterface.cc' line='202' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='sorder' filepath='libnurbs/interface/glinterface.cc' line='202' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='torder' filepath='libnurbs/interface/glinterface.cc' line='202' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='type' filepath='libnurbs/interface/glinterface.cc' line='203' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluLoadSamplingMatrices(GLUnurbs*, const GLfloat*, const GLfloat*, const GLint*) --> + <function-decl name='gluLoadSamplingMatrices' mangled-name='gluLoadSamplingMatrices' filepath='libnurbs/interface/glinterface.cc' line='235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluLoadSamplingMatrices'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='235' column='1'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25' name='modelMatrix' filepath='libnurbs/interface/glinterface.cc' line='235' column='1'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25' name='projMatrix' filepath='libnurbs/interface/glinterface.cc' line='236' column='1'/> + <!-- parameter of type 'const GLint*' --> + <parameter type-id='type-id-47' name='viewport' filepath='libnurbs/interface/glinterface.cc' line='237' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluNurbsProperty(GLUnurbs*, GLenum, GLfloat) --> + <function-decl name='gluNurbsProperty' mangled-name='gluNurbsProperty' filepath='libnurbs/interface/glinterface.cc' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsProperty'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='243' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='property' filepath='libnurbs/interface/glinterface.cc' line='243' column='1'/> + <!-- parameter of type 'typedef GLfloat' --> + <parameter type-id='type-id-23' name='value' filepath='libnurbs/interface/glinterface.cc' line='243' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluGetNurbsProperty(GLUnurbs*, GLenum, GLfloat*) --> + <function-decl name='gluGetNurbsProperty' mangled-name='gluGetNurbsProperty' filepath='libnurbs/interface/glinterface.cc' line='359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluGetNurbsProperty'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='359' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='property' filepath='libnurbs/interface/glinterface.cc' line='359' column='1'/> + <!-- parameter of type 'GLfloat*' --> + <parameter type-id='type-id-45' name='value' filepath='libnurbs/interface/glinterface.cc' line='359' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluNurbsCallback(GLUnurbs*, GLenum, _GLUfuncptr) --> + <function-decl name='gluNurbsCallback' mangled-name='gluNurbsCallback' filepath='libnurbs/interface/glinterface.cc' line='430' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsCallback'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='430' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='which' filepath='libnurbs/interface/glinterface.cc' line='430' column='1'/> + <!-- parameter of type 'typedef _GLUfuncptr' --> + <parameter type-id='type-id-37' name='fn' filepath='libnurbs/interface/glinterface.cc' line='430' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluNurbsCallbackDataEXT(GLUnurbs*, void*) --> + <function-decl name='gluNurbsCallbackDataEXT' mangled-name='gluNurbsCallbackDataEXT' filepath='libnurbs/interface/glinterface.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsCallbackDataEXT'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='459' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35' name='userData' filepath='libnurbs/interface/glinterface.cc' line='459' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluNurbsCallbackData(GLUnurbs*, void*) --> + <function-decl name='gluNurbsCallbackData' mangled-name='gluNurbsCallbackData' filepath='libnurbs/interface/glinterface.cc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsCallbackData'> + <!-- parameter of type 'GLUnurbs*' --> + <parameter type-id='type-id-44' name='r' filepath='libnurbs/interface/glinterface.cc' line='459' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35' name='userData' filepath='libnurbs/interface/glinterface.cc' line='459' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> <!-- struct OpenGLSurfaceEvaluator --> - <class-decl name='OpenGLSurfaceEvaluator' size-in-bits='1074048' is-struct='yes' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='100' column='1' id='type-id-46'> + <class-decl name='OpenGLSurfaceEvaluator' is-struct='yes' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='100' column='1' is-declaration-only='yes' id='type-id-43'> <!-- struct BasicSurfaceEvaluator --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-48'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-51'/> <data-member access='private' layout-offset-in-bits='64'> <!-- StoredVertex* OpenGLSurfaceEvaluator::vertexCache[3] --> - <var-decl name='vertexCache' type-id='type-id-49' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='180' column='1'/> + <var-decl name='vertexCache' type-id='type-id-52' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='180' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='256'> <!-- int OpenGLSurfaceEvaluator::tmeshing --> - <var-decl name='tmeshing' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='181' column='1'/> + <var-decl name='tmeshing' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='181' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='288'> <!-- int OpenGLSurfaceEvaluator::which --> - <var-decl name='which' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='182' column='1'/> + <var-decl name='which' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='182' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='320'> <!-- int OpenGLSurfaceEvaluator::vcount --> - <var-decl name='vcount' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='183' column='1'/> + <var-decl name='vcount' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='183' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='352'> <!-- GLint OpenGLSurfaceEvaluator::gl_polygon_mode[2] --> - <var-decl name='gl_polygon_mode' type-id='type-id-50' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='185' column='1'/> + <var-decl name='gl_polygon_mode' type-id='type-id-53' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='185' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='448'> <!-- bezierPatchMesh* OpenGLSurfaceEvaluator::global_bpm --> - <var-decl name='global_bpm' type-id='type-id-51' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='188' column='1'/> + <var-decl name='global_bpm' type-id='type-id-54' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='188' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='512'> <!-- int OpenGLSurfaceEvaluator::output_triangles --> - <var-decl name='output_triangles' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='189' column='1'/> + <var-decl name='output_triangles' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='189' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='576'> <!-- void (typedef GLenum)* OpenGLSurfaceEvaluator::beginCallBackN --> - <var-decl name='beginCallBackN' type-id='type-id-19' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='193' column='1'/> + <var-decl name='beginCallBackN' type-id='type-id-31' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='193' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='640'> <!-- void ()* OpenGLSurfaceEvaluator::endCallBackN --> - <var-decl name='endCallBackN' type-id='type-id-20' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='194' column='1'/> + <var-decl name='endCallBackN' type-id='type-id-32' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='194' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='704'> <!-- void (const GLfloat*)* OpenGLSurfaceEvaluator::vertexCallBackN --> - <var-decl name='vertexCallBackN' type-id='type-id-21' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='195' column='1'/> + <var-decl name='vertexCallBackN' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='195' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='768'> <!-- void (const GLfloat*)* OpenGLSurfaceEvaluator::normalCallBackN --> - <var-decl name='normalCallBackN' type-id='type-id-21' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='196' column='1'/> + <var-decl name='normalCallBackN' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='196' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='832'> <!-- void (const GLfloat*)* OpenGLSurfaceEvaluator::colorCallBackN --> - <var-decl name='colorCallBackN' type-id='type-id-21' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='197' column='1'/> + <var-decl name='colorCallBackN' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='197' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='896'> <!-- void (const GLfloat*)* OpenGLSurfaceEvaluator::texcoordCallBackN --> - <var-decl name='texcoordCallBackN' type-id='type-id-21' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='198' column='1'/> + <var-decl name='texcoordCallBackN' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='198' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='960'> <!-- void (typedef GLenum, void*)* OpenGLSurfaceEvaluator::beginCallBackData --> - <var-decl name='beginCallBackData' type-id='type-id-22' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='200' column='1'/> + <var-decl name='beginCallBackData' type-id='type-id-33' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='200' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1024'> <!-- void (void*)* OpenGLSurfaceEvaluator::endCallBackData --> - <var-decl name='endCallBackData' type-id='type-id-23' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='201' column='1'/> + <var-decl name='endCallBackData' type-id='type-id-34' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='201' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1088'> <!-- void (const GLfloat*, void*)* OpenGLSurfaceEvaluator::vertexCallBackData --> - <var-decl name='vertexCallBackData' type-id='type-id-24' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='202' column='1'/> + <var-decl name='vertexCallBackData' type-id='type-id-30' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='202' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1152'> <!-- void (const GLfloat*, void*)* OpenGLSurfaceEvaluator::normalCallBackData --> - <var-decl name='normalCallBackData' type-id='type-id-24' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='203' column='1'/> + <var-decl name='normalCallBackData' type-id='type-id-30' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='203' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1216'> <!-- void (const GLfloat*, void*)* OpenGLSurfaceEvaluator::colorCallBackData --> - <var-decl name='colorCallBackData' type-id='type-id-24' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='204' column='1'/> + <var-decl name='colorCallBackData' type-id='type-id-30' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='204' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1280'> <!-- void (const GLfloat*, void*)* OpenGLSurfaceEvaluator::texcoordCallBackData --> - <var-decl name='texcoordCallBackData' type-id='type-id-24' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='205' column='1'/> + <var-decl name='texcoordCallBackData' type-id='type-id-30' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='205' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1344'> <!-- void* OpenGLSurfaceEvaluator::userData --> - <var-decl name='userData' type-id='type-id-25' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='215' column='1'/> + <var-decl name='userData' type-id='type-id-35' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='215' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1408'> <!-- int OpenGLSurfaceEvaluator::LOD_eval_level --> - <var-decl name='LOD_eval_level' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='222' column='1'/> + <var-decl name='LOD_eval_level' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='222' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1440'> <!-- int OpenGLSurfaceEvaluator::global_uorder --> - <var-decl name='global_uorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='231' column='1'/> + <var-decl name='global_uorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='231' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1472'> <!-- int OpenGLSurfaceEvaluator::global_vorder --> - <var-decl name='global_vorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='232' column='1'/> + <var-decl name='global_vorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='232' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1504'> <!-- REAL OpenGLSurfaceEvaluator::global_uprime --> @@ -958,19 +1507,19 @@ </data-member> <data-member access='private' layout-offset-in-bits='1632'> <!-- int OpenGLSurfaceEvaluator::global_uorder_BV --> - <var-decl name='global_uorder_BV' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='237' column='1'/> + <var-decl name='global_uorder_BV' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='237' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1664'> <!-- int OpenGLSurfaceEvaluator::global_vorder_BV --> - <var-decl name='global_vorder_BV' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='238' column='1'/> + <var-decl name='global_vorder_BV' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='238' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1696'> <!-- int OpenGLSurfaceEvaluator::global_uorder_BU --> - <var-decl name='global_uorder_BU' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='239' column='1'/> + <var-decl name='global_uorder_BU' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='239' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1728'> <!-- int OpenGLSurfaceEvaluator::global_vorder_BU --> - <var-decl name='global_vorder_BU' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='240' column='1'/> + <var-decl name='global_vorder_BU' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='240' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1760'> <!-- REAL OpenGLSurfaceEvaluator::global_ucoeff[40] --> @@ -990,27 +1539,27 @@ </data-member> <data-member access='private' layout-offset-in-bits='6880'> <!-- REAL OpenGLSurfaceEvaluator::global_BV[40][4] --> - <var-decl name='global_BV' type-id='type-id-52' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='247' column='1'/> + <var-decl name='global_BV' type-id='type-id-55' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='247' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='12000'> <!-- REAL OpenGLSurfaceEvaluator::global_PBV[40][4] --> - <var-decl name='global_PBV' type-id='type-id-52' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='248' column='1'/> + <var-decl name='global_PBV' type-id='type-id-55' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='248' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='17120'> <!-- REAL OpenGLSurfaceEvaluator::global_BU[40][4] --> - <var-decl name='global_BU' type-id='type-id-52' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='249' column='1'/> + <var-decl name='global_BU' type-id='type-id-55' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='249' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='22240'> <!-- REAL OpenGLSurfaceEvaluator::global_PBU[40][4] --> - <var-decl name='global_PBU' type-id='type-id-52' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='250' column='1'/> + <var-decl name='global_PBU' type-id='type-id-55' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='250' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='27392'> <!-- REAL* OpenGLSurfaceEvaluator::global_baseData --> - <var-decl name='global_baseData' type-id='type-id-16' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='251' column='1'/> + <var-decl name='global_baseData' type-id='type-id-22' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='251' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='27456'> <!-- int OpenGLSurfaceEvaluator::global_ev_k --> - <var-decl name='global_ev_k' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='253' column='1'/> + <var-decl name='global_ev_k' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='253' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='27488'> <!-- REAL OpenGLSurfaceEvaluator::global_ev_u1 --> @@ -1022,11 +1571,11 @@ </data-member> <data-member access='private' layout-offset-in-bits='27552'> <!-- int OpenGLSurfaceEvaluator::global_ev_ustride --> - <var-decl name='global_ev_ustride' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='256' column='1'/> + <var-decl name='global_ev_ustride' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='256' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='27584'> <!-- int OpenGLSurfaceEvaluator::global_ev_uorder --> - <var-decl name='global_ev_uorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='257' column='1'/> + <var-decl name='global_ev_uorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='257' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='27616'> <!-- REAL OpenGLSurfaceEvaluator::global_ev_v1 --> @@ -1038,15 +1587,15 @@ </data-member> <data-member access='private' layout-offset-in-bits='27680'> <!-- int OpenGLSurfaceEvaluator::global_ev_vstride --> - <var-decl name='global_ev_vstride' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='260' column='1'/> + <var-decl name='global_ev_vstride' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='260' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='27712'> <!-- int OpenGLSurfaceEvaluator::global_ev_vorder --> - <var-decl name='global_ev_vorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='261' column='1'/> + <var-decl name='global_ev_vorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='261' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='27744'> <!-- REAL OpenGLSurfaceEvaluator::global_ev_ctlPoints[6400] --> - <var-decl name='global_ev_ctlPoints' type-id='type-id-53' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='262' column='1'/> + <var-decl name='global_ev_ctlPoints' type-id='type-id-56' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='262' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='232544'> <!-- REAL OpenGLSurfaceEvaluator::global_grid_u0 --> @@ -1058,7 +1607,7 @@ </data-member> <data-member access='private' layout-offset-in-bits='232608'> <!-- int OpenGLSurfaceEvaluator::global_grid_nu --> - <var-decl name='global_grid_nu' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='266' column='1'/> + <var-decl name='global_grid_nu' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='266' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='232640'> <!-- REAL OpenGLSurfaceEvaluator::global_grid_v0 --> @@ -1070,88 +1619,787 @@ </data-member> <data-member access='private' layout-offset-in-bits='232704'> <!-- int OpenGLSurfaceEvaluator::global_grid_nv --> - <var-decl name='global_grid_nv' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='269' column='1'/> + <var-decl name='global_grid_nv' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='269' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='232736'> <!-- surfEvalMachine OpenGLSurfaceEvaluator::em_vertex --> - <var-decl name='em_vertex' type-id='type-id-54' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='349' column='1'/> + <var-decl name='em_vertex' type-id='type-id-57' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='349' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='443008'> <!-- surfEvalMachine OpenGLSurfaceEvaluator::em_normal --> - <var-decl name='em_normal' type-id='type-id-54' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='350' column='1'/> + <var-decl name='em_normal' type-id='type-id-57' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='350' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='653280'> <!-- surfEvalMachine OpenGLSurfaceEvaluator::em_color --> - <var-decl name='em_color' type-id='type-id-54' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='351' column='1'/> + <var-decl name='em_color' type-id='type-id-57' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='351' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='863552'> <!-- surfEvalMachine OpenGLSurfaceEvaluator::em_texcoord --> - <var-decl name='em_texcoord' type-id='type-id-54' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='352' column='1'/> + <var-decl name='em_texcoord' type-id='type-id-57' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='352' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1073824'> <!-- int OpenGLSurfaceEvaluator::auto_normal_flag --> - <var-decl name='auto_normal_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='354' column='1'/> + <var-decl name='auto_normal_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='354' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1073856'> <!-- int OpenGLSurfaceEvaluator::callback_auto_normal --> - <var-decl name='callback_auto_normal' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='356' column='1'/> + <var-decl name='callback_auto_normal' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='356' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1073888'> <!-- int OpenGLSurfaceEvaluator::vertex_flag --> - <var-decl name='vertex_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='357' column='1'/> + <var-decl name='vertex_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='357' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1073920'> <!-- int OpenGLSurfaceEvaluator::normal_flag --> - <var-decl name='normal_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='358' column='1'/> + <var-decl name='normal_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='358' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1073952'> <!-- int OpenGLSurfaceEvaluator::color_flag --> - <var-decl name='color_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='359' column='1'/> + <var-decl name='color_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='359' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1073984'> <!-- int OpenGLSurfaceEvaluator::texcoord_flag --> - <var-decl name='texcoord_flag' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='360' column='1'/> + <var-decl name='texcoord_flag' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='360' column='1'/> </data-member> + <member-function access='public'> + <!-- void OpenGLSurfaceEvaluator::set_callback_userData(void*) --> + <function-decl name='set_callback_userData' mangled-name='_ZN22OpenGLSurfaceEvaluator21set_callback_userDataEPv' filepath='libnurbs/interface/glsurfeval.h' line='168' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void OpenGLSurfaceEvaluator::put_vertices_call_back(int) --> + <function-decl name='put_vertices_call_back' mangled-name='_ZN22OpenGLSurfaceEvaluator22put_vertices_call_backEi' filepath='libnurbs/interface/glsurfeval.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> <member-function access='public' constructor='yes'> <!-- OpenGLSurfaceEvaluator::OpenGLSurfaceEvaluator() --> <function-decl name='OpenGLSurfaceEvaluator' filepath='libnurbs/interface/glsurfeval.cc' line='99' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void OpenGLSurfaceEvaluator::putCallBack(GLenum, _GLUfuncptr) --> + <function-decl name='putCallBack' mangled-name='_ZN22OpenGLSurfaceEvaluator11putCallBackEjPFvvE' filepath='libnurbs/interface/glsurfeval.cc' line='1190' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36'/> + <!-- parameter of type 'typedef _GLUfuncptr' --> + <parameter type-id='type-id-37'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::beginCallBack(GLenum, void*) --> + <function-decl name='beginCallBack' mangled-name='_ZN22OpenGLSurfaceEvaluator13beginCallBackEjPv' filepath='libnurbs/interface/glsurfeval.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::endCallBack(void*) --> + <function-decl name='endCallBack' mangled-name='_ZN22OpenGLSurfaceEvaluator11endCallBackEPv' filepath='libnurbs/interface/glsurfeval.cc' line='1246' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::vertexCallBack(const GLfloat*, void*) --> + <function-decl name='vertexCallBack' mangled-name='_ZN22OpenGLSurfaceEvaluator14vertexCallBackEPKfPv' filepath='libnurbs/interface/glsurfeval.cc' line='1255' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::normalCallBack(const GLfloat*, void*) --> + <function-decl name='normalCallBack' mangled-name='_ZN22OpenGLSurfaceEvaluator14normalCallBackEPKfPv' filepath='libnurbs/interface/glsurfeval.cc' line='1265' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::colorCallBack(const GLfloat*, void*) --> + <function-decl name='colorCallBack' mangled-name='_ZN22OpenGLSurfaceEvaluator13colorCallBackEPKfPv' filepath='libnurbs/interface/glsurfeval.cc' line='1274' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::texcoordCallBack(const GLfloat*, void*) --> + <function-decl name='texcoordCallBack' mangled-name='_ZN22OpenGLSurfaceEvaluator16texcoordCallBackEPKfPv' filepath='libnurbs/interface/glsurfeval.cc' line='1283' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'const GLfloat*' --> + <parameter type-id='type-id-25'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void OpenGLSurfaceEvaluator::coord2f(REAL, REAL) --> + <function-decl name='coord2f' mangled-name='_ZN22OpenGLSurfaceEvaluator7coord2fEff' filepath='libnurbs/interface/glsurfeval.cc' line='1106' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void OpenGLSurfaceEvaluator::point2i(long int, long int) --> + <function-decl name='point2i' mangled-name='_ZN22OpenGLSurfaceEvaluator7point2iEll' filepath='libnurbs/interface/glsurfeval.cc' line='1069' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void OpenGLSurfaceEvaluator::newtmeshvert(REAL, REAL) --> + <function-decl name='newtmeshvert' mangled-name='_ZN22OpenGLSurfaceEvaluator12newtmeshvertEff' filepath='libnurbs/interface/glsurfeval.cc' line='1160' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void OpenGLSurfaceEvaluator::newtmeshvert(long int, long int) --> + <function-decl name='newtmeshvert' mangled-name='_ZN22OpenGLSurfaceEvaluator12newtmeshvertEll' filepath='libnurbs/interface/glsurfeval.cc' line='1134' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void OpenGLSurfaceEvaluator::LOD_eval_list(int) --> + <function-decl name='LOD_eval_list' mangled-name='_ZN22OpenGLSurfaceEvaluator13LOD_eval_listEi' filepath='libnurbs/interface/glsurfeval.cc' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inMapGrid2f(int, REAL, REAL, int, REAL, REAL) --> + <function-decl name='inMapGrid2f' mangled-name='_ZN22OpenGLSurfaceEvaluator11inMapGrid2fEiffiff' filepath='libnurbs/interface/insurfeval.cc' line='389' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inComputeFirstPartials(REAL*, REAL*, REAL*) --> + <function-decl name='inComputeFirstPartials' mangled-name='_ZN22OpenGLSurfaceEvaluator22inComputeFirstPartialsEPfS0_S0_' filepath='libnurbs/interface/insurfeval.cc' line='501' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inPreEvaluate(int, REAL, REAL*) --> + <function-decl name='inPreEvaluate' mangled-name='_ZN22OpenGLSurfaceEvaluator13inPreEvaluateEifPf' filepath='libnurbs/interface/insurfeval.cc' line='1022' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inPreEvaluateWithDeriv(int, REAL, REAL*, REAL*) --> + <function-decl name='inPreEvaluateWithDeriv' mangled-name='_ZN22OpenGLSurfaceEvaluator22inPreEvaluateWithDerivEifPfS0_' filepath='libnurbs/interface/insurfeval.cc' line='1066' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inDoDomain2WithDerivs(int, REAL, REAL, REAL, REAL, int, REAL, REAL, int, REAL*, REAL*, REAL*, REAL*) --> + <function-decl name='inDoDomain2WithDerivs' mangled-name='_ZN22OpenGLSurfaceEvaluator21inDoDomain2WithDerivsEiffffiffiPfS0_S0_S0_' filepath='libnurbs/interface/insurfeval.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inDoDomain2WithDerivsBV(int, REAL, REAL, REAL, REAL, int, REAL, REAL, int, REAL*, REAL*, REAL*, REAL*) --> + <function-decl name='inDoDomain2WithDerivsBV' mangled-name='_ZN22OpenGLSurfaceEvaluator23inDoDomain2WithDerivsBVEiffffiffiPfS0_S0_S0_' filepath='libnurbs/interface/insurfeval.cc' line='903' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inDoDomain2WithDerivsBU(int, REAL, REAL, REAL, REAL, int, REAL, REAL, int, REAL*, REAL*, REAL*, REAL*) --> + <function-decl name='inDoDomain2WithDerivsBU' mangled-name='_ZN22OpenGLSurfaceEvaluator23inDoDomain2WithDerivsBUEiffffiffiPfS0_S0_S0_' filepath='libnurbs/interface/insurfeval.cc' line='868' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inPreEvaluateBU(int, int, int, REAL, REAL*) --> + <function-decl name='inPreEvaluateBU' mangled-name='_ZN22OpenGLSurfaceEvaluator15inPreEvaluateBUEiiifPf' filepath='libnurbs/interface/insurfeval.cc' line='838' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inPreEvaluateBV(int, int, int, REAL, REAL*) --> + <function-decl name='inPreEvaluateBV' mangled-name='_ZN22OpenGLSurfaceEvaluator15inPreEvaluateBVEiiifPf' filepath='libnurbs/interface/insurfeval.cc' line='809' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inEvalULine(int, REAL, REAL*, int, REAL[3]*, REAL[3]*) --> + <function-decl name='inEvalULine' mangled-name='_ZN22OpenGLSurfaceEvaluator11inEvalULineEifPfiPA3_fS2_' filepath='libnurbs/interface/insurfeval.cc' line='1125' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL[3]*' --> + <parameter type-id='type-id-58'/> + <!-- parameter of type 'REAL[3]*' --> + <parameter type-id='type-id-58'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inEvalVLine(int, REAL, REAL*, int, REAL[3]*, REAL[3]*) --> + <function-decl name='inEvalVLine' mangled-name='_ZN22OpenGLSurfaceEvaluator11inEvalVLineEifPfiPA3_fS2_' filepath='libnurbs/interface/insurfeval.cc' line='1144' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL[3]*' --> + <parameter type-id='type-id-58'/> + <!-- parameter of type 'REAL[3]*' --> + <parameter type-id='type-id-58'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inMap2fEM(int, int, REAL, REAL, int, int, REAL, REAL, int, int, REAL*) --> + <function-decl name='inMap2fEM' mangled-name='_ZN22OpenGLSurfaceEvaluator9inMap2fEMEiiffiiffiiPf' filepath='libnurbs/interface/insurfeval.cc' line='1540' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inDoDomain2WithDerivsEM(surfEvalMachine*, REAL, REAL, REAL*, REAL*, REAL*) --> + <function-decl name='inDoDomain2WithDerivsEM' mangled-name='_ZN22OpenGLSurfaceEvaluator23inDoDomain2WithDerivsEMEP15surfEvalMachineffPfS2_S2_' filepath='libnurbs/interface/insurfeval.cc' line='1600' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'surfEvalMachine*' --> + <parameter type-id='type-id-59'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inDoDomain2EM(surfEvalMachine*, REAL, REAL, REAL*) --> + <function-decl name='inDoDomain2EM' mangled-name='_ZN22OpenGLSurfaceEvaluator13inDoDomain2EMEP15surfEvalMachineffPf' filepath='libnurbs/interface/insurfeval.cc' line='1653' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'surfEvalMachine*' --> + <parameter type-id='type-id-59'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inEvalVStrip(int, REAL, REAL*, int, REAL, REAL*) --> + <function-decl name='inEvalVStrip' mangled-name='_ZN22OpenGLSurfaceEvaluator12inEvalVStripEifPfifS0_' filepath='libnurbs/interface/insurfeval.cc' line='1355' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inEvalUStrip(int, REAL, REAL*, int, REAL, REAL*) --> + <function-decl name='inEvalUStrip' mangled-name='_ZN22OpenGLSurfaceEvaluator12inEvalUStripEifPfifS0_' filepath='libnurbs/interface/insurfeval.cc' line='1166' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inComputeNormal2(REAL*, REAL*, REAL*) --> + <function-decl name='inComputeNormal2' mangled-name='_ZN22OpenGLSurfaceEvaluator16inComputeNormal2EPfS0_S0_' filepath='libnurbs/interface/insurfeval.cc' line='518' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inDoEvalCoord2EM(REAL, REAL) --> + <function-decl name='inDoEvalCoord2EM' mangled-name='_ZN22OpenGLSurfaceEvaluator16inDoEvalCoord2EMEff' filepath='libnurbs/interface/insurfeval.cc' line='1702' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inBPMEvalEM(bezierPatchMesh*) --> + <function-decl name='inBPMEvalEM' mangled-name='_ZN22OpenGLSurfaceEvaluator11inBPMEvalEMEP15bezierPatchMesh' filepath='libnurbs/interface/insurfeval.cc' line='1826' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'bezierPatchMesh*' --> + <parameter type-id='type-id-54'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inBPMListEvalEM(bezierPatchMesh*) --> + <function-decl name='inBPMListEvalEM' mangled-name='_ZN22OpenGLSurfaceEvaluator15inBPMListEvalEMEP15bezierPatchMesh' filepath='libnurbs/interface/insurfeval.cc' line='2056' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'bezierPatchMesh*' --> + <parameter type-id='type-id-54'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inDoEvalCoord2(REAL, REAL, REAL*, REAL*) --> + <function-decl name='inDoEvalCoord2' mangled-name='_ZN22OpenGLSurfaceEvaluator14inDoEvalCoord2EffPfS0_' filepath='libnurbs/interface/insurfeval.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inEvalMesh2(int, int, int, int) --> + <function-decl name='inEvalMesh2' mangled-name='_ZN22OpenGLSurfaceEvaluator11inEvalMesh2Eiiii' filepath='libnurbs/interface/insurfeval.cc' line='400' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inEvalCoord2f(REAL, REAL) --> + <function-decl name='inEvalCoord2f' mangled-name='_ZN22OpenGLSurfaceEvaluator13inEvalCoord2fEff' filepath='libnurbs/interface/insurfeval.cc' line='375' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inEvalPoint2(int, int) --> + <function-decl name='inEvalPoint2' mangled-name='_ZN22OpenGLSurfaceEvaluator12inEvalPoint2Eii' filepath='libnurbs/interface/insurfeval.cc' line='362' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inMap2f(int, REAL, REAL, int, int, REAL, REAL, int, int, REAL*) --> + <function-decl name='inMap2f' mangled-name='_ZN22OpenGLSurfaceEvaluator7inMap2fEiffiiffiiPf' filepath='libnurbs/interface/insurfeval.cc' line='444' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inBPMEval(bezierPatchMesh*) --> + <function-decl name='inBPMEval' mangled-name='_ZN22OpenGLSurfaceEvaluator9inBPMEvalEP15bezierPatchMesh' filepath='libnurbs/interface/insurfeval.cc' line='247' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'bezierPatchMesh*' --> + <parameter type-id='type-id-54'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void OpenGLSurfaceEvaluator::inBPMListEval(bezierPatchMesh*) --> + <function-decl name='inBPMListEval' mangled-name='_ZN22OpenGLSurfaceEvaluator13inBPMListEvalEP15bezierPatchMesh' filepath='libnurbs/interface/insurfeval.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48' is-artificial='yes'/> + <!-- parameter of type 'bezierPatchMesh*' --> + <parameter type-id='type-id-54'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' destructor='yes' vtable-offset='-1'> <!-- OpenGLSurfaceEvaluator::~OpenGLSurfaceEvaluator(int) --> <function-decl name='~OpenGLSurfaceEvaluator' filepath='libnurbs/interface/glsurfeval.cc' line='162' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='9'> <!-- void OpenGLSurfaceEvaluator::range2f(long int, REAL*, REAL*) --> <function-decl name='range2f' mangled-name='_ZN22OpenGLSurfaceEvaluator7range2fElPfS0_' filepath='libnurbs/interface/glsurfeval.cc' line='258' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='10'> <!-- void OpenGLSurfaceEvaluator::domain2f(REAL, REAL, REAL, REAL) --> <function-decl name='domain2f' mangled-name='_ZN22OpenGLSurfaceEvaluator8domain2fEffff' filepath='libnurbs/interface/glsurfeval.cc' line='263' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> @@ -1161,4231 +2409,1305 @@ <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='11'> <!-- void OpenGLSurfaceEvaluator::enable(long int) --> <function-decl name='enable' mangled-name='_ZN22OpenGLSurfaceEvaluator6enableEl' filepath='libnurbs/interface/glsurfeval.cc' line='185' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='12'> <!-- void OpenGLSurfaceEvaluator::disable(long int) --> <function-decl name='disable' mangled-name='_ZN22OpenGLSurfaceEvaluator7disableEl' filepath='libnurbs/interface/glsurfeval.cc' line='175' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='13'> <!-- void OpenGLSurfaceEvaluator::bgnmap2f(long int) --> <function-decl name='bgnmap2f' mangled-name='_ZN22OpenGLSurfaceEvaluator8bgnmap2fEl' filepath='libnurbs/interface/glsurfeval.cc' line='739' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='14'> <!-- void OpenGLSurfaceEvaluator::map2f(long int, REAL, REAL, long int, long int, REAL, REAL, long int, long int, REAL*) --> <function-decl name='map2f' mangled-name='_ZN22OpenGLSurfaceEvaluator5map2fElffllffllPf' filepath='libnurbs/interface/glsurfeval.cc' line='872' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='15'> <!-- void OpenGLSurfaceEvaluator::mapgrid2f(long int, REAL, REAL, long int, REAL, REAL) --> <function-decl name='mapgrid2f' mangled-name='_ZN22OpenGLSurfaceEvaluator9mapgrid2fElfflff' filepath='libnurbs/interface/glsurfeval.cc' line='195' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='16'> <!-- void OpenGLSurfaceEvaluator::mapmesh2f(long int, long int, long int, long int, long int) --> <function-decl name='mapmesh2f' mangled-name='_ZN22OpenGLSurfaceEvaluator9mapmesh2fElllll' filepath='libnurbs/interface/glsurfeval.cc' line='946' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='17'> <!-- void OpenGLSurfaceEvaluator::evalcoord2f(long int, REAL, REAL) --> <function-decl name='evalcoord2f' mangled-name='_ZN22OpenGLSurfaceEvaluator11evalcoord2fElff' filepath='libnurbs/interface/glsurfeval.cc' line='1042' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='18'> <!-- void OpenGLSurfaceEvaluator::evalpoint2i(long int, long int) --> <function-decl name='evalpoint2i' mangled-name='_ZN22OpenGLSurfaceEvaluator11evalpoint2iEll' filepath='libnurbs/interface/glsurfeval.cc' line='1059' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='19'> <!-- void OpenGLSurfaceEvaluator::endmap2f() --> <function-decl name='endmap2f' mangled-name='_ZN22OpenGLSurfaceEvaluator8endmap2fEv' filepath='libnurbs/interface/glsurfeval.cc' line='801' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='20'> <!-- void OpenGLSurfaceEvaluator::polymode(long int) --> <function-decl name='polymode' mangled-name='_ZN22OpenGLSurfaceEvaluator8polymodeEl' filepath='libnurbs/interface/glsurfeval.cc' line='219' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='21'> <!-- void OpenGLSurfaceEvaluator::bgnline() --> <function-decl name='bgnline' mangled-name='_ZN22OpenGLSurfaceEvaluator7bgnlineEv' filepath='libnurbs/interface/glsurfeval.cc' line='240' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='22'> <!-- void OpenGLSurfaceEvaluator::endline() --> <function-decl name='endline' mangled-name='_ZN22OpenGLSurfaceEvaluator7endlineEv' filepath='libnurbs/interface/glsurfeval.cc' line='249' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='23'> <!-- void OpenGLSurfaceEvaluator::bgnclosedline() --> <function-decl name='bgnclosedline' mangled-name='_ZN22OpenGLSurfaceEvaluator13bgnclosedlineEv' filepath='libnurbs/interface/glsurfeval.cc' line='268' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='24'> <!-- void OpenGLSurfaceEvaluator::endclosedline() --> <function-decl name='endclosedline' mangled-name='_ZN22OpenGLSurfaceEvaluator13endclosedlineEv' filepath='libnurbs/interface/glsurfeval.cc' line='277' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='25'> <!-- void OpenGLSurfaceEvaluator::bgntmesh() --> <function-decl name='bgntmesh' mangled-name='_ZN22OpenGLSurfaceEvaluator8bgntmeshEv' filepath='libnurbs/interface/glsurfeval.cc' line='290' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='26'> <!-- void OpenGLSurfaceEvaluator::swaptmesh() --> <function-decl name='swaptmesh' mangled-name='_ZN22OpenGLSurfaceEvaluator9swaptmeshEv' filepath='libnurbs/interface/glsurfeval.cc' line='305' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='27'> <!-- void OpenGLSurfaceEvaluator::endtmesh() --> <function-decl name='endtmesh' mangled-name='_ZN22OpenGLSurfaceEvaluator8endtmeshEv' filepath='libnurbs/interface/glsurfeval.cc' line='312' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='28'> <!-- void OpenGLSurfaceEvaluator::bgnqstrip() --> <function-decl name='bgnqstrip' mangled-name='_ZN22OpenGLSurfaceEvaluator9bgnqstripEv' filepath='libnurbs/interface/glsurfeval.cc' line='712' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='29'> <!-- void OpenGLSurfaceEvaluator::endqstrip() --> <function-decl name='endqstrip' mangled-name='_ZN22OpenGLSurfaceEvaluator9endqstripEv' filepath='libnurbs/interface/glsurfeval.cc' line='725' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='30'> <!-- void OpenGLSurfaceEvaluator::bgntfan() --> <function-decl name='bgntfan' mangled-name='_ZN22OpenGLSurfaceEvaluator7bgntfanEv' filepath='libnurbs/interface/glsurfeval.cc' line='324' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='31'> <!-- void OpenGLSurfaceEvaluator::endtfan() --> <function-decl name='endtfan' mangled-name='_ZN22OpenGLSurfaceEvaluator7endtfanEv' filepath='libnurbs/interface/glsurfeval.cc' line='334' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='32'> <!-- void OpenGLSurfaceEvaluator::evalUStrip(int, REAL, REAL*, int, REAL, REAL*) --> <function-decl name='evalUStrip' mangled-name='_ZN22OpenGLSurfaceEvaluator10evalUStripEifPfifS0_' filepath='libnurbs/interface/glsurfeval.cc' line='343' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' vtable-offset='33'> <!-- void OpenGLSurfaceEvaluator::evalVStrip(int, REAL, REAL*, int, REAL, REAL*) --> <function-decl name='evalVStrip' mangled-name='_ZN22OpenGLSurfaceEvaluator10evalVStripEifPfifS0_' filepath='libnurbs/interface/glsurfeval.cc' line='530' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='34'> <!-- void OpenGLSurfaceEvaluator::inDoEvalCoord2NOGE(REAL, REAL, REAL*, REAL*) --> <function-decl name='inDoEvalCoord2NOGE' mangled-name='_ZN22OpenGLSurfaceEvaluator18inDoEvalCoord2NOGEEffPfS0_' filepath='libnurbs/interface/glsurfeval.h' line='283' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='35'> <!-- void OpenGLSurfaceEvaluator::inDoEvalCoord2NOGE_BU(REAL, REAL, REAL*, REAL*) --> <function-decl name='inDoEvalCoord2NOGE_BU' mangled-name='_ZN22OpenGLSurfaceEvaluator21inDoEvalCoord2NOGE_BUEffPfS0_' filepath='libnurbs/interface/glsurfeval.h' line='342' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='36'> <!-- void OpenGLSurfaceEvaluator::inDoEvalCoord2NOGE_BV(REAL, REAL, REAL*, REAL*) --> <function-decl name='inDoEvalCoord2NOGE_BV' mangled-name='_ZN22OpenGLSurfaceEvaluator21inDoEvalCoord2NOGE_BVEffPfS0_' filepath='libnurbs/interface/glsurfeval.h' line='339' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='37'> <!-- void OpenGLSurfaceEvaluator::inPreEvaluateBV_intfac(REAL) --> <function-decl name='inPreEvaluateBV_intfac' mangled-name='_ZN22OpenGLSurfaceEvaluator22inPreEvaluateBV_intfacEf' filepath='libnurbs/interface/glsurfeval.h' line='316' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='38'> <!-- void OpenGLSurfaceEvaluator::inPreEvaluateBU_intfac(REAL) --> <function-decl name='inPreEvaluateBU_intfac' mangled-name='_ZN22OpenGLSurfaceEvaluator22inPreEvaluateBU_intfacEf' filepath='libnurbs/interface/glsurfeval.h' line='321' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'OpenGLSurfaceEvaluator*' --> - <parameter type-id='type-id-55' is-artificial='yes'/> + <parameter type-id='type-id-48' is-artificial='yes'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> - <!-- GLUnurbs* --> - <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-47'/> - <!-- GLUnurbs* const --> - <qualified-type-def type-id='type-id-47' const='yes' id='type-id-56'/> - <!-- OpenGLSurfaceEvaluator* --> - <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-55'/> - <!-- OpenGLSurfaceEvaluator* const --> - <qualified-type-def type-id='type-id-55' const='yes' id='type-id-57'/> - <!-- float* --> - <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-58'/> - <!-- void gluDeleteNurbsRenderer(GLUnurbs*) --> - <function-decl name='gluDeleteNurbsRenderer' mangled-name='gluDeleteNurbsRenderer' filepath='libnurbs/interface/glinterface.cc' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluDeleteNurbsRenderer'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluNurbsCallbackDataEXT(GLUnurbs*, void*) --> - <function-decl name='gluNurbsCallbackDataEXT' mangled-name='gluNurbsCallbackDataEXT' filepath='libnurbs/interface/glinterface.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsCallbackDataEXT'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='459' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='userData' filepath='libnurbs/interface/glinterface.cc' line='459' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluNurbsCallbackData(GLUnurbs*, void*) --> - <function-decl name='gluNurbsCallbackData' mangled-name='gluNurbsCallbackData' filepath='libnurbs/interface/glinterface.cc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsCallbackData'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='459' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='userData' filepath='libnurbs/interface/glinterface.cc' line='459' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluNurbsCallback(GLUnurbs*, GLenum, _GLUfuncptr) --> - <function-decl name='gluNurbsCallback' mangled-name='gluNurbsCallback' filepath='libnurbs/interface/glinterface.cc' line='430' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsCallback'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='430' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='which' filepath='libnurbs/interface/glinterface.cc' line='430' column='1'/> - <!-- parameter of type 'typedef _GLUfuncptr' --> - <parameter type-id='type-id-60' name='fn' filepath='libnurbs/interface/glinterface.cc' line='430' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluGetNurbsProperty(GLUnurbs*, GLenum, GLfloat*) --> - <function-decl name='gluGetNurbsProperty' mangled-name='gluGetNurbsProperty' filepath='libnurbs/interface/glinterface.cc' line='359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluGetNurbsProperty'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='359' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='property' filepath='libnurbs/interface/glinterface.cc' line='359' column='1'/> - <!-- parameter of type 'GLfloat*' --> - <parameter type-id='type-id-61' name='value' filepath='libnurbs/interface/glinterface.cc' line='359' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluNurbsProperty(GLUnurbs*, GLenum, GLfloat) --> - <function-decl name='gluNurbsProperty' mangled-name='gluNurbsProperty' filepath='libnurbs/interface/glinterface.cc' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsProperty'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='243' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='property' filepath='libnurbs/interface/glinterface.cc' line='243' column='1'/> - <!-- parameter of type 'typedef GLfloat' --> - <parameter type-id='type-id-32' name='value' filepath='libnurbs/interface/glinterface.cc' line='243' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluLoadSamplingMatrices(GLUnurbs*, const GLfloat*, const GLfloat*, const GLint*) --> - <function-decl name='gluLoadSamplingMatrices' mangled-name='gluLoadSamplingMatrices' filepath='libnurbs/interface/glinterface.cc' line='235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluLoadSamplingMatrices'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='235' column='1'/> - <!-- parameter of type 'const GLfloat*' --> - <parameter type-id='type-id-34' name='modelMatrix' filepath='libnurbs/interface/glinterface.cc' line='235' column='1'/> - <!-- parameter of type 'const GLfloat*' --> - <parameter type-id='type-id-34' name='projMatrix' filepath='libnurbs/interface/glinterface.cc' line='236' column='1'/> - <!-- parameter of type 'const GLint*' --> - <parameter type-id='type-id-62' name='viewport' filepath='libnurbs/interface/glinterface.cc' line='237' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluNurbsSurface(GLUnurbs*, GLint, GLfloat*, GLint, GLfloat*, GLint, GLint, GLfloat*, GLint, GLint, GLenum) --> - <function-decl name='gluNurbsSurface' mangled-name='gluNurbsSurface' filepath='libnurbs/interface/glinterface.cc' line='199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsSurface'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='199' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='sknot_count' filepath='libnurbs/interface/glinterface.cc' line='199' column='1'/> - <!-- parameter of type 'GLfloat*' --> - <parameter type-id='type-id-61' name='sknot' filepath='libnurbs/interface/glinterface.cc' line='199' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='tknot_count' filepath='libnurbs/interface/glinterface.cc' line='200' column='1'/> - <!-- parameter of type 'GLfloat*' --> - <parameter type-id='type-id-61' name='tknot' filepath='libnurbs/interface/glinterface.cc' line='200' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='s_stride' filepath='libnurbs/interface/glinterface.cc' line='201' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='t_stride' filepath='libnurbs/interface/glinterface.cc' line='201' column='1'/> - <!-- parameter of type 'GLfloat*' --> - <parameter type-id='type-id-61' name='ctlarray' filepath='libnurbs/interface/glinterface.cc' line='202' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='sorder' filepath='libnurbs/interface/glinterface.cc' line='202' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='torder' filepath='libnurbs/interface/glinterface.cc' line='202' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libnurbs/interface/glinterface.cc' line='203' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluNurbsCurve(GLUnurbs*, GLint, float*, GLint, float*, GLint, GLenum) --> - <function-decl name='gluNurbsCurve' mangled-name='gluNurbsCurve' filepath='libnurbs/interface/glinterface.cc' line='173' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNurbsCurve'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='173' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='nknots' filepath='libnurbs/interface/glinterface.cc' line='173' column='1'/> - <!-- parameter of type 'float*' --> - <parameter type-id='type-id-58' name='knot' filepath='libnurbs/interface/glinterface.cc' line='173' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='stride' filepath='libnurbs/interface/glinterface.cc' line='173' column='1'/> - <!-- parameter of type 'float*' --> - <parameter type-id='type-id-58' name='ctlarray' filepath='libnurbs/interface/glinterface.cc' line='174' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='order' filepath='libnurbs/interface/glinterface.cc' line='174' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libnurbs/interface/glinterface.cc' line='174' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluPwlCurve(GLUnurbs*, GLint, float*, GLint, GLenum) --> - <function-decl name='gluPwlCurve' mangled-name='gluPwlCurve' filepath='libnurbs/interface/glinterface.cc' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluPwlCurve'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='150' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='count' filepath='libnurbs/interface/glinterface.cc' line='150' column='1'/> - <!-- parameter of type 'float*' --> - <parameter type-id='type-id-58' name='array' filepath='libnurbs/interface/glinterface.cc' line='150' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='stride' filepath='libnurbs/interface/glinterface.cc' line='151' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libnurbs/interface/glinterface.cc' line='151' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluEndTrim(GLUnurbs*) --> - <function-decl name='gluEndTrim' mangled-name='gluEndTrim' filepath='libnurbs/interface/glinterface.cc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluEndTrim'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluBeginTrim(GLUnurbs*) --> - <function-decl name='gluBeginTrim' mangled-name='gluBeginTrim' filepath='libnurbs/interface/glinterface.cc' line='131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBeginTrim'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluEndSurface(GLUnurbs*) --> - <function-decl name='gluEndSurface' mangled-name='gluEndSurface' filepath='libnurbs/interface/glinterface.cc' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluEndSurface'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluEndCurve(GLUnurbs*) --> - <function-decl name='gluEndCurve' mangled-name='gluEndCurve' filepath='libnurbs/interface/glinterface.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluEndCurve'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluBeginCurve(GLUnurbs*) --> - <function-decl name='gluBeginCurve' mangled-name='gluBeginCurve' filepath='libnurbs/interface/glinterface.cc' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBeginCurve'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluBeginSurface(GLUnurbs*) --> - <function-decl name='gluBeginSurface' mangled-name='gluBeginSurface' filepath='libnurbs/interface/glinterface.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBeginSurface'> - <!-- parameter of type 'GLUnurbs*' --> - <parameter type-id='type-id-47' name='r' filepath='libnurbs/interface/glinterface.cc' line='75' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- GLUnurbs* gluNewNurbsRenderer() --> - <function-decl name='gluNewNurbsRenderer' mangled-name='gluNewNurbsRenderer' filepath='libnurbs/interface/glinterface.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNewNurbsRenderer'> - <!-- GLUnurbs* --> - <return type-id='type-id-47'/> - </function-decl> - <!-- GLfloat* --> - <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-61'/> - <!-- GLint[2] --> - <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='64' id='type-id-50'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - </array-type-def> - <!-- REAL[40][4] --> - <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='5120' id='type-id-52'> - <!-- <anonymous range>[40] --> - <subrange length='40' type-id='type-id-3' id='type-id-6'/> - <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-3' id='type-id-65'/> - </array-type-def> - <!-- REAL[6400] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='204800' id='type-id-53'> - <!-- <anonymous range>[6400] --> - <subrange length='6400' type-id='type-id-3' id='type-id-66'/> - </array-type-def> - <!-- StoredVertex*[3] --> - <array-type-def dimensions='1' type-id='type-id-67' size-in-bits='192' id='type-id-49'> - <!-- <anonymous range>[3] --> - <subrange length='3' type-id='type-id-3' id='type-id-68'/> - </array-type-def> - <!-- bezierPatchMesh* --> - <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-51'/> - <!-- struct BasicSurfaceEvaluator --> - <class-decl name='BasicSurfaceEvaluator' size-in-bits='64' is-struct='yes' visibility='default' filepath='libnurbs/internals/basicsurfeval.h' line='43' column='1' id='type-id-48'> - <!-- class CachingEvaluator --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-7'/> - <member-function access='public' destructor='yes' vtable-offset='-1'> - <!-- BasicSurfaceEvaluator::~BasicSurfaceEvaluator(int) --> - <function-decl name='~BasicSurfaceEvaluator' filepath='libnurbs/internals/basicsurfeval.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='9'> - <!-- void BasicSurfaceEvaluator::range2f(long int, REAL*, REAL*) --> - <function-decl name='range2f' mangled-name='_ZN21BasicSurfaceEvaluator7range2fElPfS0_' filepath='libnurbs/internals/basicsurfeval.cc' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='10'> - <!-- void BasicSurfaceEvaluator::domain2f(REAL, REAL, REAL, REAL) --> - <function-decl name='domain2f' mangled-name='_ZN21BasicSurfaceEvaluator8domain2fEffff' filepath='libnurbs/internals/basicsurfeval.cc' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='11'> - <!-- void BasicSurfaceEvaluator::enable(long int) --> - <function-decl name='enable' mangled-name='_ZN21BasicSurfaceEvaluator6enableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='12'> - <!-- void BasicSurfaceEvaluator::disable(long int) --> - <function-decl name='disable' mangled-name='_ZN21BasicSurfaceEvaluator7disableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='13'> - <!-- void BasicSurfaceEvaluator::bgnmap2f(long int) --> - <function-decl name='bgnmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8bgnmap2fEl' filepath='libnurbs/internals/basicsurfeval.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='14'> - <!-- void BasicSurfaceEvaluator::map2f(long int, REAL, REAL, long int, long int, REAL, REAL, long int, long int, REAL*) --> - <function-decl name='map2f' mangled-name='_ZN21BasicSurfaceEvaluator5map2fElffllffllPf' filepath='libnurbs/internals/basicsurfeval.cc' line='106' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='15'> - <!-- void BasicSurfaceEvaluator::mapgrid2f(long int, REAL, REAL, long int, REAL, REAL) --> - <function-decl name='mapgrid2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapgrid2fElfflff' filepath='libnurbs/internals/basicsurfeval.cc' line='116' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='16'> - <!-- void BasicSurfaceEvaluator::mapmesh2f(long int, long int, long int, long int, long int) --> - <function-decl name='mapmesh2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapmesh2fElllll' filepath='libnurbs/internals/basicsurfeval.cc' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='17'> - <!-- void BasicSurfaceEvaluator::evalcoord2f(long int, REAL, REAL) --> - <function-decl name='evalcoord2f' mangled-name='_ZN21BasicSurfaceEvaluator11evalcoord2fElff' filepath='libnurbs/internals/basicsurfeval.cc' line='132' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='18'> - <!-- void BasicSurfaceEvaluator::evalpoint2i(long int, long int) --> - <function-decl name='evalpoint2i' mangled-name='_ZN21BasicSurfaceEvaluator11evalpoint2iEll' filepath='libnurbs/internals/basicsurfeval.cc' line='140' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='19'> - <!-- void BasicSurfaceEvaluator::endmap2f() --> - <function-decl name='endmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8endmap2fEv' filepath='libnurbs/internals/basicsurfeval.cc' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='20'> - <!-- void BasicSurfaceEvaluator::polymode(long int) --> - <function-decl name='polymode' mangled-name='_ZN21BasicSurfaceEvaluator8polymodeEl' filepath='libnurbs/internals/basicsurfeval.cc' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='21'> - <!-- void BasicSurfaceEvaluator::bgnline() --> - <function-decl name='bgnline' mangled-name='_ZN21BasicSurfaceEvaluator7bgnlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='148' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='22'> - <!-- void BasicSurfaceEvaluator::endline() --> - <function-decl name='endline' mangled-name='_ZN21BasicSurfaceEvaluator7endlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='156' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='23'> - <!-- void BasicSurfaceEvaluator::bgnclosedline() --> - <function-decl name='bgnclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13bgnclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='164' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='24'> - <!-- void BasicSurfaceEvaluator::endclosedline() --> - <function-decl name='endclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13endclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='172' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='25'> - <!-- void BasicSurfaceEvaluator::bgntmesh() --> - <function-decl name='bgntmesh' mangled-name='_ZN21BasicSurfaceEvaluator8bgntmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='194' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='26'> - <!-- void BasicSurfaceEvaluator::swaptmesh() --> - <function-decl name='swaptmesh' mangled-name='_ZN21BasicSurfaceEvaluator9swaptmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='202' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='27'> - <!-- void BasicSurfaceEvaluator::endtmesh() --> - <function-decl name='endtmesh' mangled-name='_ZN21BasicSurfaceEvaluator8endtmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='210' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='28'> - <!-- void BasicSurfaceEvaluator::bgnqstrip() --> - <function-decl name='bgnqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9bgnqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='29'> - <!-- void BasicSurfaceEvaluator::endqstrip() --> - <function-decl name='endqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9endqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='226' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='30'> - <!-- void BasicSurfaceEvaluator::bgntfan() --> - <function-decl name='bgntfan' mangled-name='_ZN21BasicSurfaceEvaluator7bgntfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='180' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='31'> - <!-- void BasicSurfaceEvaluator::endtfan() --> - <function-decl name='endtfan' mangled-name='_ZN21BasicSurfaceEvaluator7endtfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='188' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='32'> - <!-- void BasicSurfaceEvaluator::evalUStrip(int, REAL, REAL*, int, REAL, REAL*) --> - <function-decl name='evalUStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalUStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='33'> - <!-- void BasicSurfaceEvaluator::evalVStrip(int, REAL, REAL*, int, REAL, REAL*) --> - <function-decl name='evalVStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalVStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='34'> - <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE(REAL, REAL, REAL*, REAL*) --> - <function-decl name='inDoEvalCoord2NOGE' mangled-name='_ZN21BasicSurfaceEvaluator18inDoEvalCoord2NOGEEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='35'> - <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BU(REAL, REAL, REAL*, REAL*) --> - <function-decl name='inDoEvalCoord2NOGE_BU' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BUEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='36'> - <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BV(REAL, REAL, REAL*, REAL*) --> - <function-decl name='inDoEvalCoord2NOGE_BV' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BVEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='37'> - <!-- void BasicSurfaceEvaluator::inPreEvaluateBV_intfac(REAL) --> - <function-decl name='inPreEvaluateBV_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBV_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='38'> - <!-- void BasicSurfaceEvaluator::inPreEvaluateBU_intfac(REAL) --> - <function-decl name='inPreEvaluateBU_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBU_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class NurbsTessellator --> - <class-decl name='NurbsTessellator' size-in-bits='47616' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='53' column='1' id='type-id-43'> - <data-member access='protected' layout-offset-in-bits='64'> - <!-- Renderhints NurbsTessellator::renderhints --> - <var-decl name='renderhints' type-id='type-id-71' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='104' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='320'> - <!-- Maplist NurbsTessellator::maplist --> - <var-decl name='maplist' type-id='type-id-72' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='105' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='3008'> - <!-- Backend NurbsTessellator::backend --> - <var-decl name='backend' type-id='type-id-73' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='106' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='3648'> - <!-- Subdivider NurbsTessellator::subdivider --> - <var-decl name='subdivider' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='134' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='24064'> - <!-- JumpBuffer* NurbsTessellator::jumpbuffer --> - <var-decl name='jumpbuffer' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='135' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='24128'> - <!-- Pool NurbsTessellator::o_pwlcurvePool --> - <var-decl name='o_pwlcurvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='136' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='26624'> - <!-- Pool NurbsTessellator::o_nurbscurvePool --> - <var-decl name='o_nurbscurvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='137' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='29120'> - <!-- Pool NurbsTessellator::o_curvePool --> - <var-decl name='o_curvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='138' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='31616'> - <!-- Pool NurbsTessellator::o_trimPool --> - <var-decl name='o_trimPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='139' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='34112'> - <!-- Pool NurbsTessellator::o_surfacePool --> - <var-decl name='o_surfacePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='140' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='36608'> - <!-- Pool NurbsTessellator::o_nurbssurfacePool --> - <var-decl name='o_nurbssurfacePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='141' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='39104'> - <!-- Pool NurbsTessellator::propertyPool --> - <var-decl name='propertyPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='142' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='41600'> - <!-- Pool NurbsTessellator::quiltPool --> - <var-decl name='quiltPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='144' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='44096'> - <!-- TrimVertexPool NurbsTessellator::extTrimVertexPool --> - <var-decl name='extTrimVertexPool' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='146' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46720'> - <!-- int NurbsTessellator::inSurface --> - <var-decl name='inSurface' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='148' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46752'> - <!-- int NurbsTessellator::inCurve --> - <var-decl name='inCurve' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='149' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46784'> - <!-- int NurbsTessellator::inTrim --> - <var-decl name='inTrim' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='150' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46816'> - <!-- int NurbsTessellator::isCurveModified --> - <var-decl name='isCurveModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='151' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46848'> - <!-- int NurbsTessellator::isTrimModified --> - <var-decl name='isTrimModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='152' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46880'> - <!-- int NurbsTessellator::isSurfaceModified --> - <var-decl name='isSurfaceModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='153' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46912'> - <!-- int NurbsTessellator::isDataValid --> - <var-decl name='isDataValid' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='154' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46944'> - <!-- int NurbsTessellator::numTrims --> - <var-decl name='numTrims' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='155' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='46976'> - <!-- int NurbsTessellator::playBack --> - <var-decl name='playBack' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='156' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47040'> - <!-- O_trim** NurbsTessellator::nextTrim --> - <var-decl name='nextTrim' type-id='type-id-78' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='158' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47104'> - <!-- O_curve** NurbsTessellator::nextCurve --> - <var-decl name='nextCurve' type-id='type-id-79' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='159' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47168'> - <!-- O_nurbscurve** NurbsTessellator::nextNurbscurve --> - <var-decl name='nextNurbscurve' type-id='type-id-80' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='160' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47232'> - <!-- O_pwlcurve** NurbsTessellator::nextPwlcurve --> - <var-decl name='nextPwlcurve' type-id='type-id-81' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='161' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47296'> - <!-- O_nurbssurface** NurbsTessellator::nextNurbssurface --> - <var-decl name='nextNurbssurface' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='162' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47360'> - <!-- O_surface* NurbsTessellator::currentSurface --> - <var-decl name='currentSurface' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='164' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47424'> - <!-- O_trim* NurbsTessellator::currentTrim --> - <var-decl name='currentTrim' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='165' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47488'> - <!-- O_curve* NurbsTessellator::currentCurve --> - <var-decl name='currentCurve' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='166' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='47552'> - <!-- DisplayList* NurbsTessellator::dl --> - <var-decl name='dl' type-id='type-id-86' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='168' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- NurbsTessellator::NurbsTessellator(BasicCurveEvaluator&, BasicSurfaceEvaluator&) --> - <function-decl name='NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> - <!-- parameter of type 'BasicCurveEvaluator&' --> - <parameter type-id='type-id-88'/> - <!-- parameter of type 'BasicSurfaceEvaluator&' --> - <parameter type-id='type-id-89'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes' vtable-offset='-1'> - <!-- NurbsTessellator::~NurbsTessellator(int) --> - <function-decl name='~NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='2'> - <!-- void NurbsTessellator::bgnrender() --> - <function-decl name='bgnrender' mangled-name='_ZN16NurbsTessellator9bgnrenderEv' filepath='libnurbs/internals/nurbstess.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='3'> - <!-- void NurbsTessellator::endrender() --> - <function-decl name='endrender' mangled-name='_ZN16NurbsTessellator9endrenderEv' filepath='libnurbs/internals/nurbstess.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='4'> - <!-- void NurbsTessellator::makeobj(int) --> - <function-decl name='makeobj' mangled-name='_ZN16NurbsTessellator7makeobjEi' filepath='libnurbs/internals/nurbstess.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='5'> - <!-- void NurbsTessellator::closeobj() --> - <function-decl name='closeobj' mangled-name='_ZN16NurbsTessellator8closeobjEv' filepath='libnurbs/internals/nurbstess.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='6'> - <!-- void NurbsTessellator::errorHandler(int) --> - <function-decl name='errorHandler' mangled-name='_ZN16NurbsTessellator12errorHandlerEi' filepath='libnurbs/internals/nurbstess.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- const GLint* --> - <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/> - <!-- typedef unsigned char GLboolean --> - <typedef-decl name='GLboolean' type-id='type-id-91' filepath='../../../include/GL/gl.h' line='150' column='1' id='type-id-45'/> - <!-- typedef unsigned int GLenum --> - <typedef-decl name='GLenum' type-id='type-id-92' filepath='../../../include/GL/gl.h' line='149' column='1' id='type-id-59'/> - <!-- typedef int GLint --> - <typedef-decl name='GLint' type-id='type-id-11' filepath='../../../include/GL/gl.h' line='155' column='1' id='type-id-63'/> - <!-- typedef void ()* _GLUfuncptr --> - <typedef-decl name='_GLUfuncptr' type-id='type-id-20' filepath='../../../include/GL/glu.h' line='287' column='1' id='type-id-60'/> - <!-- typedef void (typedef GLenum)* errorCallbackType --> - <typedef-decl name='errorCallbackType' type-id='type-id-19' filepath='libnurbs/interface/glrenderer.h' line='46' column='1' id='type-id-44'/> - <!-- typedef surfEvalMachine surfEvalMachine --> - <typedef-decl name='surfEvalMachine' type-id='type-id-93' filepath='libnurbs/interface/glsurfeval.h' line='80' column='1' id='type-id-54'/> - <!-- BasicCurveEvaluator& --> - <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-88'/> - <!-- BasicSurfaceEvaluator& --> - <reference-type-def kind='lvalue' type-id='type-id-48' size-in-bits='64' id='type-id-89'/> - <!-- BasicSurfaceEvaluator* --> - <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-70'/> - <!-- DisplayList* --> - <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-86'/> - <!-- JumpBuffer* --> - <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-75'/> - <!-- NurbsTessellator* --> - <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-87'/> - <!-- O_curve* --> - <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-85'/> - <!-- O_curve** --> - <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-79'/> - <!-- O_nurbscurve** --> - <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-80'/> - <!-- O_nurbssurface** --> - <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-82'/> - <!-- O_pwlcurve** --> - <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-81'/> - <!-- O_surface* --> - <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-83'/> - <!-- O_trim* --> - <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-84'/> - <!-- O_trim** --> - <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-78'/> - <!-- StoredVertex* --> - <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-67'/> - <!-- struct Backend --> - <class-decl name='Backend' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/backend.h' line='46' column='1' id='type-id-73'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- BasicCurveEvaluator& Backend::curveEvaluator --> - <var-decl name='curveEvaluator' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/backend.h' line='48' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- BasicSurfaceEvaluator& Backend::surfaceEvaluator --> - <var-decl name='surfaceEvaluator' type-id='type-id-104' visibility='default' filepath='libnurbs/internals/backend.h' line='49' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- int Backend::wireframetris --> - <var-decl name='wireframetris' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='105' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='160'> - <!-- int Backend::wireframequads --> - <var-decl name='wireframequads' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='106' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='192'> - <!-- int Backend::npts --> - <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='107' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='224'> - <!-- REAL Backend::mesh[3][4] --> - <var-decl name='mesh' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/backend.h' line='108' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='608'> - <!-- int Backend::meshindex --> - <var-decl name='meshindex' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='109' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Backend::Backend(BasicCurveEvaluator&, BasicSurfaceEvaluator&) --> - <function-decl name='Backend' filepath='libnurbs/internals/backend.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Backend*' --> - <parameter type-id='type-id-106' is-artificial='yes'/> - <!-- parameter of type 'BasicCurveEvaluator&' --> - <parameter type-id='type-id-88'/> - <!-- parameter of type 'BasicSurfaceEvaluator&' --> - <parameter type-id='type-id-89'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Maplist --> - <class-decl name='Maplist' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/maplist.h' line='46' column='1' id='type-id-72'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Pool Maplist::mapdescPool --> - <var-decl name='mapdescPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/maplist.h' line='58' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2496'> - <!-- Mapdesc* Maplist::maps --> - <var-decl name='maps' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/maplist.h' line='59' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2560'> - <!-- Mapdesc** Maplist::lastmap --> - <var-decl name='lastmap' type-id='type-id-108' visibility='default' filepath='libnurbs/internals/maplist.h' line='60' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2624'> - <!-- Backend& Maplist::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/maplist.h' line='61' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Maplist::Maplist(Backend&) --> - <function-decl name='Maplist' filepath='libnurbs/internals/maplist.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Maplist*' --> - <parameter type-id='type-id-110' is-artificial='yes'/> - <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Pool --> - <class-decl name='Pool' size-in-bits='2496' visibility='default' filepath='libnurbs/internals/bufpool.h' line='50' column='1' id='type-id-76'> - <member-type access='protected'> - <!-- enum Pool::Magic --> - <enum-decl name='Magic' filepath='libnurbs/internals/bufpool.h' line='70' column='1' id='type-id-112'> - <underlying-type type-id='type-id-9'/> - <enumerator name='is_allocated' value='62369'/> - <enumerator name='is_free' value='61858'/> - </enum-decl> - </member-type> - <data-member access='protected' layout-offset-in-bits='0'> - <!-- Buffer* Pool::freelist --> - <var-decl name='freelist' type-id='type-id-113' visibility='default' filepath='libnurbs/internals/bufpool.h' line='62' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='64'> - <!-- char* Pool::blocklist[32] --> - <var-decl name='blocklist' type-id='type-id-114' visibility='default' filepath='libnurbs/internals/bufpool.h' line='63' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2112'> - <!-- int Pool::nextblock --> - <var-decl name='nextblock' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='64' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2176'> - <!-- char* Pool::curblock --> - <var-decl name='curblock' type-id='type-id-115' visibility='default' filepath='libnurbs/internals/bufpool.h' line='65' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2240'> - <!-- int Pool::buffersize --> - <var-decl name='buffersize' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='66' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2272'> - <!-- int Pool::nextsize --> - <var-decl name='nextsize' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='67' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2304'> - <!-- int Pool::nextfree --> - <var-decl name='nextfree' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='68' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2336'> - <!-- int Pool::initsize --> - <var-decl name='initsize' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='69' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2368'> - <!-- const char* Pool::name --> - <var-decl name='name' type-id='type-id-116' visibility='default' filepath='libnurbs/internals/bufpool.h' line='71' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2432'> - <!-- Pool::Magic Pool::magic --> - <var-decl name='magic' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/bufpool.h' line='72' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Pool::Pool(int, int, const char*) --> - <function-decl name='Pool' filepath='libnurbs/internals/bufpool.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Pool*' --> - <parameter type-id='type-id-117' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-116'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Pool::~Pool(int) --> - <function-decl name='~Pool' filepath='libnurbs/internals/bufpool.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Pool*' --> - <parameter type-id='type-id-117' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct Renderhints --> - <class-decl name='Renderhints' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/renderhints.h' line='41' column='1' id='type-id-71'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- REAL Renderhints::display_method --> - <var-decl name='display_method' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='49' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- REAL Renderhints::errorchecking --> - <var-decl name='errorchecking' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- REAL Renderhints::subdivisions --> - <var-decl name='subdivisions' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='51' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- REAL Renderhints::tmp1 --> - <var-decl name='tmp1' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='52' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int Renderhints::displaydomain --> - <var-decl name='displaydomain' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='54' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int Renderhints::maxsubdivisions --> - <var-decl name='maxsubdivisions' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- int Renderhints::wiretris --> - <var-decl name='wiretris' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='56' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- int Renderhints::wirequads --> - <var-decl name='wirequads' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='57' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Renderhints::Renderhints() --> - <function-decl name='Renderhints' filepath='libnurbs/internals/renderhints.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Renderhints*' --> - <parameter type-id='type-id-118' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Subdivider --> - <class-decl name='Subdivider' size-in-bits='20416' visibility='default' filepath='libnurbs/internals/subdivider.h' line='55' column='1' id='type-id-74'> - <member-type access='private'> - <!-- enum Subdivider::dir --> - <enum-decl name='dir' filepath='libnurbs/internals/subdivider.h' line='105' column='1' id='type-id-119'> - <underlying-type type-id='type-id-9'/> - <enumerator name='down' value='0'/> - <enumerator name='same' value='1'/> - <enumerator name='up' value='2'/> - <enumerator name='none' value='3'/> - </enum-decl> - </member-type> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Slicer Subdivider::slicer --> - <var-decl name='slicer' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/subdivider.h' line='112' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='8064'> - <!-- ArcTessellator Subdivider::arctessellator --> - <var-decl name='arctessellator' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='113' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='8192'> - <!-- Pool Subdivider::arcpool --> - <var-decl name='arcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='114' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='10688'> - <!-- Pool Subdivider::bezierarcpool --> - <var-decl name='bezierarcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='115' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='13184'> - <!-- Pool Subdivider::pwlarcpool --> - <var-decl name='pwlarcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='116' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='15680'> - <!-- TrimVertexPool Subdivider::trimvertexpool --> - <var-decl name='trimvertexpool' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/subdivider.h' line='117' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18304'> - <!-- JumpBuffer* Subdivider::jumpbuffer --> - <var-decl name='jumpbuffer' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='119' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18368'> - <!-- Renderhints& Subdivider::renderhints --> - <var-decl name='renderhints' type-id='type-id-122' visibility='default' filepath='libnurbs/internals/subdivider.h' line='120' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18432'> - <!-- Backend& Subdivider::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/subdivider.h' line='121' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18496'> - <!-- Bin Subdivider::initialbin --> - <var-decl name='initialbin' type-id='type-id-123' visibility='default' filepath='libnurbs/internals/subdivider.h' line='123' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18624'> - <!-- Arc_ptr Subdivider::pjarc --> - <var-decl name='pjarc' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/subdivider.h' line='124' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18688'> - <!-- int Subdivider::s_index --> - <var-decl name='s_index' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='125' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18720'> - <!-- int Subdivider::t_index --> - <var-decl name='t_index' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='126' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18752'> - <!-- Quilt* Subdivider::qlist --> - <var-decl name='qlist' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/subdivider.h' line='127' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='18816'> - <!-- Flist Subdivider::spbrkpts --> - <var-decl name='spbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='128' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='19136'> - <!-- Flist Subdivider::tpbrkpts --> - <var-decl name='tpbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='129' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='19456'> - <!-- Flist Subdivider::smbrkpts --> - <var-decl name='smbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='130' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='19776'> - <!-- Flist Subdivider::tmbrkpts --> - <var-decl name='tmbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='131' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='20096'> - <!-- REAL Subdivider::stepsizes[4] --> - <var-decl name='stepsizes' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/subdivider.h' line='132' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='20224'> - <!-- int Subdivider::showDegenerate --> - <var-decl name='showDegenerate' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='133' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='20256'> - <!-- int Subdivider::isArcTypeBezier --> - <var-decl name='isArcTypeBezier' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='134' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='20288'> - <!-- REAL Subdivider::domain_distance_u_rate --> - <var-decl name='domain_distance_u_rate' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/subdivider.h' line='188' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='20320'> - <!-- REAL Subdivider::domain_distance_v_rate --> - <var-decl name='domain_distance_v_rate' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/subdivider.h' line='189' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='20352'> - <!-- int Subdivider::is_domain_distance_sampling --> - <var-decl name='is_domain_distance_sampling' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='190' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Subdivider::Subdivider(Renderhints&, Backend&) --> - <function-decl name='Subdivider' filepath='libnurbs/internals/subdivider.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Subdivider*' --> - <parameter type-id='type-id-128' is-artificial='yes'/> - <!-- parameter of type 'Renderhints&' --> - <parameter type-id='type-id-129'/> - <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Subdivider::~Subdivider(int) --> - <function-decl name='~Subdivider' filepath='libnurbs/internals/subdivider.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Subdivider*' --> - <parameter type-id='type-id-128' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct TrimVertexPool --> - <class-decl name='TrimVertexPool' size-in-bits='2624' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='45' column='1' id='type-id-77'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Pool TrimVertexPool::pool --> - <var-decl name='pool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='52' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2496'> - <!-- TrimVertex** TrimVertexPool::vlist --> - <var-decl name='vlist' type-id='type-id-130' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='53' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2560'> - <!-- int TrimVertexPool::nextvlistslot --> - <var-decl name='nextvlistslot' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='54' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2592'> - <!-- int TrimVertexPool::vlistsize --> - <var-decl name='vlistsize' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='55' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- TrimVertexPool::TrimVertexPool() --> - <function-decl name='TrimVertexPool' filepath='libnurbs/internals/trimvertpool.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'TrimVertexPool*' --> - <parameter type-id='type-id-131' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' destructor='yes'> - <!-- TrimVertexPool::~TrimVertexPool(int) --> - <function-decl name='~TrimVertexPool' filepath='libnurbs/internals/trimvertpool.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'TrimVertexPool*' --> - <parameter type-id='type-id-131' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct bezierPatchMesh --> - <class-decl name='bezierPatchMesh' size-in-bits='960' is-struct='yes' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='39' column='1' id='type-id-69'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- bezierPatch* bezierPatchMesh::bpatch --> - <var-decl name='bpatch' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='40' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- bezierPatch* bezierPatchMesh::bpatch_normal --> - <var-decl name='bpatch_normal' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='41' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- bezierPatch* bezierPatchMesh::bpatch_texcoord --> - <var-decl name='bpatch_texcoord' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='42' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- bezierPatch* bezierPatchMesh::bpatch_color --> - <var-decl name='bpatch_color' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='43' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- float* bezierPatchMesh::UVarray --> - <var-decl name='UVarray' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='45' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- int* bezierPatchMesh::length_array --> - <var-decl name='length_array' type-id='type-id-133' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='46' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- GLenum* bezierPatchMesh::type_array --> - <var-decl name='type_array' type-id='type-id-134' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='47' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='448'> - <!-- int bezierPatchMesh::size_UVarray --> - <var-decl name='size_UVarray' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='480'> - <!-- int bezierPatchMesh::index_UVarray --> - <var-decl name='index_UVarray' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='51' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='512'> - <!-- int bezierPatchMesh::size_length_array --> - <var-decl name='size_length_array' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='52' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='544'> - <!-- int bezierPatchMesh::index_length_array --> - <var-decl name='index_length_array' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='53' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='576'> - <!-- int bezierPatchMesh::counter --> - <var-decl name='counter' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='608'> - <!-- GLenum bezierPatchMesh::type --> - <var-decl name='type' type-id='type-id-59' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='56' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='640'> - <!-- float* bezierPatchMesh::vertex_array --> - <var-decl name='vertex_array' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='59' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='704'> - <!-- float* bezierPatchMesh::normal_array --> - <var-decl name='normal_array' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='60' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='768'> - <!-- float* bezierPatchMesh::color_array --> - <var-decl name='color_array' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='61' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='832'> - <!-- float* bezierPatchMesh::texcoord_array --> - <var-decl name='texcoord_array' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='62' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='896'> - <!-- bezierPatchMesh* bezierPatchMesh::next --> - <var-decl name='next' type-id='type-id-51' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='65' column='1'/> - </data-member> - </class-decl> - <!-- struct surfEvalMachine --> - <class-decl name='surfEvalMachine' size-in-bits='210272' is-struct='yes' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='63' column='1' id='type-id-93'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- REAL surfEvalMachine::uprime --> - <var-decl name='uprime' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='64' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- REAL surfEvalMachine::vprime --> - <var-decl name='vprime' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='65' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- int surfEvalMachine::k --> - <var-decl name='k' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='66' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- REAL surfEvalMachine::u1 --> - <var-decl name='u1' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='67' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- REAL surfEvalMachine::u2 --> - <var-decl name='u2' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='68' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int surfEvalMachine::ustride --> - <var-decl name='ustride' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='69' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- int surfEvalMachine::uorder --> - <var-decl name='uorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='70' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- REAL surfEvalMachine::v1 --> - <var-decl name='v1' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='71' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- REAL surfEvalMachine::v2 --> - <var-decl name='v2' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='72' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='288'> - <!-- int surfEvalMachine::vstride --> - <var-decl name='vstride' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='73' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- int surfEvalMachine::vorder --> - <var-decl name='vorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='74' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='352'> - <!-- REAL surfEvalMachine::ctlPoints[6400] --> - <var-decl name='ctlPoints' type-id='type-id-53' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='75' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='205152'> - <!-- REAL surfEvalMachine::ucoeff[40] --> - <var-decl name='ucoeff' type-id='type-id-5' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='76' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='206432'> - <!-- REAL surfEvalMachine::vcoeff[40] --> - <var-decl name='vcoeff' type-id='type-id-5' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='77' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='207712'> - <!-- REAL surfEvalMachine::ucoeffDeriv[40] --> - <var-decl name='ucoeffDeriv' type-id='type-id-5' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='78' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='208992'> - <!-- REAL surfEvalMachine::vcoeffDeriv[40] --> - <var-decl name='vcoeffDeriv' type-id='type-id-5' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='79' column='1'/> - </data-member> - </class-decl> - <!-- const GLint --> - <qualified-type-def type-id='type-id-63' const='yes' id='type-id-90'/> - <!-- unsigned char --> - <type-decl name='unsigned char' size-in-bits='8' id='type-id-91'/> - <!-- unsigned int --> - <type-decl name='unsigned int' size-in-bits='32' id='type-id-92'/> - <!-- Backend& --> - <qualified-type-def type-id='type-id-111' id='type-id-109'/> - <!-- Backend& --> - <reference-type-def kind='lvalue' type-id='type-id-73' size-in-bits='64' id='type-id-111'/> - <!-- Backend* --> - <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-106'/> - <!-- BasicCurveEvaluator& --> - <qualified-type-def type-id='type-id-88' id='type-id-103'/> - <!-- BasicSurfaceEvaluator& --> - <qualified-type-def type-id='type-id-89' id='type-id-104'/> - <!-- Buffer* --> - <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-113'/> - <!-- GLenum* --> - <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-134'/> - <!-- Mapdesc* --> - <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-107'/> - <!-- Mapdesc** --> - <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/> - <!-- Maplist* --> - <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-110'/> - <!-- O_nurbscurve* --> - <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-97'/> - <!-- O_nurbssurface* --> - <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-98'/> - <!-- O_pwlcurve* --> - <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-99'/> - <!-- Pool* --> - <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-117'/> - <!-- Quilt* --> - <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-125'/> - <!-- REAL[3][4] --> - <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='384' id='type-id-105'> - <!-- <anonymous range>[3] --> - <subrange length='3' type-id='type-id-3' id='type-id-68'/> - <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-3' id='type-id-65'/> - </array-type-def> - <!-- REAL[4] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-127'> - <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-3' id='type-id-65'/> - </array-type-def> - <!-- Renderhints& --> - <qualified-type-def type-id='type-id-129' id='type-id-122'/> - <!-- Renderhints& --> - <reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-129'/> - <!-- Renderhints* --> - <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-118'/> - <!-- Subdivider* --> - <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-128'/> - <!-- TrimVertex** --> - <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-130'/> - <!-- TrimVertexPool* --> - <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-131'/> - <!-- bezierPatch* --> - <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-132'/> - <!-- char* --> - <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-115'/> - <!-- char*[32] --> - <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='2048' id='type-id-114'> - <!-- <anonymous range>[32] --> - <subrange length='32' type-id='type-id-3' id='type-id-144'/> - </array-type-def> - <!-- class ArcTessellator --> - <class-decl name='ArcTessellator' size-in-bits='128' visibility='default' filepath='libnurbs/internals/arctess.h' line='47' column='1' id='type-id-121'> - <data-member access='private' static='yes'> - <!-- static REAL ArcTessellator::gl_Bernstein[][24][24] --> - <var-decl name='gl_Bernstein' type-id='type-id-145' mangled-name='_ZN14ArcTessellator12gl_BernsteinE' visibility='default' filepath='libnurbs/internals/arctess.h' line='60' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Pool& ArcTessellator::pwlarcpool --> - <var-decl name='pwlarcpool' type-id='type-id-146' visibility='default' filepath='libnurbs/internals/arctess.h' line='61' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- TrimVertexPool& ArcTessellator::trimvertexpool --> - <var-decl name='trimvertexpool' type-id='type-id-147' visibility='default' filepath='libnurbs/internals/arctess.h' line='62' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- ArcTessellator::ArcTessellator(TrimVertexPool&, Pool&) --> - <function-decl name='ArcTessellator' filepath='libnurbs/internals/arctess.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'ArcTessellator*' --> - <parameter type-id='type-id-148' is-artificial='yes'/> - <!-- parameter of type 'TrimVertexPool&' --> - <parameter type-id='type-id-149'/> - <!-- parameter of type 'Pool&' --> - <parameter type-id='type-id-150'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- ArcTessellator::~ArcTessellator(int) --> - <function-decl name='~ArcTessellator' filepath='libnurbs/internals/arctess.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'ArcTessellator*' --> - <parameter type-id='type-id-148' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Bin --> - <class-decl name='Bin' size-in-bits='128' visibility='default' filepath='libnurbs/internals/bin.h' line='44' column='1' id='type-id-123'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Arc_ptr Bin::head --> - <var-decl name='head' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/bin.h' line='46' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Arc_ptr Bin::current --> - <var-decl name='current' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/bin.h' line='47' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Bin::Bin() --> - <function-decl name='Bin' filepath='libnurbs/internals/bin.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Bin*' --> - <parameter type-id='type-id-151' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Bin::~Bin(int) --> - <function-decl name='~Bin' filepath='libnurbs/internals/bin.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Bin*' --> - <parameter type-id='type-id-151' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class DisplayList --> - <class-decl name='DisplayList' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/displaylist.h' line='65' column='1' id='type-id-94'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Dlnode* DisplayList::nodes --> - <var-decl name='nodes' type-id='type-id-152' visibility='default' filepath='libnurbs/internals/displaylist.h' line='73' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Pool DisplayList::dlnodePool --> - <var-decl name='dlnodePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/displaylist.h' line='74' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2560'> - <!-- Dlnode** DisplayList::lastNode --> - <var-decl name='lastNode' type-id='type-id-153' visibility='default' filepath='libnurbs/internals/displaylist.h' line='75' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2624'> - <!-- NurbsTessellator* DisplayList::nt --> - <var-decl name='nt' type-id='type-id-87' visibility='default' filepath='libnurbs/internals/displaylist.h' line='76' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- DisplayList::DisplayList(NurbsTessellator*) --> - <function-decl name='DisplayList' filepath='libnurbs/internals/displaylist.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'DisplayList*' --> - <parameter type-id='type-id-86' is-artificial='yes'/> - <!-- parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- DisplayList::~DisplayList(int) --> - <function-decl name='~DisplayList' filepath='libnurbs/internals/displaylist.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'DisplayList*' --> - <parameter type-id='type-id-86' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Flist --> - <class-decl name='Flist' size-in-bits='320' visibility='default' filepath='libnurbs/internals/flist.h' line='42' column='1' id='type-id-126'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- REAL* Flist::pts --> - <var-decl name='pts' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/flist.h' line='44' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- int Flist::npts --> - <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='45' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='96'> - <!-- int Flist::start --> - <var-decl name='start' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='46' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- int Flist::end --> - <var-decl name='end' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='47' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='192'> - <!-- FlistSorter Flist::sorter --> - <var-decl name='sorter' type-id='type-id-154' visibility='default' filepath='libnurbs/internals/flist.h' line='56' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Flist::Flist() --> - <function-decl name='Flist' filepath='libnurbs/internals/flist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Flist*' --> - <parameter type-id='type-id-155' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Flist::~Flist(int) --> - <function-decl name='~Flist' filepath='libnurbs/internals/flist.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Flist*' --> - <parameter type-id='type-id-155' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct JumpBuffer --> - <class-decl name='JumpBuffer' size-in-bits='1600' is-struct='yes' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='56' column='1' id='type-id-95'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- jmp_buf JumpBuffer::buf --> - <var-decl name='buf' type-id='type-id-156' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='57' column='1'/> - </data-member> - </class-decl> - <!-- struct O_curve --> - <class-decl name='O_curve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='55' column='1' id='type-id-96'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <member-type access='public'> - <!-- union {O_nurbscurve* o_nurbscurve; O_pwlcurve* o_pwlcurve;} --> - <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='56' column='1' id='type-id-158'> - <data-member access='public'> - <!-- O_nurbscurve* o_nurbscurve --> - <var-decl name='o_nurbscurve' type-id='type-id-97' visibility='default' filepath='libnurbs/internals/reader.h' line='57' column='1'/> - </data-member> - <data-member access='public'> - <!-- O_pwlcurve* o_pwlcurve --> - <var-decl name='o_pwlcurve' type-id='type-id-99' visibility='default' filepath='libnurbs/internals/reader.h' line='58' column='1'/> - </data-member> - </union-decl> - </member-type> - <data-member access='public' layout-offset-in-bits='0'> - <!-- union {O_nurbscurve* o_nurbscurve; O_pwlcurve* o_pwlcurve;} O_curve::curve --> - <var-decl name='curve' type-id='type-id-158' visibility='default' filepath='libnurbs/internals/reader.h' line='59' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- Curvetype O_curve::curvetype --> - <var-decl name='curvetype' type-id='type-id-159' visibility='default' filepath='libnurbs/internals/reader.h' line='60' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- O_curve* O_curve::next --> - <var-decl name='next' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='61' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- O_surface* O_curve::owner --> - <var-decl name='owner' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='62' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int O_curve::used --> - <var-decl name='used' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='63' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='288'> - <!-- int O_curve::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='64' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- long int O_curve::nuid --> - <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='65' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_curve::O_curve() --> - <function-decl name='O_curve' filepath='libnurbs/internals/reader.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_curve*' --> - <parameter type-id='type-id-85' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct O_surface --> - <class-decl name='O_surface' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='112' column='1' id='type-id-100'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- O_nurbssurface* O_surface::o_nurbssurface --> - <var-decl name='o_nurbssurface' type-id='type-id-98' visibility='default' filepath='libnurbs/internals/reader.h' line='113' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- O_trim* O_surface::o_trim --> - <var-decl name='o_trim' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='114' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int O_surface::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='115' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- long int O_surface::nuid --> - <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='116' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_surface::O_surface() --> - <function-decl name='O_surface' filepath='libnurbs/internals/reader.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_surface*' --> - <parameter type-id='type-id-83' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct O_trim --> - <class-decl name='O_trim' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='94' column='1' id='type-id-101'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- O_curve* O_trim::o_curve --> - <var-decl name='o_curve' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='95' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- O_trim* O_trim::next --> - <var-decl name='next' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='96' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int O_trim::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='97' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_trim::O_trim() --> - <function-decl name='O_trim' filepath='libnurbs/internals/reader.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_trim*' --> - <parameter type-id='type-id-84' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Slicer --> - <class-decl name='Slicer' size-in-bits='8064' visibility='default' filepath='libnurbs/internals/slicer.h' line='49' column='1' id='type-id-120'> - <!-- class CoveAndTiler --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-160'/> - <!-- class Mesher --> - <base-class access='public' layout-offset-in-bits='128' type-id='type-id-161'/> - <data-member access='private' layout-offset-in-bits='5248'> - <!-- Backend& Slicer::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/slicer.h' line='72' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='5312'> - <!-- REAL Slicer::oneOverDu --> - <var-decl name='oneOverDu' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='73' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='5344'> - <!-- REAL Slicer::du --> - <var-decl name='du' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='74' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='5376'> - <!-- REAL Slicer::dv --> - <var-decl name='dv' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='74' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='5408'> - <!-- int Slicer::isolines --> - <var-decl name='isolines' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='75' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='5440'> - <!-- int Slicer::ulinear --> - <var-decl name='ulinear' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='81' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='5472'> - <!-- int Slicer::vlinear --> - <var-decl name='vlinear' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='82' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Slicer::Slicer(int, void**, Backend&) --> - <function-decl name='Slicer' filepath='libnurbs/internals/slicer.cc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Slicer*' --> - <parameter type-id='type-id-162' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Slicer::~Slicer(int, void**) --> - <function-decl name='~Slicer' filepath='libnurbs/internals/slicer.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Slicer*' --> - <parameter type-id='type-id-162' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class StoredVertex --> - <class-decl name='StoredVertex' size-in-bits='256' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='84' column='1' id='type-id-102'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- int StoredVertex::type --> - <var-decl name='type' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='95' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='32'> - <!-- REAL StoredVertex::coord[2] --> - <var-decl name='coord' type-id='type-id-164' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='96' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- long int StoredVertex::point[2] --> - <var-decl name='point' type-id='type-id-165' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='97' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- StoredVertex::StoredVertex() --> - <function-decl name='StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'StoredVertex*' --> - <parameter type-id='type-id-67' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- StoredVertex::~StoredVertex(int) --> - <function-decl name='~StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'StoredVertex*' --> - <parameter type-id='type-id-67' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- const char* --> - <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-116'/> - <!-- int* --> - <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-133'/> - <!-- typedef Arc* Arc_ptr --> - <typedef-decl name='Arc_ptr' type-id='type-id-167' filepath='libnurbs/internals/arc.h' line='50' column='1' id='type-id-124'/> - <!-- Arc* --> - <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-167'/> - <!-- ArcTessellator* --> - <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-148'/> - <!-- Bin* --> - <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-151'/> - <!-- Dlnode* --> - <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-152'/> - <!-- Dlnode** --> - <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/> - <!-- Flist* --> - <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-155'/> - <!-- Pool& --> - <qualified-type-def type-id='type-id-150' id='type-id-146'/> - <!-- Pool& --> - <reference-type-def kind='lvalue' type-id='type-id-76' size-in-bits='64' id='type-id-150'/> - <!-- REAL[2] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-164'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - </array-type-def> - <!-- REAL[][24][24] --> - <array-type-def dimensions='3' type-id='type-id-1' size-in-bits='infinite' id='type-id-145'> - <!-- <anonymous range>[] --> - <subrange length='infinite' id='type-id-170'/> - <!-- <anonymous range>[24] --> - <subrange length='24' type-id='type-id-3' id='type-id-171'/> - <!-- <anonymous range>[24] --> - <subrange length='24' type-id='type-id-3' id='type-id-171'/> - </array-type-def> - <!-- Slicer* --> - <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-162'/> - <!-- TrimVertex* --> - <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-141'/> - <!-- TrimVertexPool& --> - <qualified-type-def type-id='type-id-149' id='type-id-147'/> - <!-- TrimVertexPool& --> - <reference-type-def kind='lvalue' type-id='type-id-77' size-in-bits='64' id='type-id-149'/> - <!-- char --> - <type-decl name='char' size-in-bits='8' id='type-id-143'/> - <!-- class Buffer --> - <class-decl name='Buffer' size-in-bits='64' visibility='default' filepath='libnurbs/internals/bufpool.h' line='45' column='1' id='type-id-135'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Buffer* Buffer::next --> - <var-decl name='next' type-id='type-id-113' visibility='default' filepath='libnurbs/internals/bufpool.h' line='47' column='1'/> - </data-member> - </class-decl> - <!-- class CoveAndTiler --> - <class-decl name='CoveAndTiler' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='46' column='1' id='type-id-160'> - <!-- class TrimRegion --> - <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Backend& CoveAndTiler::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='52' column='1'/> - </data-member> - <data-member access='private' static='yes'> - <!-- static const int CoveAndTiler::MAXSTRIPSIZE --> - <var-decl name='MAXSTRIPSIZE' type-id='type-id-174' mangled-name='_ZN12CoveAndTiler12MAXSTRIPSIZEE' visibility='default' filepath='libnurbs/internals/coveandtiler.cc' line='50' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- CoveAndTiler::CoveAndTiler(int, void**, Backend&) --> - <function-decl name='CoveAndTiler' filepath='libnurbs/internals/coveandtiler.cc' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CoveAndTiler*' --> - <parameter type-id='type-id-175' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- CoveAndTiler::~CoveAndTiler(int, void**) --> - <function-decl name='~CoveAndTiler' filepath='libnurbs/internals/coveandtiler.cc' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CoveAndTiler*' --> - <parameter type-id='type-id-175' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class FlistSorter --> - <class-decl name='FlistSorter' size-in-bits='128' visibility='default' filepath='libnurbs/internals/flistsorter.h' line='42' column='1' id='type-id-154'> - <!-- class Sorter --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-176'/> - <member-function access='private' constructor='yes'> - <!-- FlistSorter::FlistSorter() --> - <function-decl name='FlistSorter' filepath='libnurbs/internals/flistsorter.cc' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes' vtable-offset='-1'> - <!-- FlistSorter::~FlistSorter(int) --> - <function-decl name='~FlistSorter' filepath='libnurbs/internals/flistsorter.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='2'> - <!-- int FlistSorter::qscmp(char*, char*) --> - <function-decl name='qscmp' mangled-name='_ZN11FlistSorter5qscmpEPcS0_' filepath='libnurbs/internals/flistsorter.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='3'> - <!-- void FlistSorter::qsexc(char*, char*) --> - <function-decl name='qsexc' mangled-name='_ZN11FlistSorter5qsexcEPcS0_' filepath='libnurbs/internals/flistsorter.cc' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='4'> - <!-- void FlistSorter::qstexc(char*, char*, char*) --> - <function-decl name='qstexc' mangled-name='_ZN11FlistSorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/flistsorter.cc' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct Mapdesc --> - <class-decl name='Mapdesc' size-in-bits='3392' is-struct='yes' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='49' column='1' id='type-id-136'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- REAL Mapdesc::pixel_tolerance --> - <var-decl name='pixel_tolerance' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='104' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- REAL Mapdesc::error_tolerance --> - <var-decl name='error_tolerance' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='105' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- REAL Mapdesc::object_space_error_tolerance --> - <var-decl name='object_space_error_tolerance' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='106' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- REAL Mapdesc::clampfactor --> - <var-decl name='clampfactor' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='107' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- REAL Mapdesc::minsavings --> - <var-decl name='minsavings' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='108' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- REAL Mapdesc::maxrate --> - <var-decl name='maxrate' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='109' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- REAL Mapdesc::maxsrate --> - <var-decl name='maxsrate' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='110' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- REAL Mapdesc::maxtrate --> - <var-decl name='maxtrate' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='111' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- REAL Mapdesc::bboxsize[5] --> - <var-decl name='bboxsize' type-id='type-id-178' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='112' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='448'> - <!-- long int Mapdesc::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='115' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='512'> - <!-- int Mapdesc::isrational --> - <var-decl name='isrational' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='116' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='544'> - <!-- int Mapdesc::ncoords --> - <var-decl name='ncoords' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='117' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='576'> - <!-- int Mapdesc::hcoords --> - <var-decl name='hcoords' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='118' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='608'> - <!-- int Mapdesc::inhcoords --> - <var-decl name='inhcoords' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='119' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='640'> - <!-- int Mapdesc::mask --> - <var-decl name='mask' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='120' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='672'> - <!-- Maxmatrix Mapdesc::bmat --> - <var-decl name='bmat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='121' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='1472'> - <!-- Maxmatrix Mapdesc::cmat --> - <var-decl name='cmat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='122' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2272'> - <!-- Maxmatrix Mapdesc::smat --> - <var-decl name='smat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='123' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='3072'> - <!-- REAL Mapdesc::s_steps --> - <var-decl name='s_steps' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='124' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='3104'> - <!-- REAL Mapdesc::t_steps --> - <var-decl name='t_steps' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='125' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='3136'> - <!-- REAL Mapdesc::sampling_method --> - <var-decl name='sampling_method' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='126' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='3168'> - <!-- REAL Mapdesc::culling_method --> - <var-decl name='culling_method' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='127' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='3200'> - <!-- REAL Mapdesc::bbox_subdividing --> - <var-decl name='bbox_subdividing' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='128' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='3264'> - <!-- Mapdesc* Mapdesc::next --> - <var-decl name='next' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='129' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='3328'> - <!-- Backend& Mapdesc::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='130' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Mapdesc::Mapdesc(long int, int, int, Backend&) --> - <function-decl name='Mapdesc' filepath='libnurbs/internals/mapdesc.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Mapdesc*' --> - <parameter type-id='type-id-107' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Mesher --> - <class-decl name='Mesher' size-in-bits='7680' visibility='default' filepath='libnurbs/internals/mesher.h' line='47' column='1' id='type-id-161'> - <!-- class TrimRegion --> - <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/> - <!-- class Hull --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-180'/> - <data-member access='private' static='yes'> - <!-- static const float Mesher::ZERO --> - <var-decl name='ZERO' type-id='type-id-181' mangled-name='_ZN6Mesher4ZEROE' visibility='default' filepath='libnurbs/internals/mesher.cc' line='53' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2240'> - <!-- Backend& Mesher::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/mesher.h' line='56' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2304'> - <!-- Pool Mesher::p --> - <var-decl name='p' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/mesher.h' line='58' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='4800'> - <!-- unsigned int Mesher::stacksize --> - <var-decl name='stacksize' type-id='type-id-92' visibility='default' filepath='libnurbs/internals/mesher.h' line='59' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='4864'> - <!-- GridTrimVertex** Mesher::vdata --> - <var-decl name='vdata' type-id='type-id-182' visibility='default' filepath='libnurbs/internals/mesher.h' line='60' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='4928'> - <!-- GridTrimVertex* Mesher::last[2] --> - <var-decl name='last' type-id='type-id-183' visibility='default' filepath='libnurbs/internals/mesher.h' line='61' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='5056'> - <!-- int Mesher::itop --> - <var-decl name='itop' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mesher.h' line='62' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='5088'> - <!-- int Mesher::lastedge --> - <var-decl name='lastedge' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mesher.h' line='63' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Mesher::Mesher(int, void**, Backend&) --> - <function-decl name='Mesher' filepath='libnurbs/internals/mesher.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Mesher*' --> - <parameter type-id='type-id-184' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Mesher::~Mesher(int, void**) --> - <function-decl name='~Mesher' filepath='libnurbs/internals/mesher.cc' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Mesher*' --> - <parameter type-id='type-id-184' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct O_nurbscurve --> - <class-decl name='O_nurbscurve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='70' column='1' id='type-id-137'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Quilt* O_nurbscurve::bezier_curves --> - <var-decl name='bezier_curves' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/reader.h' line='71' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int O_nurbscurve::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='72' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- REAL O_nurbscurve::tesselation --> - <var-decl name='tesselation' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/reader.h' line='73' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int O_nurbscurve::method --> - <var-decl name='method' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='74' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- O_nurbscurve* O_nurbscurve::next --> - <var-decl name='next' type-id='type-id-97' visibility='default' filepath='libnurbs/internals/reader.h' line='75' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int O_nurbscurve::used --> - <var-decl name='used' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='76' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='288'> - <!-- int O_nurbscurve::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='77' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- O_curve* O_nurbscurve::owner --> - <var-decl name='owner' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='78' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_nurbscurve::O_nurbscurve(long int) --> - <function-decl name='O_nurbscurve' filepath='libnurbs/internals/reader.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_nurbscurve*' --> - <parameter type-id='type-id-97' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct O_nurbssurface --> - <class-decl name='O_nurbssurface' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='101' column='1' id='type-id-138'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Quilt* O_nurbssurface::bezier_patches --> - <var-decl name='bezier_patches' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/reader.h' line='102' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int O_nurbssurface::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='103' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- O_surface* O_nurbssurface::owner --> - <var-decl name='owner' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='104' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- O_nurbssurface* O_nurbssurface::next --> - <var-decl name='next' type-id='type-id-98' visibility='default' filepath='libnurbs/internals/reader.h' line='105' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int O_nurbssurface::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='106' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='288'> - <!-- int O_nurbssurface::used --> - <var-decl name='used' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='107' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_nurbssurface::O_nurbssurface(long int) --> - <function-decl name='O_nurbssurface' filepath='libnurbs/internals/reader.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_nurbssurface*' --> - <parameter type-id='type-id-98' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct O_pwlcurve --> - <class-decl name='O_pwlcurve' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='83' column='1' id='type-id-139'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- TrimVertex* O_pwlcurve::pts --> - <var-decl name='pts' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/reader.h' line='85' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- int O_pwlcurve::npts --> - <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='86' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- O_pwlcurve* O_pwlcurve::next --> - <var-decl name='next' type-id='type-id-99' visibility='default' filepath='libnurbs/internals/reader.h' line='87' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- int O_pwlcurve::used --> - <var-decl name='used' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='88' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- int O_pwlcurve::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='89' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- O_curve* O_pwlcurve::owner --> - <var-decl name='owner' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='90' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_pwlcurve::O_pwlcurve(long int, long int, float*, long int, TrimVertex*) --> - <function-decl name='O_pwlcurve' filepath='libnurbs/internals/reader.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_pwlcurve*' --> - <parameter type-id='type-id-99' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'float*' --> - <parameter type-id='type-id-58'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'TrimVertex*' --> - <parameter type-id='type-id-141'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class PooledObj --> - <class-decl name='PooledObj' size-in-bits='8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='118' column='1' id='type-id-157'/> - <!-- struct Quilt --> - <class-decl name='Quilt' size-in-bits='896' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='64' column='1' id='type-id-140'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Mapdesc* Quilt::mapdesc --> - <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/quilt.h' line='67' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- REAL* Quilt::cpts --> - <var-decl name='cpts' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/quilt.h' line='68' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- Quiltspec Quilt::qspec[2] --> - <var-decl name='qspec' type-id='type-id-185' visibility='default' filepath='libnurbs/internals/quilt.h' line='69' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='768'> - <!-- Quiltspec_ptr Quilt::eqspec --> - <var-decl name='eqspec' type-id='type-id-186' visibility='default' filepath='libnurbs/internals/quilt.h' line='70' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='832'> - <!-- Quilt* Quilt::next --> - <var-decl name='next' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/quilt.h' line='71' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Quilt::Quilt(Mapdesc*) --> - <function-decl name='Quilt' filepath='libnurbs/internals/quilt.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Quilt*' --> - <parameter type-id='type-id-125' is-artificial='yes'/> - <!-- parameter of type 'Mapdesc*' --> - <parameter type-id='type-id-107'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct bezierPatch --> - <class-decl name='bezierPatch' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='36' column='1' id='type-id-142'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- float bezierPatch::umin --> - <var-decl name='umin' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- float bezierPatch::vmin --> - <var-decl name='vmin' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- float bezierPatch::umax --> - <var-decl name='umax' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- float bezierPatch::vmax --> - <var-decl name='vmax' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int bezierPatch::uorder --> - <var-decl name='uorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='38' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int bezierPatch::vorder --> - <var-decl name='vorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='39' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- int bezierPatch::dimension --> - <var-decl name='dimension' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='57' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- float* bezierPatch::ctlpoints --> - <var-decl name='ctlpoints' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='58' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- bezierPatch* bezierPatch::next --> - <var-decl name='next' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='63' column='1'/> - </data-member> - </class-decl> - <!-- const char --> - <qualified-type-def type-id='type-id-143' const='yes' id='type-id-166'/> - <!-- enum Curvetype --> - <enum-decl name='Curvetype' filepath='libnurbs/internals/reader.h' line='42' column='1' id='type-id-159'> - <underlying-type type-id='type-id-9'/> - <enumerator name='ct_nurbscurve' value='0'/> - <enumerator name='ct_pwlcurve' value='1'/> - <enumerator name='ct_none' value='2'/> - </enum-decl> - <!-- long int[2] --> - <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-165'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - </array-type-def> - <!-- typedef __jmp_buf_tag[1] jmp_buf --> - <typedef-decl name='jmp_buf' type-id='type-id-187' filepath='/usr/include/setjmp.h' line='49' column='1' id='type-id-156'/> - <!-- void** --> - <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-163'/> - <!-- CoveAndTiler* --> - <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-175'/> - <!-- FlistSorter* --> - <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-177'/> - <!-- GridTrimVertex** --> - <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-182'/> - <!-- GridTrimVertex*[2] --> - <array-type-def dimensions='1' type-id='type-id-188' size-in-bits='128' id='type-id-183'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - </array-type-def> - <!-- Mesher* --> - <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-184'/> - <!-- Quiltspec[2] --> - <array-type-def dimensions='1' type-id='type-id-189' size-in-bits='640' id='type-id-185'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - </array-type-def> - <!-- REAL[5] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-178'> - <!-- <anonymous range>[5] --> - <subrange length='5' type-id='type-id-3' id='type-id-190'/> - </array-type-def> - <!-- __jmp_buf_tag[1] --> - <array-type-def dimensions='1' type-id='type-id-191' size-in-bits='1600' id='type-id-187'> - <!-- <anonymous range>[1] --> - <subrange length='1' type-id='type-id-3' id='type-id-192'/> - </array-type-def> - <!-- struct Arc --> - <class-decl name='Arc' size-in-bits='448' is-struct='yes' visibility='default' filepath='libnurbs/internals/arc.h' line='55' column='1' id='type-id-168'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' static='yes'> - <!-- static const int Arc::bezier_tag --> - <var-decl name='bezier_tag' type-id='type-id-174' mangled-name='_ZN3Arc10bezier_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='58' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int Arc::arc_tag --> - <var-decl name='arc_tag' type-id='type-id-174' mangled-name='_ZN3Arc7arc_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='59' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int Arc::tail_tag --> - <var-decl name='tail_tag' type-id='type-id-174' mangled-name='_ZN3Arc8tail_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='60' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Arc_ptr Arc::prev --> - <var-decl name='prev' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='61' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- Arc_ptr Arc::next --> - <var-decl name='next' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='62' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- Arc_ptr Arc::link --> - <var-decl name='link' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='63' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- BezierArc* Arc::bezierArc --> - <var-decl name='bezierArc' type-id='type-id-193' visibility='default' filepath='libnurbs/internals/arc.h' line='64' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- PwlArc* Arc::pwlArc --> - <var-decl name='pwlArc' type-id='type-id-194' visibility='default' filepath='libnurbs/internals/arc.h' line='65' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- long int Arc::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/arc.h' line='66' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- long int Arc::nuid --> - <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/arc.h' line='67' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Arc::Arc(Arc*, PwlArc*) --> - <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Arc*' --> - <parameter type-id='type-id-167' is-artificial='yes'/> - <!-- parameter of type 'Arc*' --> - <parameter type-id='type-id-167'/> - <!-- parameter of type 'PwlArc*' --> - <parameter type-id='type-id-194'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' constructor='yes'> - <!-- Arc::Arc(arc_side, long int) --> - <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Arc*' --> - <parameter type-id='type-id-167' is-artificial='yes'/> - <!-- parameter of type 'enum arc_side' --> - <parameter type-id='type-id-195'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct Dlnode --> - <class-decl name='Dlnode' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/displaylist.h' line='48' column='1' id='type-id-169'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- PFVS Dlnode::work --> - <var-decl name='work' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- void* Dlnode::arg --> - <var-decl name='arg' type-id='type-id-25' visibility='default' filepath='libnurbs/internals/displaylist.h' line='51' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- PFVS Dlnode::cleanup --> - <var-decl name='cleanup' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='52' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- Dlnode* Dlnode::next --> - <var-decl name='next' type-id='type-id-152' visibility='default' filepath='libnurbs/internals/displaylist.h' line='53' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Dlnode::Dlnode(PFVS, void*, PFVS) --> - <function-decl name='Dlnode' filepath='libnurbs/internals/displaylist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Dlnode*' --> - <parameter type-id='type-id-152' is-artificial='yes'/> - <!-- parameter of type 'typedef PFVS' --> - <parameter type-id='type-id-196'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> - <!-- parameter of type 'typedef PFVS' --> - <parameter type-id='type-id-196'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Hull --> - <class-decl name='Hull' size-in-bits='4800' visibility='default' filepath='libnurbs/internals/hull.h' line='47' column='1' id='type-id-180'> - <!-- class TrimRegion --> - <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/> - <member-type access='private'> - <!-- struct Hull::Side --> - <class-decl name='Side' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/hull.h' line='55' column='1' id='type-id-197'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Trimline* Hull::Side::left --> - <var-decl name='left' type-id='type-id-198' visibility='default' filepath='libnurbs/internals/hull.h' line='56' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- Gridline* Hull::Side::line --> - <var-decl name='line' type-id='type-id-199' visibility='default' filepath='libnurbs/internals/hull.h' line='57' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- Trimline* Hull::Side::right --> - <var-decl name='right' type-id='type-id-198' visibility='default' filepath='libnurbs/internals/hull.h' line='58' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- long int Hull::Side::index --> - <var-decl name='index' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/hull.h' line='59' column='1'/> - </data-member> - </class-decl> - </member-type> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Hull::Side Hull::lower --> - <var-decl name='lower' type-id='type-id-197' visibility='default' filepath='libnurbs/internals/hull.h' line='62' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='320'> - <!-- Hull::Side Hull::upper --> - <var-decl name='upper' type-id='type-id-197' visibility='default' filepath='libnurbs/internals/hull.h' line='63' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='576'> - <!-- Trimline Hull::fakeleft --> - <var-decl name='fakeleft' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/hull.h' line='64' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='1408'> - <!-- Trimline Hull::fakeright --> - <var-decl name='fakeright' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/hull.h' line='65' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Hull::Hull(int, void**) --> - <function-decl name='Hull' filepath='libnurbs/internals/hull.cc' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Hull*' --> - <parameter type-id='type-id-201' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Hull::~Hull(int, void**) --> - <function-decl name='~Hull' filepath='libnurbs/internals/hull.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Hull*' --> - <parameter type-id='type-id-201' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Sorter --> - <class-decl name='Sorter' size-in-bits='128' visibility='default' filepath='libnurbs/internals/sorter.h' line='36' column='1' id='type-id-176'> - <data-member access='private' layout-offset-in-bits='64'> - <!-- int Sorter::es --> - <var-decl name='es' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/sorter.h' line='49' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Sorter::Sorter(int) --> - <function-decl name='Sorter' filepath='libnurbs/internals/sorter.cc' line='44' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes' vtable-offset='-1'> - <!-- Sorter::~Sorter(int) --> - <function-decl name='~Sorter' filepath='libnurbs/internals/sorter.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='2'> - <!-- int Sorter::qscmp(char*, char*) --> - <function-decl name='qscmp' mangled-name='_ZN6Sorter5qscmpEPcS0_' filepath='libnurbs/internals/sorter.cc' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='3'> - <!-- void Sorter::qsexc(char*, char*) --> - <function-decl name='qsexc' mangled-name='_ZN6Sorter5qsexcEPcS0_' filepath='libnurbs/internals/sorter.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='4'> - <!-- void Sorter::qstexc(char*, char*, char*) --> - <function-decl name='qstexc' mangled-name='_ZN6Sorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/sorter.cc' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class TrimRegion --> - <class-decl name='TrimRegion' size-in-bits='2560' visibility='default' filepath='libnurbs/internals/trimregion.h' line='46' column='1' id='type-id-173'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Trimline TrimRegion::left --> - <var-decl name='left' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='49' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='832'> - <!-- Trimline TrimRegion::right --> - <var-decl name='right' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='50' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='1664'> - <!-- Gridline TrimRegion::top --> - <var-decl name='top' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/trimregion.h' line='51' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='1984'> - <!-- Gridline TrimRegion::bot --> - <var-decl name='bot' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/trimregion.h' line='52' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2304'> - <!-- Uarray TrimRegion::uarray --> - <var-decl name='uarray' type-id='type-id-204' visibility='default' filepath='libnurbs/internals/trimregion.h' line='53' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2496'> - <!-- REAL TrimRegion::oneOverDu --> - <var-decl name='oneOverDu' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/trimregion.h' line='65' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- TrimRegion::TrimRegion() --> - <function-decl name='TrimRegion' filepath='libnurbs/internals/trimregion.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'TrimRegion*' --> - <parameter type-id='type-id-205' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct TrimVertex --> - <class-decl name='TrimVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='43' column='1' id='type-id-172'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- REAL TrimVertex::param[2] --> - <var-decl name='param' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='45' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int TrimVertex::nuid --> - <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='50' column='1'/> - </data-member> - </class-decl> - <!-- const float --> - <qualified-type-def type-id='type-id-28' const='yes' id='type-id-181'/> - <!-- const int --> - <qualified-type-def type-id='type-id-11' const='yes' id='type-id-174'/> - <!-- typedef REAL[5][5] Maxmatrix --> - <typedef-decl name='Maxmatrix' type-id='type-id-206' filepath='libnurbs/internals/mapdesc.h' line='45' column='1' id='type-id-179'/> - <!-- typedef Quiltspec* Quiltspec_ptr --> - <typedef-decl name='Quiltspec_ptr' type-id='type-id-207' filepath='libnurbs/internals/quilt.h' line='62' column='1' id='type-id-186'/> - <!-- BezierArc* --> - <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-193'/> - <!-- GridTrimVertex* --> - <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-188'/> - <!-- Gridline* --> - <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-199'/> - <!-- Hull* --> - <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-201'/> - <!-- PwlArc* --> - <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-194'/> - <!-- Quiltspec* --> - <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-207'/> - <!-- REAL[5][5] --> - <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='800' id='type-id-206'> - <!-- <anonymous range>[5] --> - <subrange length='5' type-id='type-id-3' id='type-id-190'/> - <!-- <anonymous range>[5] --> - <subrange length='5' type-id='type-id-3' id='type-id-190'/> - </array-type-def> - <!-- Sorter* --> - <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-202'/> - <!-- TrimRegion* --> - <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-205'/> - <!-- Trimline* --> - <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-198'/> - <!-- struct Gridline --> - <class-decl name='Gridline' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridline.h' line='39' column='1' id='type-id-203'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- long int Gridline::v --> - <var-decl name='v' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='40' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- REAL Gridline::vval --> - <var-decl name='vval' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/gridline.h' line='41' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- long int Gridline::vindex --> - <var-decl name='vindex' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='42' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- long int Gridline::ustart --> - <var-decl name='ustart' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='43' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- long int Gridline::uend --> - <var-decl name='uend' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='44' column='1'/> - </data-member> - </class-decl> - <!-- struct Quiltspec --> - <class-decl name='Quiltspec' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='51' column='1' id='type-id-189'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- int Quiltspec::stride --> - <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='52' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- int Quiltspec::width --> - <var-decl name='width' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='53' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- int Quiltspec::offset --> - <var-decl name='offset' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='54' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- int Quiltspec::order --> - <var-decl name='order' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int Quiltspec::index --> - <var-decl name='index' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='56' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int Quiltspec::bdry[2] --> - <var-decl name='bdry' type-id='type-id-211' visibility='default' filepath='libnurbs/internals/quilt.h' line='57' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- REAL Quiltspec::step_size --> - <var-decl name='step_size' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/quilt.h' line='58' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- Knot* Quiltspec::breakpoints --> - <var-decl name='breakpoints' type-id='type-id-212' visibility='default' filepath='libnurbs/internals/quilt.h' line='59' column='1'/> - </data-member> - </class-decl> - <!-- class Trimline --> - <class-decl name='Trimline' size-in-bits='832' visibility='default' filepath='libnurbs/internals/trimline.h' line='46' column='1' id='type-id-200'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- TrimVertex** Trimline::pts --> - <var-decl name='pts' type-id='type-id-130' visibility='default' filepath='libnurbs/internals/trimline.h' line='48' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- long int Trimline::numverts --> - <var-decl name='numverts' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimline.h' line='49' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- long int Trimline::i --> - <var-decl name='i' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimline.h' line='50' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='192'> - <!-- long int Trimline::size --> - <var-decl name='size' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimline.h' line='51' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='256'> - <!-- Jarcloc Trimline::jarcl --> - <var-decl name='jarcl' type-id='type-id-213' visibility='default' filepath='libnurbs/internals/trimline.h' line='52' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='448'> - <!-- TrimVertex Trimline::t --> - <var-decl name='t' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/trimline.h' line='53' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='576'> - <!-- TrimVertex Trimline::b --> - <var-decl name='b' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/trimline.h' line='53' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='704'> - <!-- TrimVertex* Trimline::tinterp --> - <var-decl name='tinterp' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/trimline.h' line='54' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='768'> - <!-- TrimVertex* Trimline::binterp --> - <var-decl name='binterp' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/trimline.h' line='54' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Trimline::Trimline() --> - <function-decl name='Trimline' filepath='libnurbs/internals/trimline.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Trimline*' --> - <parameter type-id='type-id-198' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Trimline::~Trimline(int) --> - <function-decl name='~Trimline' filepath='libnurbs/internals/trimline.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Trimline*' --> - <parameter type-id='type-id-198' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Uarray --> - <class-decl name='Uarray' size-in-bits='192' visibility='default' filepath='libnurbs/internals/uarray.h' line='44' column='1' id='type-id-204'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- long int Uarray::size --> - <var-decl name='size' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/uarray.h' line='46' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- long int Uarray::ulines --> - <var-decl name='ulines' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/uarray.h' line='47' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- REAL* Uarray::uarray --> - <var-decl name='uarray' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/uarray.h' line='52' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Uarray::Uarray() --> - <function-decl name='Uarray' filepath='libnurbs/internals/uarray.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Uarray*' --> - <parameter type-id='type-id-214' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Uarray::~Uarray(int) --> - <function-decl name='~Uarray' filepath='libnurbs/internals/uarray.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Uarray*' --> - <parameter type-id='type-id-214' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct __jmp_buf_tag --> - <class-decl name='__jmp_buf_tag' size-in-bits='1600' is-struct='yes' visibility='default' filepath='/usr/include/setjmp.h' line='36' column='1' id='type-id-191'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- __jmp_buf __jmp_buf_tag::__jmpbuf --> - <var-decl name='__jmpbuf' type-id='type-id-215' visibility='default' filepath='/usr/include/setjmp.h' line='41' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='512'> - <!-- int __jmp_buf_tag::__mask_was_saved --> - <var-decl name='__mask_was_saved' type-id='type-id-11' visibility='default' filepath='/usr/include/setjmp.h' line='42' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='576'> - <!-- __sigset_t __jmp_buf_tag::__saved_mask --> - <var-decl name='__saved_mask' type-id='type-id-216' visibility='default' filepath='/usr/include/setjmp.h' line='43' column='1'/> - </data-member> - </class-decl> - <!-- enum arc_side --> - <enum-decl name='arc_side' filepath='libnurbs/internals/arc.h' line='52' column='1' id='type-id-195'> - <underlying-type type-id='type-id-9'/> - <enumerator name='arc_none' value='0'/> - <enumerator name='arc_right' value='1'/> - <enumerator name='arc_top' value='2'/> - <enumerator name='arc_left' value='3'/> - <enumerator name='arc_bottom' value='4'/> - </enum-decl> - <!-- typedef __anonymous_struct__ PFVS --> - <typedef-decl name='PFVS' type-id='type-id-217' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-196'/> - <!-- Knot* --> - <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-212'/> - <!-- Uarray* --> - <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-214'/> - <!-- struct BezierArc --> - <class-decl name='BezierArc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-208'/> - <!-- class GridTrimVertex --> - <class-decl name='GridTrimVertex' size-in-bits='384' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='45' column='1' id='type-id-209'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='private' layout-offset-in-bits='0'> - <!-- TrimVertex GridTrimVertex::dummyt --> - <var-decl name='dummyt' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='47' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- GridVertex GridTrimVertex::dummyg --> - <var-decl name='dummyg' type-id='type-id-219' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='48' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='256'> - <!-- TrimVertex* GridTrimVertex::t --> - <var-decl name='t' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='51' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='320'> - <!-- GridVertex* GridTrimVertex::g --> - <var-decl name='g' type-id='type-id-220' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='52' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- GridTrimVertex::GridTrimVertex() --> - <function-decl name='GridTrimVertex' filepath='libnurbs/internals/gridtrimvertex.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'GridTrimVertex*' --> - <parameter type-id='type-id-188' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Jarcloc --> - <class-decl name='Jarcloc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='41' column='1' id='type-id-213'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Arc_ptr Jarcloc::arc --> - <var-decl name='arc' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='43' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- TrimVertex* Jarcloc::p --> - <var-decl name='p' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='44' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- TrimVertex* Jarcloc::plast --> - <var-decl name='plast' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='45' column='1'/> - </data-member> - </class-decl> - <!-- class PwlArc --> - <class-decl name='PwlArc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='44' column='1' id='type-id-210'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='private' layout-offset-in-bits='0'> - <!-- TrimVertex* PwlArc::pts --> - <var-decl name='pts' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='46' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- int PwlArc::npts --> - <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='47' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- long int PwlArc::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='48' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- PwlArc::PwlArc() --> - <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'PwlArc*' --> - <parameter type-id='type-id-194' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' constructor='yes'> - <!-- PwlArc::PwlArc(int, TrimVertex*) --> - <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'PwlArc*' --> - <parameter type-id='type-id-194' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'TrimVertex*' --> - <parameter type-id='type-id-141'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' constructor='yes'> - <!-- PwlArc::PwlArc(int, TrimVertex*, long int) --> - <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'PwlArc*' --> - <parameter type-id='type-id-194' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'TrimVertex*' --> - <parameter type-id='type-id-141'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct {void (NurbsTessellator*, void*)* __pfn; long int __delta;} --> - <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-217'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- void (NurbsTessellator*, void*)* __pfn --> - <var-decl name='__pfn' type-id='type-id-221' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int __delta --> - <var-decl name='__delta' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/> - </data-member> - </class-decl> - <!-- int[2] --> - <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-211'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - </array-type-def> - <!-- typedef long int[8] __jmp_buf --> - <typedef-decl name='__jmp_buf' type-id='type-id-222' filepath='/usr/include/bits/setjmp.h' line='32' column='1' id='type-id-215'/> - <!-- typedef __anonymous_struct__2 __sigset_t --> - <typedef-decl name='__sigset_t' type-id='type-id-223' filepath='/usr/include/bits/sigset.h' line='32' column='1' id='type-id-216'/> - <!-- GridVertex* --> - <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/> - <!-- struct GridVertex --> - <class-decl name='GridVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='39' column='1' id='type-id-219'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- long int GridVertex::gparam[2] --> - <var-decl name='gparam' type-id='type-id-165' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='40' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- GridVertex::GridVertex() --> - <function-decl name='GridVertex' filepath='libnurbs/internals/gridvertex.h' line='41' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'GridVertex*' --> - <parameter type-id='type-id-220' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' constructor='yes'> - <!-- GridVertex::GridVertex(long int, long int) --> - <function-decl name='GridVertex' filepath='libnurbs/internals/gridvertex.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'GridVertex*' --> - <parameter type-id='type-id-220' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct {unsigned long int __val[16];} --> - <class-decl name='__anonymous_struct__2' size-in-bits='1024' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-216' visibility='default' filepath='/usr/include/bits/sigset.h' line='30' column='1' id='type-id-223'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- unsigned long int __val[16] --> - <var-decl name='__val' type-id='type-id-224' visibility='default' filepath='/usr/include/bits/sigset.h' line='31' column='1'/> - </data-member> - </class-decl> - <!-- long int[8] --> - <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='512' id='type-id-222'> - <!-- <anonymous range>[8] --> - <subrange length='8' type-id='type-id-3' id='type-id-225'/> - </array-type-def> - <!-- typedef REAL Knot --> - <typedef-decl name='Knot' type-id='type-id-1' filepath='libnurbs/internals/types.h' line='45' column='1' id='type-id-218'/> - <!-- void (NurbsTessellator*, void*)* --> - <pointer-type-def type-id='type-id-226' size-in-bits='64' id='type-id-221'/> - <!-- unsigned long int[16] --> - <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-224'> - <!-- <anonymous range>[16] --> - <subrange length='16' type-id='type-id-3' id='type-id-227'/> - </array-type-def> </abi-instr> <abi-instr address-size='64' path='libnurbs/interface/glrenderer.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- GLfloat[4] --> - <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='128' id='type-id-228'> + <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='128' id='type-id-60'> <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-3' id='type-id-65'/> + <subrange length='4' type-id='type-id-3' id='type-id-61'/> </array-type-def> <!-- typedef void (typedef GLenum)* errorCallbackType --> - <typedef-decl name='errorCallbackType' type-id='type-id-19' filepath='libnurbs/interface/glrenderer.h' line='46' column='1' id='type-id-44'/> + <typedef-decl name='errorCallbackType' type-id='type-id-31' filepath='libnurbs/interface/glrenderer.h' line='46' column='1' id='type-id-41'/> + <!-- GLfloat[4]* --> + <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-46'/> <!-- class NurbsTessellator --> - <class-decl name='NurbsTessellator' size-in-bits='47616' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='53' column='1' id='type-id-43'> + <class-decl name='NurbsTessellator' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='53' column='1' is-declaration-only='yes' id='type-id-40'> <data-member access='protected' layout-offset-in-bits='64'> <!-- Renderhints NurbsTessellator::renderhints --> - <var-decl name='renderhints' type-id='type-id-71' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='104' column='1'/> + <var-decl name='renderhints' type-id='type-id-62' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='104' column='1'/> </data-member> <data-member access='protected' layout-offset-in-bits='320'> <!-- Maplist NurbsTessellator::maplist --> - <var-decl name='maplist' type-id='type-id-72' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='105' column='1'/> + <var-decl name='maplist' type-id='type-id-63' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='105' column='1'/> </data-member> <data-member access='protected' layout-offset-in-bits='3008'> <!-- Backend NurbsTessellator::backend --> - <var-decl name='backend' type-id='type-id-73' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='106' column='1'/> + <var-decl name='backend' type-id='type-id-64' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='106' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='3648'> <!-- Subdivider NurbsTessellator::subdivider --> - <var-decl name='subdivider' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='134' column='1'/> + <var-decl name='subdivider' type-id='type-id-65' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='134' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='24064'> <!-- JumpBuffer* NurbsTessellator::jumpbuffer --> - <var-decl name='jumpbuffer' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='135' column='1'/> + <var-decl name='jumpbuffer' type-id='type-id-66' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='135' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='24128'> <!-- Pool NurbsTessellator::o_pwlcurvePool --> - <var-decl name='o_pwlcurvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='136' column='1'/> + <var-decl name='o_pwlcurvePool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='136' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='26624'> <!-- Pool NurbsTessellator::o_nurbscurvePool --> - <var-decl name='o_nurbscurvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='137' column='1'/> + <var-decl name='o_nurbscurvePool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='137' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='29120'> <!-- Pool NurbsTessellator::o_curvePool --> - <var-decl name='o_curvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='138' column='1'/> + <var-decl name='o_curvePool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='138' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='31616'> <!-- Pool NurbsTessellator::o_trimPool --> - <var-decl name='o_trimPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='139' column='1'/> + <var-decl name='o_trimPool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='139' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='34112'> <!-- Pool NurbsTessellator::o_surfacePool --> - <var-decl name='o_surfacePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='140' column='1'/> + <var-decl name='o_surfacePool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='140' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='36608'> <!-- Pool NurbsTessellator::o_nurbssurfacePool --> - <var-decl name='o_nurbssurfacePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='141' column='1'/> + <var-decl name='o_nurbssurfacePool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='141' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='39104'> <!-- Pool NurbsTessellator::propertyPool --> - <var-decl name='propertyPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='142' column='1'/> + <var-decl name='propertyPool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='142' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='41600'> <!-- Pool NurbsTessellator::quiltPool --> - <var-decl name='quiltPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='144' column='1'/> + <var-decl name='quiltPool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='144' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='44096'> <!-- TrimVertexPool NurbsTessellator::extTrimVertexPool --> - <var-decl name='extTrimVertexPool' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='146' column='1'/> + <var-decl name='extTrimVertexPool' type-id='type-id-68' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='146' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46720'> <!-- int NurbsTessellator::inSurface --> - <var-decl name='inSurface' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='148' column='1'/> + <var-decl name='inSurface' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='148' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46752'> <!-- int NurbsTessellator::inCurve --> - <var-decl name='inCurve' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='149' column='1'/> + <var-decl name='inCurve' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='149' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46784'> <!-- int NurbsTessellator::inTrim --> - <var-decl name='inTrim' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='150' column='1'/> + <var-decl name='inTrim' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='150' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46816'> <!-- int NurbsTessellator::isCurveModified --> - <var-decl name='isCurveModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='151' column='1'/> + <var-decl name='isCurveModified' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='151' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46848'> <!-- int NurbsTessellator::isTrimModified --> - <var-decl name='isTrimModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='152' column='1'/> + <var-decl name='isTrimModified' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='152' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46880'> <!-- int NurbsTessellator::isSurfaceModified --> - <var-decl name='isSurfaceModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='153' column='1'/> + <var-decl name='isSurfaceModified' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='153' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46912'> <!-- int NurbsTessellator::isDataValid --> - <var-decl name='isDataValid' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='154' column='1'/> + <var-decl name='isDataValid' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='154' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46944'> <!-- int NurbsTessellator::numTrims --> - <var-decl name='numTrims' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='155' column='1'/> + <var-decl name='numTrims' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='155' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='46976'> <!-- int NurbsTessellator::playBack --> - <var-decl name='playBack' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='156' column='1'/> + <var-decl name='playBack' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='156' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47040'> <!-- O_trim** NurbsTessellator::nextTrim --> - <var-decl name='nextTrim' type-id='type-id-78' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='158' column='1'/> + <var-decl name='nextTrim' type-id='type-id-69' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='158' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47104'> <!-- O_curve** NurbsTessellator::nextCurve --> - <var-decl name='nextCurve' type-id='type-id-79' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='159' column='1'/> + <var-decl name='nextCurve' type-id='type-id-70' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='159' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47168'> <!-- O_nurbscurve** NurbsTessellator::nextNurbscurve --> - <var-decl name='nextNurbscurve' type-id='type-id-80' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='160' column='1'/> + <var-decl name='nextNurbscurve' type-id='type-id-71' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='160' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47232'> <!-- O_pwlcurve** NurbsTessellator::nextPwlcurve --> - <var-decl name='nextPwlcurve' type-id='type-id-81' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='161' column='1'/> + <var-decl name='nextPwlcurve' type-id='type-id-72' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='161' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47296'> <!-- O_nurbssurface** NurbsTessellator::nextNurbssurface --> - <var-decl name='nextNurbssurface' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='162' column='1'/> + <var-decl name='nextNurbssurface' type-id='type-id-73' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='162' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47360'> <!-- O_surface* NurbsTessellator::currentSurface --> - <var-decl name='currentSurface' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='164' column='1'/> + <var-decl name='currentSurface' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='164' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47424'> <!-- O_trim* NurbsTessellator::currentTrim --> - <var-decl name='currentTrim' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='165' column='1'/> + <var-decl name='currentTrim' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='165' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47488'> <!-- O_curve* NurbsTessellator::currentCurve --> - <var-decl name='currentCurve' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='166' column='1'/> + <var-decl name='currentCurve' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='166' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='47552'> <!-- DisplayList* NurbsTessellator::dl --> - <var-decl name='dl' type-id='type-id-86' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='168' column='1'/> + <var-decl name='dl' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='168' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- NurbsTessellator::NurbsTessellator(BasicCurveEvaluator&, BasicSurfaceEvaluator&) --> <function-decl name='NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> + <parameter type-id='type-id-78' is-artificial='yes'/> <!-- parameter of type 'BasicCurveEvaluator&' --> - <parameter type-id='type-id-88'/> + <parameter type-id='type-id-79'/> <!-- parameter of type 'BasicSurfaceEvaluator&' --> - <parameter type-id='type-id-89'/> + <parameter type-id='type-id-80'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::playRecording(void*) --> + <function-decl name='playRecording' mangled-name='_ZN16NurbsTessellator13playRecordingEPv' filepath='libnurbs/internals/nurbsinterfac.cc' line='529' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::endRecording() --> + <function-decl name='endRecording' mangled-name='_ZN16NurbsTessellator12endRecordingEv' filepath='libnurbs/internals/nurbsinterfac.cc' line='522' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void* NurbsTessellator::beginRecording() --> + <function-decl name='beginRecording' mangled-name='_ZN16NurbsTessellator14beginRecordingEv' filepath='libnurbs/internals/nurbsinterfac.cc' line='515' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void* --> + <return type-id='type-id-35'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::discardRecording(void*) --> + <function-decl name='discardRecording' mangled-name='_ZN16NurbsTessellator16discardRecordingEPv' filepath='libnurbs/internals/nurbsinterfac.cc' line='509' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::defineMap(long int, long int, long int) --> + <function-decl name='defineMap' mangled-name='_ZN16NurbsTessellator9defineMapElll' filepath='libnurbs/internals/nurbsinterfac.cc' line='503' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::redefineMaps() --> + <function-decl name='redefineMaps' mangled-name='_ZN16NurbsTessellator12redefineMapsEv' filepath='libnurbs/internals/nurbsinterfac.cc' line='497' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::setnurbsproperty(long int, long int, float*, long int, long int) --> + <function-decl name='setnurbsproperty' mangled-name='_ZN16NurbsTessellator16setnurbspropertyEllPfll' filepath='libnurbs/internals/nurbsinterfac.cc' line='474' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::setnurbsproperty(long int, long int, float*) --> + <function-decl name='setnurbsproperty' mangled-name='_ZN16NurbsTessellator16setnurbspropertyEllPf' filepath='libnurbs/internals/nurbsinterfac.cc' line='451' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::getnurbsproperty(long int, long int, float*) --> + <function-decl name='getnurbsproperty' mangled-name='_ZN16NurbsTessellator16getnurbspropertyEllPf' filepath='libnurbs/internals/nurbsinterfac.cc' line='431' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::getnurbsproperty(long int, float*) --> + <function-decl name='getnurbsproperty' mangled-name='_ZN16NurbsTessellator16getnurbspropertyElPf' filepath='libnurbs/internals/nurbsinterfac.cc' line='415' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::endtrim() --> + <function-decl name='endtrim' mangled-name='_ZN16NurbsTessellator7endtrimEv' filepath='libnurbs/internals/nurbsinterfac.cc' line='179' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::endsurface() --> + <function-decl name='endsurface' mangled-name='_ZN16NurbsTessellator10endsurfaceEv' filepath='libnurbs/internals/nurbsinterfac.cc' line='153' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::endcurve() --> + <function-decl name='endcurve' mangled-name='_ZN16NurbsTessellator8endcurveEv' filepath='libnurbs/internals/nurbsinterfac.cc' line='141' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::bgnsurface(long int) --> + <function-decl name='bgnsurface' mangled-name='_ZN16NurbsTessellator10bgnsurfaceEl' filepath='libnurbs/internals/nurbsinterfac.cc' line='113' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::bgntrim() --> + <function-decl name='bgntrim' mangled-name='_ZN16NurbsTessellator7bgntrimEv' filepath='libnurbs/internals/nurbsinterfac.cc' line='166' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::bgncurve(long int) --> + <function-decl name='bgncurve' mangled-name='_ZN16NurbsTessellator8bgncurveEl' filepath='libnurbs/internals/nurbsinterfac.cc' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::setnurbsproperty(long int, float) --> + <function-decl name='setnurbsproperty' mangled-name='_ZN16NurbsTessellator16setnurbspropertyElf' filepath='libnurbs/internals/nurbsinterfac.cc' line='373' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float' --> + <parameter type-id='type-id-15'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::pwlcurve(long int, float*, long int, long int) --> + <function-decl name='pwlcurve' mangled-name='_ZN16NurbsTessellator8pwlcurveElPfll' filepath='libnurbs/internals/nurbsinterfac.cc' line='197' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::setnurbsproperty(long int, long int, float) --> + <function-decl name='setnurbsproperty' mangled-name='_ZN16NurbsTessellator16setnurbspropertyEllf' filepath='libnurbs/internals/nurbsinterfac.cc' line='389' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float' --> + <parameter type-id='type-id-15'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::nurbscurve(long int, float*, long int, float*, long int, long int) --> + <function-decl name='nurbscurve' mangled-name='_ZN16NurbsTessellator10nurbscurveElPflS0_ll' filepath='libnurbs/internals/nurbsinterfac.cc' line='269' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::nurbssurface(long int, float*, long int, float*, long int, long int, float*, long int, long int, long int) --> + <function-decl name='nurbssurface' mangled-name='_ZN16NurbsTessellator12nurbssurfaceElPflS0_llS0_lll' filepath='libnurbs/internals/nurbsinterfac.cc' line='318' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freenurbsproperty(Property*) --> + <function-decl name='do_freenurbsproperty' mangled-name='_ZN16NurbsTessellator20do_freenurbspropertyEP8Property' filepath='libnurbs/internals/nurbstess.cc' line='636' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'Property*' --> + <parameter type-id='type-id-81'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freepwlcurve(O_pwlcurve*) --> + <function-decl name='do_freepwlcurve' mangled-name='_ZN16NurbsTessellator15do_freepwlcurveEP10O_pwlcurve' filepath='libnurbs/internals/nurbstess.cc' line='450' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_pwlcurve*' --> + <parameter type-id='type-id-82'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freebgncurve(O_curve*) --> + <function-decl name='do_freebgncurve' mangled-name='_ZN16NurbsTessellator15do_freebgncurveEP7O_curve' filepath='libnurbs/internals/nurbstess.cc' line='456' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_curve*' --> + <parameter type-id='type-id-76'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freebgntrim(O_trim*) --> + <function-decl name='do_freebgntrim' mangled-name='_ZN16NurbsTessellator14do_freebgntrimEP6O_trim' filepath='libnurbs/internals/nurbstess.cc' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_trim*' --> + <parameter type-id='type-id-75'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freebgnsurface(O_surface*) --> + <function-decl name='do_freebgnsurface' mangled-name='_ZN16NurbsTessellator17do_freebgnsurfaceEP9O_surface' filepath='libnurbs/internals/nurbstess.cc' line='115' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_surface*' --> + <parameter type-id='type-id-74'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::resetObjects() --> + <function-decl name='resetObjects' mangled-name='_ZN16NurbsTessellator12resetObjectsEv' filepath='libnurbs/internals/nurbstess.cc' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::set_domain_distance_u_rate(REAL) --> + <function-decl name='set_domain_distance_u_rate' mangled-name='_ZN16NurbsTessellator26set_domain_distance_u_rateEf' filepath='libnurbs/internals/nurbstess.cc' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::set_domain_distance_v_rate(REAL) --> + <function-decl name='set_domain_distance_v_rate' mangled-name='_ZN16NurbsTessellator26set_domain_distance_v_rateEf' filepath='libnurbs/internals/nurbstess.cc' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::set_is_domain_distance_sampling(int) --> + <function-decl name='set_is_domain_distance_sampling' mangled-name='_ZN16NurbsTessellator31set_is_domain_distance_samplingEi' filepath='libnurbs/internals/nurbstess.cc' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_nurbserror(int) --> + <function-decl name='do_nurbserror' mangled-name='_ZN16NurbsTessellator13do_nurbserrorEi' filepath='libnurbs/internals/nurbstess.cc' line='672' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_endtrim() --> + <function-decl name='do_endtrim' mangled-name='_ZN16NurbsTessellator10do_endtrimEv' filepath='libnurbs/internals/nurbstess.cc' line='422' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int NurbsTessellator::do_check_knots(Knotvector*, const char*) --> + <function-decl name='do_check_knots' mangled-name='_ZN16NurbsTessellator14do_check_knotsEP10KnotvectorPKc' filepath='libnurbs/internals/nurbstess.cc' line='678' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'Knotvector*' --> + <parameter type-id='type-id-83'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-84'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_setnurbsproperty2(Property*) --> + <function-decl name='do_setnurbsproperty2' mangled-name='_ZN16NurbsTessellator20do_setnurbsproperty2EP8Property' filepath='libnurbs/internals/nurbstess.cc' line='657' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'Property*' --> + <parameter type-id='type-id-81'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_setnurbsproperty(Property*) --> + <function-decl name='do_setnurbsproperty' mangled-name='_ZN16NurbsTessellator19do_setnurbspropertyEP8Property' filepath='libnurbs/internals/nurbstess.cc' line='649' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'Property*' --> + <parameter type-id='type-id-81'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_nurbssurface(O_nurbssurface*) --> + <function-decl name='do_nurbssurface' mangled-name='_ZN16NurbsTessellator15do_nurbssurfaceEP14O_nurbssurface' filepath='libnurbs/internals/nurbstess.cc' line='598' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_nurbssurface*' --> + <parameter type-id='type-id-85'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_bgnsurface(O_surface*) --> + <function-decl name='do_bgnsurface' mangled-name='_ZN16NurbsTessellator13do_bgnsurfaceEP9O_surface' filepath='libnurbs/internals/nurbstess.cc' line='128' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_surface*' --> + <parameter type-id='type-id-74'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freenurbssurface(O_nurbssurface*) --> + <function-decl name='do_freenurbssurface' mangled-name='_ZN16NurbsTessellator19do_freenurbssurfaceEP14O_nurbssurface' filepath='libnurbs/internals/nurbstess.cc' line='585' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_nurbssurface*' --> + <parameter type-id='type-id-85'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freenurbscurve(O_nurbscurve*) --> + <function-decl name='do_freenurbscurve' mangled-name='_ZN16NurbsTessellator17do_freenurbscurveEP12O_nurbscurve' filepath='libnurbs/internals/nurbstess.cc' line='520' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_nurbscurve*' --> + <parameter type-id='type-id-86'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freecurveall(O_curve*) --> + <function-decl name='do_freecurveall' mangled-name='_ZN16NurbsTessellator15do_freecurveallEP7O_curve' filepath='libnurbs/internals/nurbstess.cc' line='341' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_curve*' --> + <parameter type-id='type-id-76'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_freeall() --> + <function-decl name='do_freeall' mangled-name='_ZN16NurbsTessellator10do_freeallEv' filepath='libnurbs/internals/nurbstess.cc' line='315' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_nurbscurve(O_nurbscurve*) --> + <function-decl name='do_nurbscurve' mangled-name='_ZN16NurbsTessellator13do_nurbscurveEP12O_nurbscurve' filepath='libnurbs/internals/nurbstess.cc' line='534' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_nurbscurve*' --> + <parameter type-id='type-id-86'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_pwlcurve(O_pwlcurve*) --> + <function-decl name='do_pwlcurve' mangled-name='_ZN16NurbsTessellator11do_pwlcurveEP10O_pwlcurve' filepath='libnurbs/internals/nurbstess.cc' line='468' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_pwlcurve*' --> + <parameter type-id='type-id-82'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_bgncurve(O_curve*) --> + <function-decl name='do_bgncurve' mangled-name='_ZN16NurbsTessellator11do_bgncurveEP7O_curve' filepath='libnurbs/internals/nurbstess.cc' line='154' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_curve*' --> + <parameter type-id='type-id-76'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_bgntrim(O_trim*) --> + <function-decl name='do_bgntrim' mangled-name='_ZN16NurbsTessellator10do_bgntrimEP6O_trim' filepath='libnurbs/internals/nurbstess.cc' line='389' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- parameter of type 'O_trim*' --> + <parameter type-id='type-id-75'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_endsurface() --> + <function-decl name='do_endsurface' mangled-name='_ZN16NurbsTessellator13do_endsurfaceEv' filepath='libnurbs/internals/nurbstess.cc' line='239' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void NurbsTessellator::do_endcurve() --> + <function-decl name='do_endcurve' mangled-name='_ZN16NurbsTessellator11do_endcurveEv' filepath='libnurbs/internals/nurbstess.cc' line='187' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'NurbsTessellator*' --> + <parameter type-id='type-id-78' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes' vtable-offset='-1'> <!-- NurbsTessellator::~NurbsTessellator(int) --> <function-decl name='~NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> + <parameter type-id='type-id-78' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='2'> <!-- void NurbsTessellator::bgnrender() --> <function-decl name='bgnrender' mangled-name='_ZN16NurbsTessellator9bgnrenderEv' filepath='libnurbs/internals/nurbstess.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> + <parameter type-id='type-id-78' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='3'> <!-- void NurbsTessellator::endrender() --> <function-decl name='endrender' mangled-name='_ZN16NurbsTessellator9endrenderEv' filepath='libnurbs/internals/nurbstess.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> + <parameter type-id='type-id-78' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='4'> <!-- void NurbsTessellator::makeobj(int) --> <function-decl name='makeobj' mangled-name='_ZN16NurbsTessellator7makeobjEi' filepath='libnurbs/internals/nurbstess.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> + <parameter type-id='type-id-78' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='5'> <!-- void NurbsTessellator::closeobj() --> <function-decl name='closeobj' mangled-name='_ZN16NurbsTessellator8closeobjEv' filepath='libnurbs/internals/nurbstess.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> + <parameter type-id='type-id-78' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='6'> <!-- void NurbsTessellator::errorHandler(int) --> <function-decl name='errorHandler' mangled-name='_ZN16NurbsTessellator12errorHandlerEi' filepath='libnurbs/internals/nurbstess.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> + <parameter type-id='type-id-78' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> - <!-- GLfloat[4]* --> - <pointer-type-def type-id='type-id-228' size-in-bits='64' id='type-id-229'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/interface/glsurfeval.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- GLint[2] --> - <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='64' id='type-id-50'> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='64' id='type-id-53'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> <!-- REAL[2] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-164'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-88'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> <!-- REAL[3] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='96' id='type-id-230'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='96' id='type-id-89'> <!-- <anonymous range>[3] --> - <subrange length='3' type-id='type-id-3' id='type-id-68'/> + <subrange length='3' type-id='type-id-3' id='type-id-90'/> </array-type-def> <!-- REAL[40][4] --> - <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='5120' id='type-id-52'> + <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='5120' id='type-id-55'> <!-- <anonymous range>[40] --> <subrange length='40' type-id='type-id-3' id='type-id-6'/> <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-3' id='type-id-65'/> + <subrange length='4' type-id='type-id-3' id='type-id-61'/> </array-type-def> <!-- REAL[6400] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='204800' id='type-id-53'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='204800' id='type-id-56'> <!-- <anonymous range>[6400] --> - <subrange length='6400' type-id='type-id-3' id='type-id-66'/> + <subrange length='6400' type-id='type-id-3' id='type-id-91'/> </array-type-def> <!-- StoredVertex*[3] --> - <array-type-def dimensions='1' type-id='type-id-67' size-in-bits='192' id='type-id-49'> + <array-type-def dimensions='1' type-id='type-id-92' size-in-bits='192' id='type-id-52'> <!-- <anonymous range>[3] --> - <subrange length='3' type-id='type-id-3' id='type-id-68'/> + <subrange length='3' type-id='type-id-3' id='type-id-90'/> </array-type-def> <!-- long int[2] --> - <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-165'> + <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='128' id='type-id-93'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> - <!-- class StoredVertex --> - <class-decl name='StoredVertex' size-in-bits='256' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='84' column='1' id='type-id-102'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- int StoredVertex::type --> - <var-decl name='type' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='95' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='32'> - <!-- REAL StoredVertex::coord[2] --> - <var-decl name='coord' type-id='type-id-164' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='96' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- long int StoredVertex::point[2] --> - <var-decl name='point' type-id='type-id-165' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='97' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- StoredVertex::StoredVertex() --> - <function-decl name='StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'StoredVertex*' --> - <parameter type-id='type-id-67' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- StoredVertex::~StoredVertex(int) --> - <function-decl name='~StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'StoredVertex*' --> - <parameter type-id='type-id-67' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct BasicSurfaceEvaluator --> - <class-decl name='BasicSurfaceEvaluator' size-in-bits='64' is-struct='yes' visibility='default' filepath='libnurbs/internals/basicsurfeval.h' line='43' column='1' id='type-id-48'> - <!-- class CachingEvaluator --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-7'/> - <member-function access='public' destructor='yes' vtable-offset='-1'> - <!-- BasicSurfaceEvaluator::~BasicSurfaceEvaluator(int) --> - <function-decl name='~BasicSurfaceEvaluator' filepath='libnurbs/internals/basicsurfeval.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='9'> - <!-- void BasicSurfaceEvaluator::range2f(long int, REAL*, REAL*) --> - <function-decl name='range2f' mangled-name='_ZN21BasicSurfaceEvaluator7range2fElPfS0_' filepath='libnurbs/internals/basicsurfeval.cc' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='10'> - <!-- void BasicSurfaceEvaluator::domain2f(REAL, REAL, REAL, REAL) --> - <function-decl name='domain2f' mangled-name='_ZN21BasicSurfaceEvaluator8domain2fEffff' filepath='libnurbs/internals/basicsurfeval.cc' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='11'> - <!-- void BasicSurfaceEvaluator::enable(long int) --> - <function-decl name='enable' mangled-name='_ZN21BasicSurfaceEvaluator6enableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='12'> - <!-- void BasicSurfaceEvaluator::disable(long int) --> - <function-decl name='disable' mangled-name='_ZN21BasicSurfaceEvaluator7disableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='13'> - <!-- void BasicSurfaceEvaluator::bgnmap2f(long int) --> - <function-decl name='bgnmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8bgnmap2fEl' filepath='libnurbs/internals/basicsurfeval.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='14'> - <!-- void BasicSurfaceEvaluator::map2f(long int, REAL, REAL, long int, long int, REAL, REAL, long int, long int, REAL*) --> - <function-decl name='map2f' mangled-name='_ZN21BasicSurfaceEvaluator5map2fElffllffllPf' filepath='libnurbs/internals/basicsurfeval.cc' line='106' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='15'> - <!-- void BasicSurfaceEvaluator::mapgrid2f(long int, REAL, REAL, long int, REAL, REAL) --> - <function-decl name='mapgrid2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapgrid2fElfflff' filepath='libnurbs/internals/basicsurfeval.cc' line='116' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='16'> - <!-- void BasicSurfaceEvaluator::mapmesh2f(long int, long int, long int, long int, long int) --> - <function-decl name='mapmesh2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapmesh2fElllll' filepath='libnurbs/internals/basicsurfeval.cc' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='17'> - <!-- void BasicSurfaceEvaluator::evalcoord2f(long int, REAL, REAL) --> - <function-decl name='evalcoord2f' mangled-name='_ZN21BasicSurfaceEvaluator11evalcoord2fElff' filepath='libnurbs/internals/basicsurfeval.cc' line='132' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='18'> - <!-- void BasicSurfaceEvaluator::evalpoint2i(long int, long int) --> - <function-decl name='evalpoint2i' mangled-name='_ZN21BasicSurfaceEvaluator11evalpoint2iEll' filepath='libnurbs/internals/basicsurfeval.cc' line='140' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='19'> - <!-- void BasicSurfaceEvaluator::endmap2f() --> - <function-decl name='endmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8endmap2fEv' filepath='libnurbs/internals/basicsurfeval.cc' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='20'> - <!-- void BasicSurfaceEvaluator::polymode(long int) --> - <function-decl name='polymode' mangled-name='_ZN21BasicSurfaceEvaluator8polymodeEl' filepath='libnurbs/internals/basicsurfeval.cc' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='21'> - <!-- void BasicSurfaceEvaluator::bgnline() --> - <function-decl name='bgnline' mangled-name='_ZN21BasicSurfaceEvaluator7bgnlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='148' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='22'> - <!-- void BasicSurfaceEvaluator::endline() --> - <function-decl name='endline' mangled-name='_ZN21BasicSurfaceEvaluator7endlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='156' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='23'> - <!-- void BasicSurfaceEvaluator::bgnclosedline() --> - <function-decl name='bgnclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13bgnclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='164' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='24'> - <!-- void BasicSurfaceEvaluator::endclosedline() --> - <function-decl name='endclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13endclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='172' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='25'> - <!-- void BasicSurfaceEvaluator::bgntmesh() --> - <function-decl name='bgntmesh' mangled-name='_ZN21BasicSurfaceEvaluator8bgntmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='194' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='26'> - <!-- void BasicSurfaceEvaluator::swaptmesh() --> - <function-decl name='swaptmesh' mangled-name='_ZN21BasicSurfaceEvaluator9swaptmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='202' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='27'> - <!-- void BasicSurfaceEvaluator::endtmesh() --> - <function-decl name='endtmesh' mangled-name='_ZN21BasicSurfaceEvaluator8endtmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='210' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='28'> - <!-- void BasicSurfaceEvaluator::bgnqstrip() --> - <function-decl name='bgnqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9bgnqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='29'> - <!-- void BasicSurfaceEvaluator::endqstrip() --> - <function-decl name='endqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9endqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='226' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='30'> - <!-- void BasicSurfaceEvaluator::bgntfan() --> - <function-decl name='bgntfan' mangled-name='_ZN21BasicSurfaceEvaluator7bgntfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='180' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='31'> - <!-- void BasicSurfaceEvaluator::endtfan() --> - <function-decl name='endtfan' mangled-name='_ZN21BasicSurfaceEvaluator7endtfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='188' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='32'> - <!-- void BasicSurfaceEvaluator::evalUStrip(int, REAL, REAL*, int, REAL, REAL*) --> - <function-decl name='evalUStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalUStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='33'> - <!-- void BasicSurfaceEvaluator::evalVStrip(int, REAL, REAL*, int, REAL, REAL*) --> - <function-decl name='evalVStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalVStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='34'> - <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE(REAL, REAL, REAL*, REAL*) --> - <function-decl name='inDoEvalCoord2NOGE' mangled-name='_ZN21BasicSurfaceEvaluator18inDoEvalCoord2NOGEEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='35'> - <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BU(REAL, REAL, REAL*, REAL*) --> - <function-decl name='inDoEvalCoord2NOGE_BU' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BUEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='36'> - <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BV(REAL, REAL, REAL*, REAL*) --> - <function-decl name='inDoEvalCoord2NOGE_BV' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BVEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='37'> - <!-- void BasicSurfaceEvaluator::inPreEvaluateBV_intfac(REAL) --> - <function-decl name='inPreEvaluateBV_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBV_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' vtable-offset='38'> - <!-- void BasicSurfaceEvaluator::inPreEvaluateBU_intfac(REAL) --> - <function-decl name='inPreEvaluateBU_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBU_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> - <parameter type-id='type-id-70' is-artificial='yes'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- typedef bezierPatchMesh bezierPatchMesh --> - <typedef-decl name='bezierPatchMesh' type-id='type-id-69' filepath='libnurbs/interface/bezierPatchMesh.h' line='66' column='1' id='type-id-231'/> - <!-- typedef bezierPatch bezierPatch --> - <typedef-decl name='bezierPatch' type-id='type-id-142' filepath='libnurbs/interface/bezierPatch.h' line='65' column='1' id='type-id-232'/> <!-- struct bezierPatch --> - <class-decl name='bezierPatch' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='36' column='1' id='type-id-142'> + <class-decl name='bezierPatch' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='36' column='1' id='type-id-94'> <data-member access='public' layout-offset-in-bits='0'> <!-- float bezierPatch::umin --> - <var-decl name='umin' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> + <var-decl name='umin' type-id='type-id-15' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='32'> <!-- float bezierPatch::vmin --> - <var-decl name='vmin' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> + <var-decl name='vmin' type-id='type-id-15' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- float bezierPatch::umax --> - <var-decl name='umax' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> + <var-decl name='umax' type-id='type-id-15' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='96'> <!-- float bezierPatch::vmax --> - <var-decl name='vmax' type-id='type-id-28' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> + <var-decl name='vmax' type-id='type-id-15' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='37' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- int bezierPatch::uorder --> - <var-decl name='uorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='38' column='1'/> + <var-decl name='uorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='38' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='160'> <!-- int bezierPatch::vorder --> - <var-decl name='vorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='39' column='1'/> + <var-decl name='vorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='39' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- int bezierPatch::dimension --> - <var-decl name='dimension' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='57' column='1'/> + <var-decl name='dimension' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='57' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- float* bezierPatch::ctlpoints --> - <var-decl name='ctlpoints' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='58' column='1'/> + <var-decl name='ctlpoints' type-id='type-id-49' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='58' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- bezierPatch* bezierPatch::next --> - <var-decl name='next' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='63' column='1'/> + <var-decl name='next' type-id='type-id-95' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='63' column='1'/> </data-member> </class-decl> + <!-- typedef bezierPatch bezierPatch --> + <typedef-decl name='bezierPatch' type-id='type-id-94' filepath='libnurbs/interface/bezierPatch.h' line='65' column='1' id='type-id-96'/> + <!-- struct bezierPatchMesh --> + <class-decl name='bezierPatchMesh' size-in-bits='960' is-struct='yes' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='39' column='1' id='type-id-97'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- bezierPatch* bezierPatchMesh::bpatch --> + <var-decl name='bpatch' type-id='type-id-95' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='40' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- bezierPatch* bezierPatchMesh::bpatch_normal --> + <var-decl name='bpatch_normal' type-id='type-id-95' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='41' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- bezierPatch* bezierPatchMesh::bpatch_texcoord --> + <var-decl name='bpatch_texcoord' type-id='type-id-95' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='42' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- bezierPatch* bezierPatchMesh::bpatch_color --> + <var-decl name='bpatch_color' type-id='type-id-95' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='43' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- float* bezierPatchMesh::UVarray --> + <var-decl name='UVarray' type-id='type-id-49' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='45' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- int* bezierPatchMesh::length_array --> + <var-decl name='length_array' type-id='type-id-98' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='46' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- GLenum* bezierPatchMesh::type_array --> + <var-decl name='type_array' type-id='type-id-99' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='47' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <!-- int bezierPatchMesh::size_UVarray --> + <var-decl name='size_UVarray' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='50' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <!-- int bezierPatchMesh::index_UVarray --> + <var-decl name='index_UVarray' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='51' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <!-- int bezierPatchMesh::size_length_array --> + <var-decl name='size_length_array' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='52' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <!-- int bezierPatchMesh::index_length_array --> + <var-decl name='index_length_array' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='53' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <!-- int bezierPatchMesh::counter --> + <var-decl name='counter' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='55' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <!-- GLenum bezierPatchMesh::type --> + <var-decl name='type' type-id='type-id-36' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='56' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <!-- float* bezierPatchMesh::vertex_array --> + <var-decl name='vertex_array' type-id='type-id-49' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='59' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <!-- float* bezierPatchMesh::normal_array --> + <var-decl name='normal_array' type-id='type-id-49' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='60' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <!-- float* bezierPatchMesh::color_array --> + <var-decl name='color_array' type-id='type-id-49' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='61' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <!-- float* bezierPatchMesh::texcoord_array --> + <var-decl name='texcoord_array' type-id='type-id-49' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='62' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <!-- bezierPatchMesh* bezierPatchMesh::next --> + <var-decl name='next' type-id='type-id-54' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='65' column='1'/> + </data-member> + </class-decl> + <!-- typedef bezierPatchMesh bezierPatchMesh --> + <typedef-decl name='bezierPatchMesh' type-id='type-id-97' filepath='libnurbs/interface/bezierPatchMesh.h' line='66' column='1' id='type-id-100'/> <!-- struct surfEvalMachine --> - <class-decl name='surfEvalMachine' size-in-bits='210272' is-struct='yes' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='63' column='1' id='type-id-93'> + <class-decl name='surfEvalMachine' size-in-bits='210272' is-struct='yes' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='63' column='1' id='type-id-101'> <data-member access='public' layout-offset-in-bits='0'> <!-- REAL surfEvalMachine::uprime --> <var-decl name='uprime' type-id='type-id-1' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='64' column='1'/> @@ -5396,7 +3718,7 @@ </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- int surfEvalMachine::k --> - <var-decl name='k' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='66' column='1'/> + <var-decl name='k' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='66' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='96'> <!-- REAL surfEvalMachine::u1 --> @@ -5408,11 +3730,11 @@ </data-member> <data-member access='public' layout-offset-in-bits='160'> <!-- int surfEvalMachine::ustride --> - <var-decl name='ustride' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='69' column='1'/> + <var-decl name='ustride' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='69' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- int surfEvalMachine::uorder --> - <var-decl name='uorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='70' column='1'/> + <var-decl name='uorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='70' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='224'> <!-- REAL surfEvalMachine::v1 --> @@ -5424,15 +3746,15 @@ </data-member> <data-member access='public' layout-offset-in-bits='288'> <!-- int surfEvalMachine::vstride --> - <var-decl name='vstride' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='73' column='1'/> + <var-decl name='vstride' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='73' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- int surfEvalMachine::vorder --> - <var-decl name='vorder' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='74' column='1'/> + <var-decl name='vorder' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='74' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='352'> <!-- REAL surfEvalMachine::ctlPoints[6400] --> - <var-decl name='ctlPoints' type-id='type-id-53' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='75' column='1'/> + <var-decl name='ctlPoints' type-id='type-id-56' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='75' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='205152'> <!-- REAL surfEvalMachine::ucoeff[40] --> @@ -5452,888 +3774,2715 @@ </data-member> </class-decl> <!-- typedef surfEvalMachine surfEvalMachine --> - <typedef-decl name='surfEvalMachine' type-id='type-id-93' filepath='libnurbs/interface/glsurfeval.h' line='80' column='1' id='type-id-54'/> - <!-- struct bezierPatchMesh --> - <class-decl name='bezierPatchMesh' size-in-bits='960' is-struct='yes' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='39' column='1' id='type-id-69'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- bezierPatch* bezierPatchMesh::bpatch --> - <var-decl name='bpatch' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='40' column='1'/> + <typedef-decl name='surfEvalMachine' type-id='type-id-101' filepath='libnurbs/interface/glsurfeval.h' line='80' column='1' id='type-id-57'/> + <!-- class StoredVertex --> + <class-decl name='StoredVertex' size-in-bits='256' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='84' column='1' id='type-id-102'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- int StoredVertex::type --> + <var-decl name='type' type-id='type-id-8' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='95' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- bezierPatch* bezierPatchMesh::bpatch_normal --> - <var-decl name='bpatch_normal' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='41' column='1'/> + <data-member access='private' layout-offset-in-bits='32'> + <!-- REAL StoredVertex::coord[2] --> + <var-decl name='coord' type-id='type-id-88' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='96' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- bezierPatch* bezierPatchMesh::bpatch_texcoord --> - <var-decl name='bpatch_texcoord' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='42' column='1'/> + <data-member access='private' layout-offset-in-bits='128'> + <!-- long int StoredVertex::point[2] --> + <var-decl name='point' type-id='type-id-93' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='97' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- bezierPatch* bezierPatchMesh::bpatch_color --> - <var-decl name='bpatch_color' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='43' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- float* bezierPatchMesh::UVarray --> - <var-decl name='UVarray' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='45' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- int* bezierPatchMesh::length_array --> - <var-decl name='length_array' type-id='type-id-133' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='46' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- GLenum* bezierPatchMesh::type_array --> - <var-decl name='type_array' type-id='type-id-134' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='47' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='448'> - <!-- int bezierPatchMesh::size_UVarray --> - <var-decl name='size_UVarray' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='480'> - <!-- int bezierPatchMesh::index_UVarray --> - <var-decl name='index_UVarray' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='51' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='512'> - <!-- int bezierPatchMesh::size_length_array --> - <var-decl name='size_length_array' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='52' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='544'> - <!-- int bezierPatchMesh::index_length_array --> - <var-decl name='index_length_array' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='53' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='576'> - <!-- int bezierPatchMesh::counter --> - <var-decl name='counter' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='608'> - <!-- GLenum bezierPatchMesh::type --> - <var-decl name='type' type-id='type-id-59' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='56' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='640'> - <!-- float* bezierPatchMesh::vertex_array --> - <var-decl name='vertex_array' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='59' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='704'> - <!-- float* bezierPatchMesh::normal_array --> - <var-decl name='normal_array' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='60' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='768'> - <!-- float* bezierPatchMesh::color_array --> - <var-decl name='color_array' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='61' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='832'> - <!-- float* bezierPatchMesh::texcoord_array --> - <var-decl name='texcoord_array' type-id='type-id-58' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='62' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='896'> - <!-- bezierPatchMesh* bezierPatchMesh::next --> - <var-decl name='next' type-id='type-id-51' visibility='default' filepath='libnurbs/interface/bezierPatchMesh.h' line='65' column='1'/> - </data-member> + <member-function access='private' constructor='yes'> + <!-- StoredVertex::StoredVertex() --> + <function-decl name='StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'StoredVertex*' --> + <parameter type-id='type-id-92' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- StoredVertex::~StoredVertex(int) --> + <function-decl name='~StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'StoredVertex*' --> + <parameter type-id='type-id-92' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void StoredVertex::saveEvalCoord(REAL, REAL) --> + <function-decl name='saveEvalCoord' mangled-name='_ZN12StoredVertex13saveEvalCoordEff' filepath='libnurbs/interface/glsurfeval.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'StoredVertex*' --> + <parameter type-id='type-id-92' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void StoredVertex::saveEvalPoint(long int, long int) --> + <function-decl name='saveEvalPoint' mangled-name='_ZN12StoredVertex13saveEvalPointEll' filepath='libnurbs/interface/glsurfeval.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'StoredVertex*' --> + <parameter type-id='type-id-92' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void StoredVertex::invoke(OpenGLSurfaceEvaluator*) --> + <function-decl name='invoke' mangled-name='_ZN12StoredVertex6invokeEP22OpenGLSurfaceEvaluator' filepath='libnurbs/interface/glsurfeval.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'StoredVertex*' --> + <parameter type-id='type-id-92' is-artificial='yes'/> + <!-- parameter of type 'OpenGLSurfaceEvaluator*' --> + <parameter type-id='type-id-48'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> </class-decl> <!-- BasicSurfaceEvaluator* --> - <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-70'/> + <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-103'/> <!-- GLenum* --> - <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-134'/> + <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-99'/> <!-- REAL[3]* --> - <pointer-type-def type-id='type-id-230' size-in-bits='64' id='type-id-233'/> + <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-58'/> <!-- StoredVertex* --> - <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-67'/> - <!-- StoredVertex* const --> - <qualified-type-def type-id='type-id-67' const='yes' id='type-id-234'/> + <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-92'/> <!-- SurfaceMap* --> - <pointer-type-def type-id='type-id-235' size-in-bits='64' id='type-id-236'/> + <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-105'/> <!-- bezierPatch* --> - <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-132'/> + <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/> <!-- bezierPatchMesh* --> - <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-51'/> + <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-54'/> <!-- int* --> - <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-133'/> + <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-98'/> <!-- surfEvalMachine* --> - <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-237'/> + <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-59'/> <!-- struct SurfaceMap --> - <class-decl name='SurfaceMap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-235'/> + <class-decl name='SurfaceMap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-104'/> + <!-- struct BasicSurfaceEvaluator --> + <class-decl name='BasicSurfaceEvaluator' is-struct='yes' visibility='default' filepath='libnurbs/internals/basicsurfeval.h' line='43' column='1' is-declaration-only='yes' id='type-id-51'> + <!-- class CachingEvaluator --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-10'/> + <member-function access='public' destructor='yes' vtable-offset='-1'> + <!-- BasicSurfaceEvaluator::~BasicSurfaceEvaluator(int) --> + <function-decl name='~BasicSurfaceEvaluator' filepath='libnurbs/internals/basicsurfeval.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='9'> + <!-- void BasicSurfaceEvaluator::range2f(long int, REAL*, REAL*) --> + <function-decl name='range2f' mangled-name='_ZN21BasicSurfaceEvaluator7range2fElPfS0_' filepath='libnurbs/internals/basicsurfeval.cc' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='10'> + <!-- void BasicSurfaceEvaluator::domain2f(REAL, REAL, REAL, REAL) --> + <function-decl name='domain2f' mangled-name='_ZN21BasicSurfaceEvaluator8domain2fEffff' filepath='libnurbs/internals/basicsurfeval.cc' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='11'> + <!-- void BasicSurfaceEvaluator::enable(long int) --> + <function-decl name='enable' mangled-name='_ZN21BasicSurfaceEvaluator6enableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='12'> + <!-- void BasicSurfaceEvaluator::disable(long int) --> + <function-decl name='disable' mangled-name='_ZN21BasicSurfaceEvaluator7disableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='13'> + <!-- void BasicSurfaceEvaluator::bgnmap2f(long int) --> + <function-decl name='bgnmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8bgnmap2fEl' filepath='libnurbs/internals/basicsurfeval.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='14'> + <!-- void BasicSurfaceEvaluator::map2f(long int, REAL, REAL, long int, long int, REAL, REAL, long int, long int, REAL*) --> + <function-decl name='map2f' mangled-name='_ZN21BasicSurfaceEvaluator5map2fElffllffllPf' filepath='libnurbs/internals/basicsurfeval.cc' line='106' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='15'> + <!-- void BasicSurfaceEvaluator::mapgrid2f(long int, REAL, REAL, long int, REAL, REAL) --> + <function-decl name='mapgrid2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapgrid2fElfflff' filepath='libnurbs/internals/basicsurfeval.cc' line='116' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='16'> + <!-- void BasicSurfaceEvaluator::mapmesh2f(long int, long int, long int, long int, long int) --> + <function-decl name='mapmesh2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapmesh2fElllll' filepath='libnurbs/internals/basicsurfeval.cc' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='17'> + <!-- void BasicSurfaceEvaluator::evalcoord2f(long int, REAL, REAL) --> + <function-decl name='evalcoord2f' mangled-name='_ZN21BasicSurfaceEvaluator11evalcoord2fElff' filepath='libnurbs/internals/basicsurfeval.cc' line='132' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='18'> + <!-- void BasicSurfaceEvaluator::evalpoint2i(long int, long int) --> + <function-decl name='evalpoint2i' mangled-name='_ZN21BasicSurfaceEvaluator11evalpoint2iEll' filepath='libnurbs/internals/basicsurfeval.cc' line='140' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='19'> + <!-- void BasicSurfaceEvaluator::endmap2f() --> + <function-decl name='endmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8endmap2fEv' filepath='libnurbs/internals/basicsurfeval.cc' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='20'> + <!-- void BasicSurfaceEvaluator::polymode(long int) --> + <function-decl name='polymode' mangled-name='_ZN21BasicSurfaceEvaluator8polymodeEl' filepath='libnurbs/internals/basicsurfeval.cc' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='21'> + <!-- void BasicSurfaceEvaluator::bgnline() --> + <function-decl name='bgnline' mangled-name='_ZN21BasicSurfaceEvaluator7bgnlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='148' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='22'> + <!-- void BasicSurfaceEvaluator::endline() --> + <function-decl name='endline' mangled-name='_ZN21BasicSurfaceEvaluator7endlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='156' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='23'> + <!-- void BasicSurfaceEvaluator::bgnclosedline() --> + <function-decl name='bgnclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13bgnclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='164' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='24'> + <!-- void BasicSurfaceEvaluator::endclosedline() --> + <function-decl name='endclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13endclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='172' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='25'> + <!-- void BasicSurfaceEvaluator::bgntmesh() --> + <function-decl name='bgntmesh' mangled-name='_ZN21BasicSurfaceEvaluator8bgntmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='194' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='26'> + <!-- void BasicSurfaceEvaluator::swaptmesh() --> + <function-decl name='swaptmesh' mangled-name='_ZN21BasicSurfaceEvaluator9swaptmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='202' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='27'> + <!-- void BasicSurfaceEvaluator::endtmesh() --> + <function-decl name='endtmesh' mangled-name='_ZN21BasicSurfaceEvaluator8endtmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='210' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='28'> + <!-- void BasicSurfaceEvaluator::bgnqstrip() --> + <function-decl name='bgnqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9bgnqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='218' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='29'> + <!-- void BasicSurfaceEvaluator::endqstrip() --> + <function-decl name='endqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9endqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='226' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='30'> + <!-- void BasicSurfaceEvaluator::bgntfan() --> + <function-decl name='bgntfan' mangled-name='_ZN21BasicSurfaceEvaluator7bgntfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='180' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='31'> + <!-- void BasicSurfaceEvaluator::endtfan() --> + <function-decl name='endtfan' mangled-name='_ZN21BasicSurfaceEvaluator7endtfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='188' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='32'> + <!-- void BasicSurfaceEvaluator::evalUStrip(int, REAL, REAL*, int, REAL, REAL*) --> + <function-decl name='evalUStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalUStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='33'> + <!-- void BasicSurfaceEvaluator::evalVStrip(int, REAL, REAL*, int, REAL, REAL*) --> + <function-decl name='evalVStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalVStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='34'> + <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE(REAL, REAL, REAL*, REAL*) --> + <function-decl name='inDoEvalCoord2NOGE' mangled-name='_ZN21BasicSurfaceEvaluator18inDoEvalCoord2NOGEEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='35'> + <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BU(REAL, REAL, REAL*, REAL*) --> + <function-decl name='inDoEvalCoord2NOGE_BU' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BUEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='36'> + <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BV(REAL, REAL, REAL*, REAL*) --> + <function-decl name='inDoEvalCoord2NOGE_BV' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BVEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='37'> + <!-- void BasicSurfaceEvaluator::inPreEvaluateBV_intfac(REAL) --> + <function-decl name='inPreEvaluateBV_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBV_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' vtable-offset='38'> + <!-- void BasicSurfaceEvaluator::inPreEvaluateBU_intfac(REAL) --> + <function-decl name='inPreEvaluateBU_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBU_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'BasicSurfaceEvaluator*' --> + <parameter type-id='type-id-103' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> </abi-instr> <abi-instr address-size='64' path='libnurbs/interface/insurfeval.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/arc.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- char --> - <type-decl name='char' size-in-bits='8' id='type-id-143'/> + <type-decl name='char' size-in-bits='8' id='type-id-106'/> <!-- char*[32] --> - <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='2048' id='type-id-114'> + <array-type-def dimensions='1' type-id='type-id-107' size-in-bits='2048' id='type-id-108'> <!-- <anonymous range>[32] --> - <subrange length='32' type-id='type-id-3' id='type-id-144'/> + <subrange length='32' type-id='type-id-3' id='type-id-109'/> </array-type-def> - <!-- struct Arc --> - <class-decl name='Arc' size-in-bits='448' is-struct='yes' visibility='default' filepath='libnurbs/internals/arc.h' line='55' column='1' id='type-id-168'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' static='yes'> - <!-- static const int Arc::bezier_tag --> - <var-decl name='bezier_tag' type-id='type-id-174' mangled-name='_ZN3Arc10bezier_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='58' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int Arc::arc_tag --> - <var-decl name='arc_tag' type-id='type-id-174' mangled-name='_ZN3Arc7arc_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='59' column='1'/> - </data-member> - <data-member access='public' static='yes'> - <!-- static const int Arc::tail_tag --> - <var-decl name='tail_tag' type-id='type-id-174' mangled-name='_ZN3Arc8tail_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='60' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Arc_ptr Arc::prev --> - <var-decl name='prev' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='61' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- Arc_ptr Arc::next --> - <var-decl name='next' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='62' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- Arc_ptr Arc::link --> - <var-decl name='link' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='63' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- BezierArc* Arc::bezierArc --> - <var-decl name='bezierArc' type-id='type-id-193' visibility='default' filepath='libnurbs/internals/arc.h' line='64' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- PwlArc* Arc::pwlArc --> - <var-decl name='pwlArc' type-id='type-id-194' visibility='default' filepath='libnurbs/internals/arc.h' line='65' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- long int Arc::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/arc.h' line='66' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- long int Arc::nuid --> - <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/arc.h' line='67' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Arc::Arc(Arc*, PwlArc*) --> - <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Arc*' --> - <parameter type-id='type-id-167' is-artificial='yes'/> - <!-- parameter of type 'Arc*' --> - <parameter type-id='type-id-167'/> - <!-- parameter of type 'PwlArc*' --> - <parameter type-id='type-id-194'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' constructor='yes'> - <!-- Arc::Arc(arc_side, long int) --> - <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Arc*' --> - <parameter type-id='type-id-167' is-artificial='yes'/> - <!-- parameter of type 'enum arc_side' --> - <parameter type-id='type-id-195'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Pool --> - <class-decl name='Pool' size-in-bits='2496' visibility='default' filepath='libnurbs/internals/bufpool.h' line='50' column='1' id='type-id-76'> - <member-type access='protected'> - <!-- enum Pool::Magic --> - <enum-decl name='Magic' filepath='libnurbs/internals/bufpool.h' line='70' column='1' id='type-id-112'> - <underlying-type type-id='type-id-9'/> - <enumerator name='is_allocated' value='62369'/> - <enumerator name='is_free' value='61858'/> - </enum-decl> - </member-type> - <data-member access='protected' layout-offset-in-bits='0'> - <!-- Buffer* Pool::freelist --> - <var-decl name='freelist' type-id='type-id-113' visibility='default' filepath='libnurbs/internals/bufpool.h' line='62' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='64'> - <!-- char* Pool::blocklist[32] --> - <var-decl name='blocklist' type-id='type-id-114' visibility='default' filepath='libnurbs/internals/bufpool.h' line='63' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2112'> - <!-- int Pool::nextblock --> - <var-decl name='nextblock' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='64' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2176'> - <!-- char* Pool::curblock --> - <var-decl name='curblock' type-id='type-id-115' visibility='default' filepath='libnurbs/internals/bufpool.h' line='65' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2240'> - <!-- int Pool::buffersize --> - <var-decl name='buffersize' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='66' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2272'> - <!-- int Pool::nextsize --> - <var-decl name='nextsize' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='67' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2304'> - <!-- int Pool::nextfree --> - <var-decl name='nextfree' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='68' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2336'> - <!-- int Pool::initsize --> - <var-decl name='initsize' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/bufpool.h' line='69' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2368'> - <!-- const char* Pool::name --> - <var-decl name='name' type-id='type-id-116' visibility='default' filepath='libnurbs/internals/bufpool.h' line='71' column='1'/> - </data-member> - <data-member access='protected' layout-offset-in-bits='2432'> - <!-- Pool::Magic Pool::magic --> - <var-decl name='magic' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/bufpool.h' line='72' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Pool::Pool(int, int, const char*) --> - <function-decl name='Pool' filepath='libnurbs/internals/bufpool.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Pool*' --> - <parameter type-id='type-id-117' is-artificial='yes'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'const char*' --> - <parameter type-id='type-id-116'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Pool::~Pool(int) --> - <function-decl name='~Pool' filepath='libnurbs/internals/bufpool.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Pool*' --> - <parameter type-id='type-id-117' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> <!-- typedef unsigned long int size_t --> - <typedef-decl name='size_t' type-id='type-id-3' filepath='/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/stddef.h' line='211' column='1' id='type-id-238'/> - <!-- class Buffer --> - <class-decl name='Buffer' size-in-bits='64' visibility='default' filepath='libnurbs/internals/bufpool.h' line='45' column='1' id='type-id-135'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Buffer* Buffer::next --> - <var-decl name='next' type-id='type-id-113' visibility='default' filepath='libnurbs/internals/bufpool.h' line='47' column='1'/> - </data-member> - </class-decl> - <!-- class PooledObj --> - <class-decl name='PooledObj' size-in-bits='8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='118' column='1' id='type-id-157'/> - <!-- struct TrimVertex --> - <class-decl name='TrimVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='43' column='1' id='type-id-172'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- REAL TrimVertex::param[2] --> - <var-decl name='param' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='45' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int TrimVertex::nuid --> - <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='50' column='1'/> - </data-member> - </class-decl> + <typedef-decl name='size_t' type-id='type-id-3' filepath='/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/stddef.h' line='211' column='1' id='type-id-110'/> <!-- typedef Arc* Arc_ptr --> - <typedef-decl name='Arc_ptr' type-id='type-id-167' filepath='libnurbs/internals/arc.h' line='50' column='1' id='type-id-124'/> + <typedef-decl name='Arc_ptr' type-id='type-id-111' filepath='libnurbs/internals/arc.h' line='50' column='1' id='type-id-112'/> <!-- enum arc_side --> - <enum-decl name='arc_side' filepath='libnurbs/internals/arc.h' line='52' column='1' id='type-id-195'> - <underlying-type type-id='type-id-9'/> + <enum-decl name='arc_side' filepath='libnurbs/internals/arc.h' line='52' column='1' id='type-id-113'> + <underlying-type type-id='type-id-12'/> <enumerator name='arc_none' value='0'/> <enumerator name='arc_right' value='1'/> <enumerator name='arc_top' value='2'/> <enumerator name='arc_left' value='3'/> <enumerator name='arc_bottom' value='4'/> </enum-decl> - <!-- class PwlArc --> - <class-decl name='PwlArc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='44' column='1' id='type-id-210'> + <!-- struct Arc --> + <class-decl name='Arc' size-in-bits='448' is-struct='yes' visibility='default' filepath='libnurbs/internals/arc.h' line='55' column='1' id='type-id-114'> <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> + <data-member access='public' static='yes'> + <!-- static const int Arc::bezier_tag --> + <var-decl name='bezier_tag' type-id='type-id-116' mangled-name='_ZN3Arc10bezier_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='58' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const int Arc::arc_tag --> + <var-decl name='arc_tag' type-id='type-id-116' mangled-name='_ZN3Arc7arc_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='59' column='1'/> + </data-member> + <data-member access='public' static='yes'> + <!-- static const int Arc::tail_tag --> + <var-decl name='tail_tag' type-id='type-id-116' mangled-name='_ZN3Arc8tail_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='60' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='0'> + <!-- Arc_ptr Arc::prev --> + <var-decl name='prev' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/arc.h' line='61' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- Arc_ptr Arc::next --> + <var-decl name='next' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/arc.h' line='62' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- Arc_ptr Arc::link --> + <var-decl name='link' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/arc.h' line='63' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- BezierArc* Arc::bezierArc --> + <var-decl name='bezierArc' type-id='type-id-117' visibility='default' filepath='libnurbs/internals/arc.h' line='64' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- PwlArc* Arc::pwlArc --> + <var-decl name='pwlArc' type-id='type-id-118' visibility='default' filepath='libnurbs/internals/arc.h' line='65' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- long int Arc::type --> + <var-decl name='type' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/arc.h' line='66' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- long int Arc::nuid --> + <var-decl name='nuid' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/arc.h' line='67' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- Arc::Arc(Arc*, PwlArc*) --> + <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- parameter of type 'Arc*' --> + <parameter type-id='type-id-111'/> + <!-- parameter of type 'PwlArc*' --> + <parameter type-id='type-id-118'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' constructor='yes'> + <!-- Arc::Arc(arc_side, long int) --> + <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- parameter of type 'enum arc_side' --> + <parameter type-id='type-id-113'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::clearside() --> + <function-decl name='clearside' mangled-name='_ZN3Arc9clearsideEv' filepath='libnurbs/internals/arc.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::clearbezier() --> + <function-decl name='clearbezier' mangled-name='_ZN3Arc11clearbezierEv' filepath='libnurbs/internals/arc.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::setside(arc_side) --> + <function-decl name='setside' mangled-name='_ZN3Arc7setsideE8arc_side' filepath='libnurbs/internals/arc.h' line='95' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- parameter of type 'enum arc_side' --> + <parameter type-id='type-id-113'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL* Arc::tail() --> + <function-decl name='tail' mangled-name='_ZN3Arc4tailEv' filepath='libnurbs/internals/arc.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- REAL* --> + <return type-id='type-id-22'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL* Arc::rhead() --> + <function-decl name='rhead' mangled-name='_ZN3Arc5rheadEv' filepath='libnurbs/internals/arc.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- REAL* --> + <return type-id='type-id-22'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::show() --> + <function-decl name='show' mangled-name='_ZN3Arc4showEv' filepath='libnurbs/internals/arc.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- long int Arc::isbezier() --> + <function-decl name='isbezier' mangled-name='_ZN3Arc8isbezierEv' filepath='libnurbs/internals/arc.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- long int --> + <return type-id='type-id-38'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::makeSide(PwlArc*, arc_side) --> + <function-decl name='makeSide' mangled-name='_ZN3Arc8makeSideEP6PwlArc8arc_side' filepath='libnurbs/internals/arc.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- parameter of type 'PwlArc*' --> + <parameter type-id='type-id-118'/> + <!-- parameter of type 'enum arc_side' --> + <parameter type-id='type-id-113'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Arc::numpts() --> + <function-decl name='numpts' mangled-name='_ZN3Arc6numptsEv' filepath='libnurbs/internals/arc.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::markverts() --> + <function-decl name='markverts' mangled-name='_ZN3Arc9markvertsEv' filepath='libnurbs/internals/arc.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::getextrema(Arc_ptr*) --> + <function-decl name='getextrema' mangled-name='_ZN3Arc10getextremaEPPS_' filepath='libnurbs/internals/arc.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- parameter of type 'Arc_ptr*' --> + <parameter type-id='type-id-119'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::print() --> + <function-decl name='print' mangled-name='_ZN3Arc5printEv' filepath='libnurbs/internals/arc.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Arc::isDisconnected() --> + <function-decl name='isDisconnected' mangled-name='_ZN3Arc14isDisconnectedEv' filepath='libnurbs/internals/arc.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Arc::check() --> + <function-decl name='check' mangled-name='_ZN3Arc5checkEv' filepath='libnurbs/internals/arc.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- Arc_ptr Arc::append(Arc_ptr) --> + <function-decl name='append' mangled-name='_ZN3Arc6appendEPS_' filepath='libnurbs/internals/arc.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- typedef Arc_ptr --> + <return type-id='type-id-112'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Arc::getitail() --> + <function-decl name='getitail' mangled-name='_ZN3Arc8getitailEv' filepath='libnurbs/internals/arc.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL* Arc::head() --> + <function-decl name='head' mangled-name='_ZN3Arc4headEv' filepath='libnurbs/internals/arc.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- REAL* --> + <return type-id='type-id-22'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::setbezier() --> + <function-decl name='setbezier' mangled-name='_ZN3Arc9setbezierEv' filepath='libnurbs/internals/arc.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::setmark() --> + <function-decl name='setmark' mangled-name='_ZN3Arc7setmarkEv' filepath='libnurbs/internals/arc.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- long int Arc::ismarked() --> + <function-decl name='ismarked' mangled-name='_ZN3Arc8ismarkedEv' filepath='libnurbs/internals/arc.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- long int --> + <return type-id='type-id-38'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::clearmark() --> + <function-decl name='clearmark' mangled-name='_ZN3Arc9clearmarkEv' filepath='libnurbs/internals/arc.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::setitail() --> + <function-decl name='setitail' mangled-name='_ZN3Arc8setitailEv' filepath='libnurbs/internals/arc.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Arc::clearitail() --> + <function-decl name='clearitail' mangled-name='_ZN3Arc10clearitailEv' filepath='libnurbs/internals/arc.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- arc_side Arc::getside() --> + <function-decl name='getside' mangled-name='_ZN3Arc7getsideEv' filepath='libnurbs/internals/arc.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- enum arc_side --> + <return type-id='type-id-113'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Arc::isTessellated() --> + <function-decl name='isTessellated' mangled-name='_ZN3Arc13isTessellatedEv' filepath='libnurbs/internals/arc.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Arc*' --> + <parameter type-id='type-id-111' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + </class-decl> + <!-- class Buffer --> + <class-decl name='Buffer' size-in-bits='64' visibility='default' filepath='libnurbs/internals/bufpool.h' line='45' column='1' id='type-id-120'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- Buffer* Buffer::next --> + <var-decl name='next' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/bufpool.h' line='47' column='1'/> + </data-member> + </class-decl> + <!-- class Pool --> + <class-decl name='Pool' size-in-bits='2496' visibility='default' filepath='libnurbs/internals/bufpool.h' line='50' column='1' id='type-id-67'> + <member-type access='protected'> + <!-- enum Pool::Magic --> + <enum-decl name='Magic' filepath='libnurbs/internals/bufpool.h' line='70' column='1' id='type-id-122'> + <underlying-type type-id='type-id-12'/> + <enumerator name='is_allocated' value='62369'/> + <enumerator name='is_free' value='61858'/> + </enum-decl> + </member-type> + <data-member access='protected' layout-offset-in-bits='0'> + <!-- Buffer* Pool::freelist --> + <var-decl name='freelist' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/bufpool.h' line='62' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='64'> + <!-- char* Pool::blocklist[32] --> + <var-decl name='blocklist' type-id='type-id-108' visibility='default' filepath='libnurbs/internals/bufpool.h' line='63' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='2112'> + <!-- int Pool::nextblock --> + <var-decl name='nextblock' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='64' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='2176'> + <!-- char* Pool::curblock --> + <var-decl name='curblock' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/bufpool.h' line='65' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='2240'> + <!-- int Pool::buffersize --> + <var-decl name='buffersize' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='66' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='2272'> + <!-- int Pool::nextsize --> + <var-decl name='nextsize' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='67' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='2304'> + <!-- int Pool::nextfree --> + <var-decl name='nextfree' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='68' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='2336'> + <!-- int Pool::initsize --> + <var-decl name='initsize' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='69' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='2368'> + <!-- const char* Pool::name --> + <var-decl name='name' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/bufpool.h' line='71' column='1'/> + </data-member> + <data-member access='protected' layout-offset-in-bits='2432'> + <!-- Pool::Magic Pool::magic --> + <var-decl name='magic' type-id='type-id-122' visibility='default' filepath='libnurbs/internals/bufpool.h' line='72' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- Pool::Pool(int, int, const char*) --> + <function-decl name='Pool' filepath='libnurbs/internals/bufpool.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Pool*' --> + <parameter type-id='type-id-123' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-84'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- Pool::~Pool(int) --> + <function-decl name='~Pool' filepath='libnurbs/internals/bufpool.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Pool*' --> + <parameter type-id='type-id-123' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void* Pool::new_buffer() --> + <function-decl name='new_buffer' mangled-name='_ZN4Pool10new_bufferEv' filepath='libnurbs/internals/bufpool.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Pool*' --> + <parameter type-id='type-id-123' is-artificial='yes'/> + <!-- void* --> + <return type-id='type-id-35'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Pool::clear() --> + <function-decl name='clear' mangled-name='_ZN4Pool5clearEv' filepath='libnurbs/internals/bufpool.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Pool*' --> + <parameter type-id='type-id-123' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Pool::grow() --> + <function-decl name='grow' mangled-name='_ZN4Pool4growEv' filepath='libnurbs/internals/bufpool.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Pool*' --> + <parameter type-id='type-id-123' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Pool::free_buffer(void*) --> + <function-decl name='free_buffer' mangled-name='_ZN4Pool11free_bufferEPv' filepath='libnurbs/internals/bufpool.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Pool*' --> + <parameter type-id='type-id-123' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- class PooledObj --> + <class-decl name='PooledObj' size-in-bits='8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='118' column='1' id='type-id-115'> + <member-function access='private' static='yes'> + <!-- void PooledObj::operator delete(Pool&) --> + <function-decl name='operator delete' mangled-name='_ZN9PooledObjdlEPvR4Pool' filepath='libnurbs/internals/bufpool.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- parameter of type 'Pool&' --> + <parameter type-id='type-id-124'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- void* PooledObj::operator new(Pool&) --> + <function-decl name='operator new' mangled-name='_ZN9PooledObjnwEmR4Pool' filepath='libnurbs/internals/bufpool.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef size_t' --> + <parameter type-id='type-id-110'/> + <!-- parameter of type 'Pool&' --> + <parameter type-id='type-id-124'/> + <!-- void* --> + <return type-id='type-id-35'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void PooledObj::deleteMe(Pool&) --> + <function-decl name='deleteMe' mangled-name='_ZN9PooledObj8deleteMeER4Pool' filepath='libnurbs/internals/bufpool.h' line='126' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'PooledObj*' --> + <parameter type-id='type-id-125' is-artificial='yes'/> + <!-- parameter of type 'Pool&' --> + <parameter type-id='type-id-124'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- class PwlArc --> + <class-decl name='PwlArc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='44' column='1' id='type-id-126'> + <!-- class PooledObj --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> <data-member access='private' layout-offset-in-bits='0'> <!-- TrimVertex* PwlArc::pts --> - <var-decl name='pts' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='46' column='1'/> + <var-decl name='pts' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='46' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- int PwlArc::npts --> - <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='47' column='1'/> + <var-decl name='npts' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='47' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- long int PwlArc::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='48' column='1'/> + <var-decl name='type' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='48' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- PwlArc::PwlArc() --> <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'PwlArc*' --> - <parameter type-id='type-id-194' is-artificial='yes'/> + <parameter type-id='type-id-118' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' constructor='yes'> <!-- PwlArc::PwlArc(int, TrimVertex*) --> <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'PwlArc*' --> - <parameter type-id='type-id-194' is-artificial='yes'/> + <parameter type-id='type-id-118' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'TrimVertex*' --> - <parameter type-id='type-id-141'/> + <parameter type-id='type-id-127'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' constructor='yes'> <!-- PwlArc::PwlArc(int, TrimVertex*, long int) --> <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'PwlArc*' --> - <parameter type-id='type-id-194' is-artificial='yes'/> + <parameter type-id='type-id-118' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'TrimVertex*' --> - <parameter type-id='type-id-141'/> + <parameter type-id='type-id-127'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> + <!-- struct TrimVertex --> + <class-decl name='TrimVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='43' column='1' id='type-id-128'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- REAL TrimVertex::param[2] --> + <var-decl name='param' type-id='type-id-88' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='45' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- long int TrimVertex::nuid --> + <var-decl name='nuid' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='50' column='1'/> + </data-member> + </class-decl> <!-- Arc* --> - <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-167'/> - <!-- Arc* const --> - <qualified-type-def type-id='type-id-167' const='yes' id='type-id-239'/> + <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-111'/> <!-- Arc_ptr* --> - <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-240'/> + <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-119'/> <!-- BezierArc* --> - <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-193'/> + <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-117'/> <!-- Buffer* --> - <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-113'/> + <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-121'/> <!-- Pool& --> - <reference-type-def kind='lvalue' type-id='type-id-76' size-in-bits='64' id='type-id-150'/> + <reference-type-def kind='lvalue' type-id='type-id-67' size-in-bits='64' id='type-id-124'/> <!-- Pool* --> - <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-117'/> + <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-123'/> <!-- PooledObj* --> - <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-241'/> + <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-125'/> <!-- PwlArc* --> - <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-194'/> + <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-118'/> <!-- TrimVertex* --> - <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-141'/> + <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-127'/> <!-- char* --> - <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-115'/> + <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-107'/> <!-- const char --> - <qualified-type-def type-id='type-id-143' const='yes' id='type-id-166'/> + <qualified-type-def type-id='type-id-106' const='yes' id='type-id-130'/> <!-- const char* --> - <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-116'/> + <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-84'/> <!-- const int --> - <qualified-type-def type-id='type-id-11' const='yes' id='type-id-174'/> + <qualified-type-def type-id='type-id-8' const='yes' id='type-id-116'/> + <!-- struct BezierArc --> + <class-decl name='BezierArc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-129'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/arcsorter.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- REAL[4] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-127'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-131'> <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-3' id='type-id-65'/> + <subrange length='4' type-id='type-id-3' id='type-id-61'/> </array-type-def> <!-- REAL[][24][24] --> - <array-type-def dimensions='3' type-id='type-id-1' size-in-bits='infinite' id='type-id-145'> + <array-type-def dimensions='3' type-id='type-id-1' size-in-bits='infinite' id='type-id-132'> <!-- <anonymous range>[] --> - <subrange length='infinite' id='type-id-170'/> + <subrange length='infinite' id='type-id-133'/> <!-- <anonymous range>[24] --> - <subrange length='24' type-id='type-id-3' id='type-id-171'/> + <subrange length='24' type-id='type-id-3' id='type-id-134'/> <!-- <anonymous range>[24] --> - <subrange length='24' type-id='type-id-3' id='type-id-171'/> + <subrange length='24' type-id='type-id-3' id='type-id-134'/> </array-type-def> - <!-- struct Renderhints --> - <class-decl name='Renderhints' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/renderhints.h' line='41' column='1' id='type-id-71'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- REAL Renderhints::display_method --> - <var-decl name='display_method' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='49' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- REAL Renderhints::errorchecking --> - <var-decl name='errorchecking' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- REAL Renderhints::subdivisions --> - <var-decl name='subdivisions' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='51' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- REAL Renderhints::tmp1 --> - <var-decl name='tmp1' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='52' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int Renderhints::displaydomain --> - <var-decl name='displaydomain' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='54' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int Renderhints::maxsubdivisions --> - <var-decl name='maxsubdivisions' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- int Renderhints::wiretris --> - <var-decl name='wiretris' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='56' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- int Renderhints::wirequads --> - <var-decl name='wirequads' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='57' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Renderhints::Renderhints() --> - <function-decl name='Renderhints' filepath='libnurbs/internals/renderhints.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Renderhints*' --> - <parameter type-id='type-id-118' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Sorter --> - <class-decl name='Sorter' size-in-bits='128' visibility='default' filepath='libnurbs/internals/sorter.h' line='36' column='1' id='type-id-176'> - <data-member access='private' layout-offset-in-bits='64'> - <!-- int Sorter::es --> - <var-decl name='es' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/sorter.h' line='49' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Sorter::Sorter(int) --> - <function-decl name='Sorter' filepath='libnurbs/internals/sorter.cc' line='44' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes' vtable-offset='-1'> - <!-- Sorter::~Sorter(int) --> - <function-decl name='~Sorter' filepath='libnurbs/internals/sorter.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='2'> - <!-- int Sorter::qscmp(char*, char*) --> - <function-decl name='qscmp' mangled-name='_ZN6Sorter5qscmpEPcS0_' filepath='libnurbs/internals/sorter.cc' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='3'> - <!-- void Sorter::qsexc(char*, char*) --> - <function-decl name='qsexc' mangled-name='_ZN6Sorter5qsexcEPcS0_' filepath='libnurbs/internals/sorter.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='4'> - <!-- void Sorter::qstexc(char*, char*, char*) --> - <function-decl name='qstexc' mangled-name='_ZN6Sorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/sorter.cc' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Sorter*' --> - <parameter type-id='type-id-202' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class ArcSorter --> - <class-decl name='ArcSorter' size-in-bits='192' visibility='default' filepath='libnurbs/internals/arcsorter.h' line='44' column='1' id='type-id-242'> - <!-- class Sorter --> - <base-class access='private' layout-offset-in-bits='0' type-id='type-id-176'/> - <data-member access='protected' layout-offset-in-bits='128'> - <!-- Subdivider& ArcSorter::subdivider --> - <var-decl name='subdivider' type-id='type-id-243' visibility='default' filepath='libnurbs/internals/arcsorter.h' line='50' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- ArcSorter::ArcSorter(Subdivider&) --> - <function-decl name='ArcSorter' filepath='libnurbs/internals/arcsorter.cc' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'ArcSorter*' --> - <parameter type-id='type-id-244' is-artificial='yes'/> - <!-- parameter of type 'Subdivider&' --> - <parameter type-id='type-id-245'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='2'> - <!-- int ArcSorter::qscmp(char*, char*) --> - <function-decl name='qscmp' mangled-name='_ZN9ArcSorter5qscmpEPcS0_' filepath='libnurbs/internals/arcsorter.cc' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'ArcSorter*' --> - <parameter type-id='type-id-244' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='3'> - <!-- void ArcSorter::qsexc(char*, char*) --> - <function-decl name='qsexc' mangled-name='_ZN9ArcSorter5qsexcEPcS0_' filepath='libnurbs/internals/arcsorter.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'ArcSorter*' --> - <parameter type-id='type-id-244' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' vtable-offset='4'> - <!-- void ArcSorter::qstexc(char*, char*, char*) --> - <function-decl name='qstexc' mangled-name='_ZN9ArcSorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/arcsorter.cc' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'ArcSorter*' --> - <parameter type-id='type-id-244' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class FlistSorter --> - <class-decl name='FlistSorter' size-in-bits='128' visibility='default' filepath='libnurbs/internals/flistsorter.h' line='42' column='1' id='type-id-154'> - <!-- class Sorter --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-176'/> - <member-function access='private' constructor='yes'> - <!-- FlistSorter::FlistSorter() --> - <function-decl name='FlistSorter' filepath='libnurbs/internals/flistsorter.cc' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes' vtable-offset='-1'> - <!-- FlistSorter::~FlistSorter(int) --> - <function-decl name='~FlistSorter' filepath='libnurbs/internals/flistsorter.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='2'> - <!-- int FlistSorter::qscmp(char*, char*) --> - <function-decl name='qscmp' mangled-name='_ZN11FlistSorter5qscmpEPcS0_' filepath='libnurbs/internals/flistsorter.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='3'> - <!-- void FlistSorter::qsexc(char*, char*) --> - <function-decl name='qsexc' mangled-name='_ZN11FlistSorter5qsexcEPcS0_' filepath='libnurbs/internals/flistsorter.cc' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='protected' vtable-offset='4'> - <!-- void FlistSorter::qstexc(char*, char*, char*) --> - <function-decl name='qstexc' mangled-name='_ZN11FlistSorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/flistsorter.cc' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'FlistSorter*' --> - <parameter type-id='type-id-177' is-artificial='yes'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct TrimVertexPool --> - <class-decl name='TrimVertexPool' size-in-bits='2624' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='45' column='1' id='type-id-77'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Pool TrimVertexPool::pool --> - <var-decl name='pool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='52' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2496'> - <!-- TrimVertex** TrimVertexPool::vlist --> - <var-decl name='vlist' type-id='type-id-130' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='53' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2560'> - <!-- int TrimVertexPool::nextvlistslot --> - <var-decl name='nextvlistslot' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='54' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='2592'> - <!-- int TrimVertexPool::vlistsize --> - <var-decl name='vlistsize' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='55' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- TrimVertexPool::TrimVertexPool() --> - <function-decl name='TrimVertexPool' filepath='libnurbs/internals/trimvertpool.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'TrimVertexPool*' --> - <parameter type-id='type-id-131' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' destructor='yes'> - <!-- TrimVertexPool::~TrimVertexPool(int) --> - <function-decl name='~TrimVertexPool' filepath='libnurbs/internals/trimvertpool.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'TrimVertexPool*' --> - <parameter type-id='type-id-131' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct Quilt --> - <class-decl name='Quilt' size-in-bits='896' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='64' column='1' id='type-id-140'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Mapdesc* Quilt::mapdesc --> - <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/quilt.h' line='67' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- REAL* Quilt::cpts --> - <var-decl name='cpts' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/quilt.h' line='68' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- Quiltspec Quilt::qspec[2] --> - <var-decl name='qspec' type-id='type-id-185' visibility='default' filepath='libnurbs/internals/quilt.h' line='69' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='768'> - <!-- Quiltspec_ptr Quilt::eqspec --> - <var-decl name='eqspec' type-id='type-id-186' visibility='default' filepath='libnurbs/internals/quilt.h' line='70' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='832'> - <!-- Quilt* Quilt::next --> - <var-decl name='next' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/quilt.h' line='71' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Quilt::Quilt(Mapdesc*) --> - <function-decl name='Quilt' filepath='libnurbs/internals/quilt.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Quilt*' --> - <parameter type-id='type-id-125' is-artificial='yes'/> - <!-- parameter of type 'Mapdesc*' --> - <parameter type-id='type-id-107'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Bin --> - <class-decl name='Bin' size-in-bits='128' visibility='default' filepath='libnurbs/internals/bin.h' line='44' column='1' id='type-id-123'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Arc_ptr Bin::head --> - <var-decl name='head' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/bin.h' line='46' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Arc_ptr Bin::current --> - <var-decl name='current' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/bin.h' line='47' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Bin::Bin() --> - <function-decl name='Bin' filepath='libnurbs/internals/bin.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Bin*' --> - <parameter type-id='type-id-151' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- Bin::~Bin(int) --> - <function-decl name='~Bin' filepath='libnurbs/internals/bin.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Bin*' --> - <parameter type-id='type-id-151' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> <!-- class ArcTessellator --> - <class-decl name='ArcTessellator' size-in-bits='128' visibility='default' filepath='libnurbs/internals/arctess.h' line='47' column='1' id='type-id-121'> + <class-decl name='ArcTessellator' size-in-bits='128' visibility='default' filepath='libnurbs/internals/arctess.h' line='47' column='1' id='type-id-135'> <data-member access='private' static='yes'> <!-- static REAL ArcTessellator::gl_Bernstein[][24][24] --> - <var-decl name='gl_Bernstein' type-id='type-id-145' mangled-name='_ZN14ArcTessellator12gl_BernsteinE' visibility='default' filepath='libnurbs/internals/arctess.h' line='60' column='1'/> + <var-decl name='gl_Bernstein' type-id='type-id-132' mangled-name='_ZN14ArcTessellator12gl_BernsteinE' visibility='default' filepath='libnurbs/internals/arctess.h' line='60' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='0'> <!-- Pool& ArcTessellator::pwlarcpool --> - <var-decl name='pwlarcpool' type-id='type-id-146' visibility='default' filepath='libnurbs/internals/arctess.h' line='61' column='1'/> + <var-decl name='pwlarcpool' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arctess.h' line='61' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- TrimVertexPool& ArcTessellator::trimvertexpool --> - <var-decl name='trimvertexpool' type-id='type-id-147' visibility='default' filepath='libnurbs/internals/arctess.h' line='62' column='1'/> + <var-decl name='trimvertexpool' type-id='type-id-136' visibility='default' filepath='libnurbs/internals/arctess.h' line='62' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- ArcTessellator::ArcTessellator(TrimVertexPool&, Pool&) --> <function-decl name='ArcTessellator' filepath='libnurbs/internals/arctess.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'ArcTessellator*' --> - <parameter type-id='type-id-148' is-artificial='yes'/> + <parameter type-id='type-id-137' is-artificial='yes'/> <!-- parameter of type 'TrimVertexPool&' --> - <parameter type-id='type-id-149'/> + <parameter type-id='type-id-136'/> <!-- parameter of type 'Pool&' --> - <parameter type-id='type-id-150'/> + <parameter type-id='type-id-124'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- ArcTessellator::~ArcTessellator(int) --> <function-decl name='~ArcTessellator' filepath='libnurbs/internals/arctess.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'ArcTessellator*' --> - <parameter type-id='type-id-148' is-artificial='yes'/> + <parameter type-id='type-id-137' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- void ArcTessellator::trim_power_coeffs(REAL*, int) --> + <function-decl name='trim_power_coeffs' mangled-name='_ZN14ArcTessellator17trim_power_coeffsEP9BezierArcPfi' filepath='libnurbs/internals/arctess.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'BezierArc*' --> + <parameter type-id='type-id-117'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcTessellator::pwl_left(Arc_ptr, REAL, REAL, REAL, REAL) --> + <function-decl name='pwl_left' mangled-name='_ZN14ArcTessellator8pwl_leftEP3Arcffff' filepath='libnurbs/internals/arctess.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcTessellator*' --> + <parameter type-id='type-id-137' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcTessellator::tessellateNonlinear(Arc_ptr, REAL, REAL, int) --> + <function-decl name='tessellateNonlinear' mangled-name='_ZN14ArcTessellator19tessellateNonlinearEP3Arcffi' filepath='libnurbs/internals/arctess.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcTessellator*' --> + <parameter type-id='type-id-137' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcTessellator::pwl(Arc_ptr, REAL, REAL, REAL, REAL, REAL) --> + <function-decl name='pwl' mangled-name='_ZN14ArcTessellator3pwlEP3Arcfffff' filepath='libnurbs/internals/arctess.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcTessellator*' --> + <parameter type-id='type-id-137' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcTessellator::bezier(Arc_ptr, REAL, REAL, REAL, REAL) --> + <function-decl name='bezier' mangled-name='_ZN14ArcTessellator6bezierEP3Arcffff' filepath='libnurbs/internals/arctess.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcTessellator*' --> + <parameter type-id='type-id-137' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcTessellator::pwl_bottom(Arc_ptr, REAL, REAL, REAL, REAL) --> + <function-decl name='pwl_bottom' mangled-name='_ZN14ArcTessellator10pwl_bottomEP3Arcffff' filepath='libnurbs/internals/arctess.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcTessellator*' --> + <parameter type-id='type-id-137' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcTessellator::pwl_top(Arc_ptr, REAL, REAL, REAL, REAL) --> + <function-decl name='pwl_top' mangled-name='_ZN14ArcTessellator7pwl_topEP3Arcffff' filepath='libnurbs/internals/arctess.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcTessellator*' --> + <parameter type-id='type-id-137' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcTessellator::pwl_right(Arc_ptr, REAL, REAL, REAL, REAL) --> + <function-decl name='pwl_right' mangled-name='_ZN14ArcTessellator9pwl_rightEP3Arcffff' filepath='libnurbs/internals/arctess.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcTessellator*' --> + <parameter type-id='type-id-137' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcTessellator::tessellateLinear(Arc_ptr, REAL, REAL, int) --> + <function-decl name='tessellateLinear' mangled-name='_ZN14ArcTessellator16tessellateLinearEP3Arcffi' filepath='libnurbs/internals/arctess.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcTessellator*' --> + <parameter type-id='type-id-137' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct Backend --> + <class-decl name='Backend' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/backend.h' line='46' column='1' id='type-id-64'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- BasicCurveEvaluator& Backend::curveEvaluator --> + <var-decl name='curveEvaluator' type-id='type-id-79' visibility='default' filepath='libnurbs/internals/backend.h' line='48' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='64'> + <!-- BasicSurfaceEvaluator& Backend::surfaceEvaluator --> + <var-decl name='surfaceEvaluator' type-id='type-id-80' visibility='default' filepath='libnurbs/internals/backend.h' line='49' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='128'> + <!-- int Backend::wireframetris --> + <var-decl name='wireframetris' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/backend.h' line='105' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='160'> + <!-- int Backend::wireframequads --> + <var-decl name='wireframequads' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/backend.h' line='106' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='192'> + <!-- int Backend::npts --> + <var-decl name='npts' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/backend.h' line='107' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='224'> + <!-- REAL Backend::mesh[3][4] --> + <var-decl name='mesh' type-id='type-id-138' visibility='default' filepath='libnurbs/internals/backend.h' line='108' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='608'> + <!-- int Backend::meshindex --> + <var-decl name='meshindex' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/backend.h' line='109' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- Backend::Backend(BasicCurveEvaluator&, BasicSurfaceEvaluator&) --> + <function-decl name='Backend' filepath='libnurbs/internals/backend.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'BasicCurveEvaluator&' --> + <parameter type-id='type-id-79'/> + <!-- parameter of type 'BasicSurfaceEvaluator&' --> + <parameter type-id='type-id-80'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::bgnsurf(int, int, long int) --> + <function-decl name='bgnsurf' mangled-name='_ZN7Backend7bgnsurfEiil' filepath='libnurbs/internals/backend.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::patch(REAL, REAL, REAL, REAL) --> + <function-decl name='patch' mangled-name='_ZN7Backend5patchEffff' filepath='libnurbs/internals/backend.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::surfbbox(long int, REAL*, REAL*) --> + <function-decl name='surfbbox' mangled-name='_ZN7Backend8surfbboxElPfS0_' filepath='libnurbs/internals/backend.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::surfpts(long int, REAL*, long int, long int, int, int, REAL, REAL, REAL, REAL) --> + <function-decl name='surfpts' mangled-name='_ZN7Backend7surfptsElPflliiffff' filepath='libnurbs/internals/backend.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::surfgrid(REAL, REAL, long int, REAL, REAL, long int) --> + <function-decl name='surfgrid' mangled-name='_ZN7Backend8surfgridEfflffl' filepath='libnurbs/internals/backend.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::surfmesh(long int, long int, long int, long int) --> + <function-decl name='surfmesh' mangled-name='_ZN7Backend8surfmeshEllll' filepath='libnurbs/internals/backend.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::endsurf() --> + <function-decl name='endsurf' mangled-name='_ZN7Backend7endsurfEv' filepath='libnurbs/internals/backend.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::bgntfan() --> + <function-decl name='bgntfan' mangled-name='_ZN7Backend7bgntfanEv' filepath='libnurbs/internals/backend.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::endtfan() --> + <function-decl name='endtfan' mangled-name='_ZN7Backend7endtfanEv' filepath='libnurbs/internals/backend.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::bgnqstrip() --> + <function-decl name='bgnqstrip' mangled-name='_ZN7Backend9bgnqstripEv' filepath='libnurbs/internals/backend.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::endqstrip() --> + <function-decl name='endqstrip' mangled-name='_ZN7Backend9endqstripEv' filepath='libnurbs/internals/backend.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::evalUStrip(int, REAL, REAL*, int, REAL, REAL*) --> + <function-decl name='evalUStrip' mangled-name='_ZN7Backend10evalUStripEifPfifS0_' filepath='libnurbs/internals/backend.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::evalVStrip(int, REAL, REAL*, int, REAL, REAL*) --> + <function-decl name='evalVStrip' mangled-name='_ZN7Backend10evalVStripEifPfifS0_' filepath='libnurbs/internals/backend.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::bgntmesh(const char*) --> + <function-decl name='bgntmesh' mangled-name='_ZN7Backend8bgntmeshEPKc' filepath='libnurbs/internals/backend.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-84'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::tmeshvertNOGE(TrimVertex*) --> + <function-decl name='tmeshvertNOGE' mangled-name='_ZN7Backend13tmeshvertNOGEEP10TrimVertex' filepath='libnurbs/internals/backend.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::tmeshvertNOGE_BU(TrimVertex*) --> + <function-decl name='tmeshvertNOGE_BU' mangled-name='_ZN7Backend16tmeshvertNOGE_BUEP10TrimVertex' filepath='libnurbs/internals/backend.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::tmeshvertNOGE_BV(TrimVertex*) --> + <function-decl name='tmeshvertNOGE_BV' mangled-name='_ZN7Backend16tmeshvertNOGE_BVEP10TrimVertex' filepath='libnurbs/internals/backend.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::preEvaluateBU(REAL) --> + <function-decl name='preEvaluateBU' mangled-name='_ZN7Backend13preEvaluateBUEf' filepath='libnurbs/internals/backend.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::preEvaluateBV(REAL) --> + <function-decl name='preEvaluateBV' mangled-name='_ZN7Backend13preEvaluateBVEf' filepath='libnurbs/internals/backend.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::tmeshvert(TrimVertex*) --> + <function-decl name='tmeshvert' mangled-name='_ZN7Backend9tmeshvertEP10TrimVertex' filepath='libnurbs/internals/backend.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::tmeshvert(REAL, REAL) --> + <function-decl name='tmeshvert' mangled-name='_ZN7Backend9tmeshvertEff' filepath='libnurbs/internals/backend.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::tmeshvert(GridVertex*) --> + <function-decl name='tmeshvert' mangled-name='_ZN7Backend9tmeshvertEP10GridVertex' filepath='libnurbs/internals/backend.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'GridVertex*' --> + <parameter type-id='type-id-140'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::tmeshvert(GridTrimVertex*) --> + <function-decl name='tmeshvert' mangled-name='_ZN7Backend9tmeshvertEP14GridTrimVertex' filepath='libnurbs/internals/backend.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::swaptmesh() --> + <function-decl name='swaptmesh' mangled-name='_ZN7Backend9swaptmeshEv' filepath='libnurbs/internals/backend.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::endtmesh() --> + <function-decl name='endtmesh' mangled-name='_ZN7Backend8endtmeshEv' filepath='libnurbs/internals/backend.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::bgnoutline() --> + <function-decl name='bgnoutline' mangled-name='_ZN7Backend10bgnoutlineEv' filepath='libnurbs/internals/backend.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::linevert(TrimVertex*) --> + <function-decl name='linevert' mangled-name='_ZN7Backend8linevertEP10TrimVertex' filepath='libnurbs/internals/backend.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::linevert(GridVertex*) --> + <function-decl name='linevert' mangled-name='_ZN7Backend8linevertEP10GridVertex' filepath='libnurbs/internals/backend.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'GridVertex*' --> + <parameter type-id='type-id-140'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::endoutline() --> + <function-decl name='endoutline' mangled-name='_ZN7Backend10endoutlineEv' filepath='libnurbs/internals/backend.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::triangle(TrimVertex*, TrimVertex*, TrimVertex*) --> + <function-decl name='triangle' mangled-name='_ZN7Backend8triangleEP10TrimVertexS1_S1_' filepath='libnurbs/internals/backend.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::bgncurv() --> + <function-decl name='bgncurv' mangled-name='_ZN7Backend7bgncurvEv' filepath='libnurbs/internals/backend.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::segment(REAL, REAL) --> + <function-decl name='segment' mangled-name='_ZN7Backend7segmentEff' filepath='libnurbs/internals/backend.h' line='95' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::curvpts(long int, REAL*, long int, int, REAL, REAL) --> + <function-decl name='curvpts' mangled-name='_ZN7Backend7curvptsElPfliff' filepath='libnurbs/internals/backend.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::curvgrid(REAL, REAL, long int) --> + <function-decl name='curvgrid' mangled-name='_ZN7Backend8curvgridEffl' filepath='libnurbs/internals/backend.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::curvmesh(long int, long int) --> + <function-decl name='curvmesh' mangled-name='_ZN7Backend8curvmeshEll' filepath='libnurbs/internals/backend.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::curvpt(REAL) --> + <function-decl name='curvpt' mangled-name='_ZN7Backend6curvptEf' filepath='libnurbs/internals/backend.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::bgnline() --> + <function-decl name='bgnline' mangled-name='_ZN7Backend7bgnlineEv' filepath='libnurbs/internals/backend.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::endline() --> + <function-decl name='endline' mangled-name='_ZN7Backend7endlineEv' filepath='libnurbs/internals/backend.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Backend::endcurv() --> + <function-decl name='endcurv' mangled-name='_ZN7Backend7endcurvEv' filepath='libnurbs/internals/backend.h' line='102' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Backend*' --> + <parameter type-id='type-id-139' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- class Bin --> + <class-decl name='Bin' size-in-bits='128' visibility='default' filepath='libnurbs/internals/bin.h' line='44' column='1' id='type-id-142'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- Arc_ptr Bin::head --> + <var-decl name='head' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/bin.h' line='46' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='64'> + <!-- Arc_ptr Bin::current --> + <var-decl name='current' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/bin.h' line='47' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- Bin::Bin() --> + <function-decl name='Bin' filepath='libnurbs/internals/bin.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- Bin::~Bin(int) --> + <function-decl name='~Bin' filepath='libnurbs/internals/bin.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Arc_ptr Bin::nextarc() --> + <function-decl name='nextarc' mangled-name='_ZN3Bin7nextarcEv' filepath='libnurbs/internals/bin.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- typedef Arc_ptr --> + <return type-id='type-id-112'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Arc_ptr Bin::firstarc() --> + <function-decl name='firstarc' mangled-name='_ZN3Bin8firstarcEv' filepath='libnurbs/internals/bin.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- typedef Arc_ptr --> + <return type-id='type-id-112'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Bin::markall() --> + <function-decl name='markall' mangled-name='_ZN3Bin7markallEv' filepath='libnurbs/internals/bin.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Arc_ptr Bin::removearc() --> + <function-decl name='removearc' mangled-name='_ZN3Bin9removearcEv' filepath='libnurbs/internals/bin.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- typedef Arc_ptr --> + <return type-id='type-id-112'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Bin::remove_this_arc(Arc_ptr) --> + <function-decl name='remove_this_arc' mangled-name='_ZN3Bin15remove_this_arcEP3Arc' filepath='libnurbs/internals/bin.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Bin::numarcs() --> + <function-decl name='numarcs' mangled-name='_ZN3Bin7numarcsEv' filepath='libnurbs/internals/bin.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Bin::adopt() --> + <function-decl name='adopt' mangled-name='_ZN3Bin5adoptEv' filepath='libnurbs/internals/bin.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Bin::show(const char*) --> + <function-decl name='show' mangled-name='_ZN3Bin4showEPKc' filepath='libnurbs/internals/bin.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-84'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Bin::listBezier() --> + <function-decl name='listBezier' mangled-name='_ZN3Bin10listBezierEv' filepath='libnurbs/internals/bin.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Bin::addarc(Arc_ptr) --> + <function-decl name='addarc' mangled-name='_ZN3Bin6addarcEP3Arc' filepath='libnurbs/internals/bin.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Bin::isnonempty() --> + <function-decl name='isnonempty' mangled-name='_ZN3Bin10isnonemptyEv' filepath='libnurbs/internals/bin.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Bin*' --> + <parameter type-id='type-id-143' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> </function-decl> </member-function> </class-decl> <!-- struct Curvelist --> - <class-decl name='Curvelist' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/curvelist.h' line='47' column='1' id='type-id-246'> + <class-decl name='Curvelist' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/curvelist.h' line='47' column='1' id='type-id-144'> <data-member access='private' layout-offset-in-bits='0'> <!-- Curve* Curvelist::curve --> - <var-decl name='curve' type-id='type-id-247' visibility='default' filepath='libnurbs/internals/curvelist.h' line='57' column='1'/> + <var-decl name='curve' type-id='type-id-145' visibility='default' filepath='libnurbs/internals/curvelist.h' line='57' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- float Curvelist::range[3] --> - <var-decl name='range' type-id='type-id-248' visibility='default' filepath='libnurbs/internals/curvelist.h' line='58' column='1'/> + <var-decl name='range' type-id='type-id-146' visibility='default' filepath='libnurbs/internals/curvelist.h' line='58' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='160'> <!-- int Curvelist::needsSubdivision --> - <var-decl name='needsSubdivision' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curvelist.h' line='59' column='1'/> + <var-decl name='needsSubdivision' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/curvelist.h' line='59' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- float Curvelist::stepsize --> - <var-decl name='stepsize' type-id='type-id-28' visibility='default' filepath='libnurbs/internals/curvelist.h' line='60' column='1'/> + <var-decl name='stepsize' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/curvelist.h' line='60' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- Curvelist::Curvelist(Quilt*, REAL, REAL) --> <function-decl name='Curvelist' filepath='libnurbs/internals/curvelist.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Curvelist*' --> - <parameter type-id='type-id-249' is-artificial='yes'/> + <parameter type-id='type-id-147' is-artificial='yes'/> <!-- parameter of type 'Quilt*' --> - <parameter type-id='type-id-125'/> + <parameter type-id='type-id-148'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' constructor='yes'> <!-- Curvelist::Curvelist(Curvelist&, REAL) --> <function-decl name='Curvelist' filepath='libnurbs/internals/curvelist.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Curvelist*' --> - <parameter type-id='type-id-249' is-artificial='yes'/> + <parameter type-id='type-id-147' is-artificial='yes'/> <!-- parameter of type 'Curvelist&' --> - <parameter type-id='type-id-250'/> + <parameter type-id='type-id-149'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' destructor='yes'> <!-- Curvelist::~Curvelist(int) --> <function-decl name='~Curvelist' filepath='libnurbs/internals/curvelist.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Curvelist*' --> - <parameter type-id='type-id-249' is-artificial='yes'/> + <parameter type-id='type-id-147' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Curvelist::needsSamplingSubdivision() --> + <function-decl name='needsSamplingSubdivision' mangled-name='_ZN9Curvelist24needsSamplingSubdivisionEv' filepath='libnurbs/internals/curvelist.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Curvelist*' --> + <parameter type-id='type-id-147' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Curvelist::getstepsize() --> + <function-decl name='getstepsize' mangled-name='_ZN9Curvelist11getstepsizeEv' filepath='libnurbs/internals/curvelist.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Curvelist*' --> + <parameter type-id='type-id-147' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Curvelist::cullCheck() --> + <function-decl name='cullCheck' mangled-name='_ZN9Curvelist9cullCheckEv' filepath='libnurbs/internals/curvelist.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Curvelist*' --> + <parameter type-id='type-id-147' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> </function-decl> </member-function> </class-decl> - <!-- struct Backend --> - <class-decl name='Backend' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/backend.h' line='46' column='1' id='type-id-73'> + <!-- class Flist --> + <class-decl name='Flist' size-in-bits='320' visibility='default' filepath='libnurbs/internals/flist.h' line='42' column='1' id='type-id-150'> <data-member access='private' layout-offset-in-bits='0'> - <!-- BasicCurveEvaluator& Backend::curveEvaluator --> - <var-decl name='curveEvaluator' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/backend.h' line='48' column='1'/> + <!-- REAL* Flist::pts --> + <var-decl name='pts' type-id='type-id-22' visibility='default' filepath='libnurbs/internals/flist.h' line='44' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> - <!-- BasicSurfaceEvaluator& Backend::surfaceEvaluator --> - <var-decl name='surfaceEvaluator' type-id='type-id-104' visibility='default' filepath='libnurbs/internals/backend.h' line='49' column='1'/> + <!-- int Flist::npts --> + <var-decl name='npts' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/flist.h' line='45' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='96'> + <!-- int Flist::start --> + <var-decl name='start' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/flist.h' line='46' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> - <!-- int Backend::wireframetris --> - <var-decl name='wireframetris' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='105' column='1'/> + <!-- int Flist::end --> + <var-decl name='end' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/flist.h' line='47' column='1'/> </data-member> - <data-member access='private' layout-offset-in-bits='160'> - <!-- int Backend::wireframequads --> - <var-decl name='wireframequads' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='106' column='1'/> + <data-member access='protected' layout-offset-in-bits='192'> + <!-- FlistSorter Flist::sorter --> + <var-decl name='sorter' type-id='type-id-151' visibility='default' filepath='libnurbs/internals/flist.h' line='56' column='1'/> </data-member> - <data-member access='private' layout-offset-in-bits='192'> - <!-- int Backend::npts --> - <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='107' column='1'/> + <member-function access='private' constructor='yes'> + <!-- Flist::Flist() --> + <function-decl name='Flist' filepath='libnurbs/internals/flist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Flist*' --> + <parameter type-id='type-id-152' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- Flist::~Flist(int) --> + <function-decl name='~Flist' filepath='libnurbs/internals/flist.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Flist*' --> + <parameter type-id='type-id-152' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Flist::add(REAL) --> + <function-decl name='add' mangled-name='_ZN5Flist3addEf' filepath='libnurbs/internals/flist.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Flist*' --> + <parameter type-id='type-id-152' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Flist::taper(REAL, REAL) --> + <function-decl name='taper' mangled-name='_ZN5Flist5taperEff' filepath='libnurbs/internals/flist.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Flist*' --> + <parameter type-id='type-id-152' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Flist::grow(int) --> + <function-decl name='grow' mangled-name='_ZN5Flist4growEi' filepath='libnurbs/internals/flist.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Flist*' --> + <parameter type-id='type-id-152' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Flist::filter() --> + <function-decl name='filter' mangled-name='_ZN5Flist6filterEv' filepath='libnurbs/internals/flist.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Flist*' --> + <parameter type-id='type-id-152' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- class FlistSorter --> + <class-decl name='FlistSorter' size-in-bits='128' visibility='default' filepath='libnurbs/internals/flistsorter.h' line='42' column='1' id='type-id-151'> + <!-- class Sorter --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-153'/> + <member-function access='private' constructor='yes'> + <!-- FlistSorter::FlistSorter() --> + <function-decl name='FlistSorter' filepath='libnurbs/internals/flistsorter.cc' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'FlistSorter*' --> + <parameter type-id='type-id-154' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void FlistSorter::qsort(REAL*, int) --> + <function-decl name='qsort' mangled-name='_ZN11FlistSorter5qsortEPfi' filepath='libnurbs/internals/flistsorter.cc' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'FlistSorter*' --> + <parameter type-id='type-id-154' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes' vtable-offset='-1'> + <!-- FlistSorter::~FlistSorter(int) --> + <function-decl name='~FlistSorter' filepath='libnurbs/internals/flistsorter.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'FlistSorter*' --> + <parameter type-id='type-id-154' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='protected' vtable-offset='2'> + <!-- int FlistSorter::qscmp(char*, char*) --> + <function-decl name='qscmp' mangled-name='_ZN11FlistSorter5qscmpEPcS0_' filepath='libnurbs/internals/flistsorter.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'FlistSorter*' --> + <parameter type-id='type-id-154' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='protected' vtable-offset='3'> + <!-- void FlistSorter::qsexc(char*, char*) --> + <function-decl name='qsexc' mangled-name='_ZN11FlistSorter5qsexcEPcS0_' filepath='libnurbs/internals/flistsorter.cc' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'FlistSorter*' --> + <parameter type-id='type-id-154' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='protected' vtable-offset='4'> + <!-- void FlistSorter::qstexc(char*, char*, char*) --> + <function-decl name='qstexc' mangled-name='_ZN11FlistSorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/flistsorter.cc' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'FlistSorter*' --> + <parameter type-id='type-id-154' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct JumpBuffer --> + <class-decl name='JumpBuffer' size-in-bits='1600' is-struct='yes' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='56' column='1' id='type-id-155'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- jmp_buf JumpBuffer::buf --> + <var-decl name='buf' type-id='type-id-156' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='57' column='1'/> </data-member> - <data-member access='private' layout-offset-in-bits='224'> - <!-- REAL Backend::mesh[3][4] --> - <var-decl name='mesh' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/backend.h' line='108' column='1'/> + </class-decl> + <!-- struct Patchlist --> + <class-decl name='Patchlist' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/patchlist.h' line='45' column='1' id='type-id-157'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- Patch* Patchlist::patch --> + <var-decl name='patch' type-id='type-id-158' visibility='default' filepath='libnurbs/internals/patchlist.h' line='63' column='1'/> </data-member> - <data-member access='private' layout-offset-in-bits='608'> - <!-- int Backend::meshindex --> - <var-decl name='meshindex' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='109' column='1'/> + <data-member access='private' layout-offset-in-bits='64'> + <!-- int Patchlist::notInBbox --> + <var-decl name='notInBbox' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/patchlist.h' line='64' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='96'> + <!-- int Patchlist::needsSampling --> + <var-decl name='needsSampling' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/patchlist.h' line='65' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='128'> + <!-- Pspec Patchlist::pspec[2] --> + <var-decl name='pspec' type-id='type-id-159' visibility='default' filepath='libnurbs/internals/patchlist.h' line='66' column='1'/> </data-member> <member-function access='public' constructor='yes'> - <!-- Backend::Backend(BasicCurveEvaluator&, BasicSurfaceEvaluator&) --> - <function-decl name='Backend' filepath='libnurbs/internals/backend.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Backend*' --> - <parameter type-id='type-id-106' is-artificial='yes'/> - <!-- parameter of type 'BasicCurveEvaluator&' --> - <parameter type-id='type-id-88'/> - <!-- parameter of type 'BasicSurfaceEvaluator&' --> - <parameter type-id='type-id-89'/> + <!-- Patchlist::Patchlist(Quilt*, REAL*, REAL*) --> + <function-decl name='Patchlist' filepath='libnurbs/internals/patchlist.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- parameter of type 'Quilt*' --> + <parameter type-id='type-id-148'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' constructor='yes'> + <!-- Patchlist::Patchlist(Patchlist&, int, REAL) --> + <function-decl name='Patchlist' filepath='libnurbs/internals/patchlist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- parameter of type 'Patchlist&' --> + <parameter type-id='type-id-161'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' destructor='yes'> + <!-- Patchlist::~Patchlist(int) --> + <function-decl name='~Patchlist' filepath='libnurbs/internals/patchlist.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Patchlist::getRanges(REAL*) --> + <function-decl name='getRanges' mangled-name='_ZN9Patchlist9getRangesEPf' filepath='libnurbs/internals/patchlist.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Patchlist::needsSamplingSubdivision() --> + <function-decl name='needsSamplingSubdivision' mangled-name='_ZN9Patchlist24needsSamplingSubdivisionEv' filepath='libnurbs/internals/patchlist.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Patchlist::needsSubdivision(int) --> + <function-decl name='needsSubdivision' mangled-name='_ZN9Patchlist16needsSubdivisionEi' filepath='libnurbs/internals/patchlist.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Patchlist::needsNonSamplingSubdivision() --> + <function-decl name='needsNonSamplingSubdivision' mangled-name='_ZN9Patchlist27needsNonSamplingSubdivisionEv' filepath='libnurbs/internals/patchlist.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Patchlist::bbox() --> + <function-decl name='bbox' mangled-name='_ZN9Patchlist4bboxEv' filepath='libnurbs/internals/patchlist.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Patchlist::getstepsize() --> + <function-decl name='getstepsize' mangled-name='_ZN9Patchlist11getstepsizeEv' filepath='libnurbs/internals/patchlist.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Patchlist::cullCheck() --> + <function-decl name='cullCheck' mangled-name='_ZN9Patchlist9cullCheckEv' filepath='libnurbs/internals/patchlist.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL Patchlist::getStepsize(int) --> + <function-decl name='getStepsize' mangled-name='_ZN9Patchlist11getStepsizeEi' filepath='libnurbs/internals/patchlist.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- typedef REAL --> + <return type-id='type-id-1'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Patchlist::get_uorder() --> + <function-decl name='get_uorder' mangled-name='_ZN9Patchlist10get_uorderEv' filepath='libnurbs/internals/patchlist.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Patchlist::get_vorder() --> + <function-decl name='get_vorder' mangled-name='_ZN9Patchlist10get_vorderEv' filepath='libnurbs/internals/patchlist.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchlist*' --> + <parameter type-id='type-id-160' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct Quilt --> + <class-decl name='Quilt' size-in-bits='896' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='64' column='1' id='type-id-162'> + <!-- class PooledObj --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> + <data-member access='public' layout-offset-in-bits='0'> + <!-- Mapdesc* Quilt::mapdesc --> + <var-decl name='mapdesc' type-id='type-id-163' visibility='default' filepath='libnurbs/internals/quilt.h' line='67' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- REAL* Quilt::cpts --> + <var-decl name='cpts' type-id='type-id-22' visibility='default' filepath='libnurbs/internals/quilt.h' line='68' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- Quiltspec Quilt::qspec[2] --> + <var-decl name='qspec' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/quilt.h' line='69' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <!-- Quiltspec_ptr Quilt::eqspec --> + <var-decl name='eqspec' type-id='type-id-165' visibility='default' filepath='libnurbs/internals/quilt.h' line='70' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <!-- Quilt* Quilt::next --> + <var-decl name='next' type-id='type-id-148' visibility='default' filepath='libnurbs/internals/quilt.h' line='71' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- Quilt::Quilt(Mapdesc*) --> + <function-decl name='Quilt' filepath='libnurbs/internals/quilt.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Quilt::getDimension() --> + <function-decl name='getDimension' mangled-name='_ZN5Quilt12getDimensionEv' filepath='libnurbs/internals/quilt.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::show() --> + <function-decl name='show' mangled-name='_ZN5Quilt4showEv' filepath='libnurbs/internals/quilt.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::select(REAL*, REAL*) --> + <function-decl name='select' mangled-name='_ZN5Quilt6selectEPfS0_' filepath='libnurbs/internals/quilt.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::findSampleRates(Flist&, Flist&) --> + <function-decl name='findSampleRates' mangled-name='_ZN5Quilt15findSampleRatesER5FlistS1_' filepath='libnurbs/internals/quilt.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'Flist&' --> + <parameter type-id='type-id-166'/> + <!-- parameter of type 'Flist&' --> + <parameter type-id='type-id-166'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::findRates(Flist&, Flist&, REAL*) --> + <function-decl name='findRates' mangled-name='_ZN5Quilt9findRatesER5FlistS1_Pf' filepath='libnurbs/internals/quilt.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'Flist&' --> + <parameter type-id='type-id-166'/> + <!-- parameter of type 'Flist&' --> + <parameter type-id='type-id-166'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::getRange(REAL*, REAL*, int, Flist&) --> + <function-decl name='getRange' mangled-name='_ZN5Quilt8getRangeEPfS0_iR5Flist' filepath='libnurbs/internals/quilt.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'Flist&' --> + <parameter type-id='type-id-166'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::getRange(REAL*, REAL*, Flist&) --> + <function-decl name='getRange' mangled-name='_ZN5Quilt8getRangeEPfS0_R5Flist' filepath='libnurbs/internals/quilt.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'Flist&' --> + <parameter type-id='type-id-166'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::getRange(REAL*, REAL*, Flist&, Flist&) --> + <function-decl name='getRange' mangled-name='_ZN5Quilt8getRangeEPfS0_R5FlistS2_' filepath='libnurbs/internals/quilt.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'Flist&' --> + <parameter type-id='type-id-166'/> + <!-- parameter of type 'Flist&' --> + <parameter type-id='type-id-166'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Quilt::isCulled() --> + <function-decl name='isCulled' mangled-name='_ZN5Quilt8isCulledEv' filepath='libnurbs/internals/quilt.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::download(Backend&) --> + <function-decl name='download' mangled-name='_ZN5Quilt8downloadER7Backend' filepath='libnurbs/internals/quilt.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'Backend&' --> + <parameter type-id='type-id-167'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::downloadAll(REAL*, REAL*, Backend&) --> + <function-decl name='downloadAll' mangled-name='_ZN5Quilt11downloadAllEPfS0_R7Backend' filepath='libnurbs/internals/quilt.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'Backend&' --> + <parameter type-id='type-id-167'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::deleteMe(Pool&) --> + <function-decl name='deleteMe' mangled-name='_ZN5Quilt8deleteMeER4Pool' filepath='libnurbs/internals/quilt.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'Pool&' --> + <parameter type-id='type-id-124'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::toBezier(Knotvector&, Knotvector&, float*, long int) --> + <function-decl name='toBezier' mangled-name='_ZN5Quilt8toBezierER10KnotvectorS1_Pfl' filepath='libnurbs/internals/quilt.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'Knotvector&' --> + <parameter type-id='type-id-168'/> + <!-- parameter of type 'Knotvector&' --> + <parameter type-id='type-id-168'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Quilt::toBezier(Knotvector&, float*, long int) --> + <function-decl name='toBezier' mangled-name='_ZN5Quilt8toBezierER10KnotvectorPfl' filepath='libnurbs/internals/quilt.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Quilt*' --> + <parameter type-id='type-id-148' is-artificial='yes'/> + <!-- parameter of type 'Knotvector&' --> + <parameter type-id='type-id-168'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct Renderhints --> + <class-decl name='Renderhints' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/renderhints.h' line='41' column='1' id='type-id-62'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- REAL Renderhints::display_method --> + <var-decl name='display_method' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='49' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- REAL Renderhints::errorchecking --> + <var-decl name='errorchecking' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='50' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- REAL Renderhints::subdivisions --> + <var-decl name='subdivisions' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='51' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <!-- REAL Renderhints::tmp1 --> + <var-decl name='tmp1' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='52' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- int Renderhints::displaydomain --> + <var-decl name='displaydomain' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/renderhints.h' line='54' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <!-- int Renderhints::maxsubdivisions --> + <var-decl name='maxsubdivisions' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/renderhints.h' line='55' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- int Renderhints::wiretris --> + <var-decl name='wiretris' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/renderhints.h' line='56' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <!-- int Renderhints::wirequads --> + <var-decl name='wirequads' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/renderhints.h' line='57' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- Renderhints::Renderhints() --> + <function-decl name='Renderhints' filepath='libnurbs/internals/renderhints.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Renderhints*' --> + <parameter type-id='type-id-169' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Renderhints::init() --> + <function-decl name='init' mangled-name='_ZN11Renderhints4initEv' filepath='libnurbs/internals/renderhints.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Renderhints*' --> + <parameter type-id='type-id-169' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Renderhints::isProperty(long int) --> + <function-decl name='isProperty' mangled-name='_ZN11Renderhints10isPropertyEl' filepath='libnurbs/internals/renderhints.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Renderhints*' --> + <parameter type-id='type-id-169' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Renderhints::setProperty(long int, REAL) --> + <function-decl name='setProperty' mangled-name='_ZN11Renderhints11setPropertyElf' filepath='libnurbs/internals/renderhints.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Renderhints*' --> + <parameter type-id='type-id-169' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL Renderhints::getProperty(long int) --> + <function-decl name='getProperty' mangled-name='_ZN11Renderhints11getPropertyEl' filepath='libnurbs/internals/renderhints.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Renderhints*' --> + <parameter type-id='type-id-169' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- typedef REAL --> + <return type-id='type-id-1'/> </function-decl> </member-function> </class-decl> <!-- class Subdivider --> - <class-decl name='Subdivider' size-in-bits='20416' visibility='default' filepath='libnurbs/internals/subdivider.h' line='55' column='1' id='type-id-74'> + <class-decl name='Subdivider' size-in-bits='20416' visibility='default' filepath='libnurbs/internals/subdivider.h' line='55' column='1' id='type-id-65'> <member-type access='private'> <!-- enum Subdivider::dir --> - <enum-decl name='dir' filepath='libnurbs/internals/subdivider.h' line='105' column='1' id='type-id-119'> - <underlying-type type-id='type-id-9'/> + <enum-decl name='dir' filepath='libnurbs/internals/subdivider.h' line='105' column='1' id='type-id-170'> + <underlying-type type-id='type-id-12'/> <enumerator name='down' value='0'/> <enumerator name='same' value='1'/> <enumerator name='up' value='2'/> @@ -6342,87 +6491,87 @@ </member-type> <data-member access='private' layout-offset-in-bits='0'> <!-- Slicer Subdivider::slicer --> - <var-decl name='slicer' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/subdivider.h' line='112' column='1'/> + <var-decl name='slicer' type-id='type-id-171' visibility='default' filepath='libnurbs/internals/subdivider.h' line='112' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='8064'> <!-- ArcTessellator Subdivider::arctessellator --> - <var-decl name='arctessellator' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='113' column='1'/> + <var-decl name='arctessellator' type-id='type-id-135' visibility='default' filepath='libnurbs/internals/subdivider.h' line='113' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='8192'> <!-- Pool Subdivider::arcpool --> - <var-decl name='arcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='114' column='1'/> + <var-decl name='arcpool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/subdivider.h' line='114' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='10688'> <!-- Pool Subdivider::bezierarcpool --> - <var-decl name='bezierarcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='115' column='1'/> + <var-decl name='bezierarcpool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/subdivider.h' line='115' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='13184'> <!-- Pool Subdivider::pwlarcpool --> - <var-decl name='pwlarcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='116' column='1'/> + <var-decl name='pwlarcpool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/subdivider.h' line='116' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='15680'> <!-- TrimVertexPool Subdivider::trimvertexpool --> - <var-decl name='trimvertexpool' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/subdivider.h' line='117' column='1'/> + <var-decl name='trimvertexpool' type-id='type-id-68' visibility='default' filepath='libnurbs/internals/subdivider.h' line='117' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18304'> <!-- JumpBuffer* Subdivider::jumpbuffer --> - <var-decl name='jumpbuffer' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='119' column='1'/> + <var-decl name='jumpbuffer' type-id='type-id-66' visibility='default' filepath='libnurbs/internals/subdivider.h' line='119' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18368'> <!-- Renderhints& Subdivider::renderhints --> - <var-decl name='renderhints' type-id='type-id-122' visibility='default' filepath='libnurbs/internals/subdivider.h' line='120' column='1'/> + <var-decl name='renderhints' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/subdivider.h' line='120' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18432'> <!-- Backend& Subdivider::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/subdivider.h' line='121' column='1'/> + <var-decl name='backend' type-id='type-id-167' visibility='default' filepath='libnurbs/internals/subdivider.h' line='121' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18496'> <!-- Bin Subdivider::initialbin --> - <var-decl name='initialbin' type-id='type-id-123' visibility='default' filepath='libnurbs/internals/subdivider.h' line='123' column='1'/> + <var-decl name='initialbin' type-id='type-id-142' visibility='default' filepath='libnurbs/internals/subdivider.h' line='123' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18624'> <!-- Arc_ptr Subdivider::pjarc --> - <var-decl name='pjarc' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/subdivider.h' line='124' column='1'/> + <var-decl name='pjarc' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/subdivider.h' line='124' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18688'> <!-- int Subdivider::s_index --> - <var-decl name='s_index' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='125' column='1'/> + <var-decl name='s_index' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/subdivider.h' line='125' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18720'> <!-- int Subdivider::t_index --> - <var-decl name='t_index' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='126' column='1'/> + <var-decl name='t_index' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/subdivider.h' line='126' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18752'> <!-- Quilt* Subdivider::qlist --> - <var-decl name='qlist' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/subdivider.h' line='127' column='1'/> + <var-decl name='qlist' type-id='type-id-148' visibility='default' filepath='libnurbs/internals/subdivider.h' line='127' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='18816'> <!-- Flist Subdivider::spbrkpts --> - <var-decl name='spbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='128' column='1'/> + <var-decl name='spbrkpts' type-id='type-id-150' visibility='default' filepath='libnurbs/internals/subdivider.h' line='128' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='19136'> <!-- Flist Subdivider::tpbrkpts --> - <var-decl name='tpbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='129' column='1'/> + <var-decl name='tpbrkpts' type-id='type-id-150' visibility='default' filepath='libnurbs/internals/subdivider.h' line='129' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='19456'> <!-- Flist Subdivider::smbrkpts --> - <var-decl name='smbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='130' column='1'/> + <var-decl name='smbrkpts' type-id='type-id-150' visibility='default' filepath='libnurbs/internals/subdivider.h' line='130' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='19776'> <!-- Flist Subdivider::tmbrkpts --> - <var-decl name='tmbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='131' column='1'/> + <var-decl name='tmbrkpts' type-id='type-id-150' visibility='default' filepath='libnurbs/internals/subdivider.h' line='131' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='20096'> <!-- REAL Subdivider::stepsizes[4] --> - <var-decl name='stepsizes' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/subdivider.h' line='132' column='1'/> + <var-decl name='stepsizes' type-id='type-id-131' visibility='default' filepath='libnurbs/internals/subdivider.h' line='132' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='20224'> <!-- int Subdivider::showDegenerate --> - <var-decl name='showDegenerate' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='133' column='1'/> + <var-decl name='showDegenerate' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/subdivider.h' line='133' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='20256'> <!-- int Subdivider::isArcTypeBezier --> - <var-decl name='isArcTypeBezier' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='134' column='1'/> + <var-decl name='isArcTypeBezier' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/subdivider.h' line='134' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='20288'> <!-- REAL Subdivider::domain_distance_u_rate --> @@ -6434,203 +6583,1166 @@ </data-member> <data-member access='private' layout-offset-in-bits='20352'> <!-- int Subdivider::is_domain_distance_sampling --> - <var-decl name='is_domain_distance_sampling' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/subdivider.h' line='190' column='1'/> + <var-decl name='is_domain_distance_sampling' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/subdivider.h' line='190' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Subdivider::Subdivider(Renderhints&, Backend&) --> <function-decl name='Subdivider' filepath='libnurbs/internals/subdivider.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Subdivider*' --> - <parameter type-id='type-id-128' is-artificial='yes'/> + <parameter type-id='type-id-173' is-artificial='yes'/> <!-- parameter of type 'Renderhints&' --> - <parameter type-id='type-id-129'/> + <parameter type-id='type-id-172'/> <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> + <parameter type-id='type-id-167'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- Subdivider::~Subdivider(int) --> <function-decl name='~Subdivider' filepath='libnurbs/internals/subdivider.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Subdivider*' --> - <parameter type-id='type-id-128' is-artificial='yes'/> + <parameter type-id='type-id-173' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- int Subdivider::bbox(REAL, REAL, REAL, REAL, REAL) --> + <function-decl name='bbox' mangled-name='_ZN10Subdivider4bboxEffffff' filepath='libnurbs/internals/subdivider.h' line='168' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- int Subdivider::ccw(TrimVertex*, TrimVertex*) --> + <function-decl name='ccw' mangled-name='_ZN10Subdivider3ccwEP10TrimVertexS1_S1_' filepath='libnurbs/internals/subdivider.h' line='169' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::bbox(TrimVertex*, TrimVertex*, TrimVertex*, int) --> + <function-decl name='bbox' mangled-name='_ZN10Subdivider4bboxEP10TrimVertexS1_S1_i' filepath='libnurbs/internals/subdivider.h' line='167' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::ccwTurn_tl(Arc_ptr, Arc_ptr) --> + <function-decl name='ccwTurn_tl' mangled-name='_ZN10Subdivider10ccwTurn_tlEP3ArcS1_' filepath='libnurbs/internals/subdivider.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::ccwTurn_sr(Arc_ptr, Arc_ptr) --> + <function-decl name='ccwTurn_sr' mangled-name='_ZN10Subdivider10ccwTurn_srEP3ArcS1_' filepath='libnurbs/internals/subdivider.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::ccwTurn_sl(Arc_ptr, Arc_ptr) --> + <function-decl name='ccwTurn_sl' mangled-name='_ZN10Subdivider10ccwTurn_slEP3ArcS1_' filepath='libnurbs/internals/subdivider.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::ccwTurn_tr(Arc_ptr, Arc_ptr) --> + <function-decl name='ccwTurn_tr' mangled-name='_ZN10Subdivider10ccwTurn_trEP3ArcS1_' filepath='libnurbs/internals/subdivider.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::samplingSplit(Curvelist&, int) --> + <function-decl name='samplingSplit' mangled-name='_ZN10Subdivider13samplingSplitER9Curvelisti' filepath='libnurbs/internals/subdivider.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Curvelist&' --> + <parameter type-id='type-id-149'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::drawCurves() --> + <function-decl name='drawCurves' mangled-name='_ZN10Subdivider10drawCurvesEv' filepath='libnurbs/internals/subdivider.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::showingDegenerate() --> + <function-decl name='showingDegenerate' mangled-name='_ZN10Subdivider17showingDegenerateEv' filepath='libnurbs/internals/subdivider.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::classify_headonright_t(Bin&, Bin&, Bin&, REAL) --> + <function-decl name='classify_headonright_t' mangled-name='_ZN10Subdivider22classify_headonright_tER3BinS1_S1_f' filepath='libnurbs/internals/subdivider.h' line='102' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::classify_tailonright_t(Bin&, Bin&, Bin&, REAL) --> + <function-decl name='classify_tailonright_t' mangled-name='_ZN10Subdivider22classify_tailonright_tER3BinS1_S1_f' filepath='libnurbs/internals/subdivider.h' line='103' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::classify_headonright_s(Bin&, Bin&, Bin&, REAL) --> + <function-decl name='classify_headonright_s' mangled-name='_ZN10Subdivider22classify_headonright_sER3BinS1_S1_f' filepath='libnurbs/internals/subdivider.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::classify_tailonright_s(Bin&, Bin&, Bin&, REAL) --> + <function-decl name='classify_tailonright_s' mangled-name='_ZN10Subdivider22classify_tailonright_sER3BinS1_S1_f' filepath='libnurbs/internals/subdivider.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::classify_headonleft_t(Bin&, Bin&, Bin&, REAL) --> + <function-decl name='classify_headonleft_t' mangled-name='_ZN10Subdivider21classify_headonleft_tER3BinS1_S1_f' filepath='libnurbs/internals/subdivider.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::classify_tailonleft_t(Bin&, Bin&, Bin&, REAL) --> + <function-decl name='classify_tailonleft_t' mangled-name='_ZN10Subdivider21classify_tailonleft_tER3BinS1_S1_f' filepath='libnurbs/internals/subdivider.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::classify_headonleft_s(Bin&, Bin&, Bin&, REAL) --> + <function-decl name='classify_headonleft_s' mangled-name='_ZN10Subdivider21classify_headonleft_sER3BinS1_S1_f' filepath='libnurbs/internals/subdivider.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::classify_tailonleft_s(Bin&, Bin&, Bin&, REAL) --> + <function-decl name='classify_tailonleft_s' mangled-name='_ZN10Subdivider21classify_tailonleft_sER3BinS1_S1_f' filepath='libnurbs/internals/subdivider.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::arc_split(Arc_ptr, int, REAL, int) --> + <function-decl name='arc_split' mangled-name='_ZN10Subdivider9arc_splitEP3Arcifi' filepath='libnurbs/internals/subdivider.h' line='172' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::partition(Bin&, Bin&, Bin&, Bin&, Bin&, int, REAL) --> + <function-decl name='partition' mangled-name='_ZN10Subdivider9partitionER3BinS1_S1_S1_S1_if' filepath='libnurbs/internals/subdivider.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::isMonotone(Arc_ptr) --> + <function-decl name='isMonotone' mangled-name='_ZN10Subdivider10isMonotoneEP3Arc' filepath='libnurbs/internals/subdivider.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::monotonize(Arc_ptr, Bin&) --> + <function-decl name='monotonize' mangled-name='_ZN10Subdivider10monotonizeEP3ArcR3Bin' filepath='libnurbs/internals/subdivider.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::tessellate(Arc_ptr, REAL) --> + <function-decl name='tessellate' mangled-name='_ZN10Subdivider10tessellateEP3Arcf' filepath='libnurbs/internals/subdivider.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::decompose(Bin&, REAL) --> + <function-decl name='decompose' mangled-name='_ZN10Subdivider9decomposeER3Binf' filepath='libnurbs/internals/subdivider.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::set_domain_distance_u_rate(REAL) --> + <function-decl name='set_domain_distance_u_rate' mangled-name='_ZN10Subdivider26set_domain_distance_u_rateEf' filepath='libnurbs/internals/subdivider.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::set_domain_distance_v_rate(REAL) --> + <function-decl name='set_domain_distance_v_rate' mangled-name='_ZN10Subdivider26set_domain_distance_v_rateEf' filepath='libnurbs/internals/subdivider.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::set_is_domain_distance_sampling(int) --> + <function-decl name='set_is_domain_distance_sampling' mangled-name='_ZN10Subdivider31set_is_domain_distance_samplingEi' filepath='libnurbs/internals/subdivider.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::beginTrims() --> + <function-decl name='beginTrims' mangled-name='_ZN10Subdivider10beginTrimsEv' filepath='libnurbs/internals/subdivider.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::beginLoop() --> + <function-decl name='beginLoop' mangled-name='_ZN10Subdivider9beginLoopEv' filepath='libnurbs/internals/subdivider.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::endLoop() --> + <function-decl name='endLoop' mangled-name='_ZN10Subdivider7endLoopEv' filepath='libnurbs/internals/subdivider.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::endTrims() --> + <function-decl name='endTrims' mangled-name='_ZN10Subdivider8endTrimsEv' filepath='libnurbs/internals/subdivider.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::endQuilts() --> + <function-decl name='endQuilts' mangled-name='_ZN10Subdivider9endQuiltsEv' filepath='libnurbs/internals/subdivider.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::simple_link(Arc_ptr, Arc_ptr) --> + <function-decl name='simple_link' mangled-name='_ZN10Subdivider11simple_linkEP3ArcS1_' filepath='libnurbs/internals/subdivider.h' line='176' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Subdivider::isBezierArcType() --> + <function-decl name='isBezierArcType' mangled-name='_ZN10Subdivider15isBezierArcTypeEv' filepath='libnurbs/internals/subdivider.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::link(Arc_ptr, Arc_ptr, Arc_ptr, Arc_ptr) --> + <function-decl name='link' mangled-name='_ZN10Subdivider4linkEP3ArcS1_S1_S1_' filepath='libnurbs/internals/subdivider.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::check_t(Arc_ptr, Arc_ptr) --> + <function-decl name='check_t' mangled-name='_ZN10Subdivider7check_tEP3ArcS1_' filepath='libnurbs/internals/subdivider.h' line='174' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::check_s(Arc_ptr, Arc_ptr) --> + <function-decl name='check_s' mangled-name='_ZN10Subdivider7check_sEP3ArcS1_' filepath='libnurbs/internals/subdivider.h' line='173' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::join_t(Bin&, Bin&, Arc_ptr, Arc_ptr) --> + <function-decl name='join_t' mangled-name='_ZN10Subdivider6join_tER3BinS1_P3ArcS3_' filepath='libnurbs/internals/subdivider.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::join_s(Bin&, Bin&, Arc_ptr, Arc_ptr) --> + <function-decl name='join_s' mangled-name='_ZN10Subdivider6join_sER3BinS1_P3ArcS3_' filepath='libnurbs/internals/subdivider.h' line='170' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::split(Bin&, Bin&, Bin&, int, REAL) --> + <function-decl name='split' mangled-name='_ZN10Subdivider5splitER3BinS1_S1_if' filepath='libnurbs/internals/subdivider.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::setArcTypePwl() --> + <function-decl name='setArcTypePwl' mangled-name='_ZN10Subdivider13setArcTypePwlEv' filepath='libnurbs/internals/subdivider.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::setDegenerate() --> + <function-decl name='setDegenerate' mangled-name='_ZN10Subdivider13setDegenerateEv' filepath='libnurbs/internals/subdivider.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::setArcTypeBezier() --> + <function-decl name='setArcTypeBezier' mangled-name='_ZN10Subdivider16setArcTypeBezierEv' filepath='libnurbs/internals/subdivider.h' line='156' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::setNonDegenerate() --> + <function-decl name='setNonDegenerate' mangled-name='_ZN10Subdivider16setNonDegenerateEv' filepath='libnurbs/internals/subdivider.h' line='154' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::setJumpbuffer(JumpBuffer*) --> + <function-decl name='setJumpbuffer' mangled-name='_ZN10Subdivider13setJumpbufferEP10JumpBuffer' filepath='libnurbs/internals/subdivider.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'JumpBuffer*' --> + <parameter type-id='type-id-66'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::beginQuilts() --> + <function-decl name='beginQuilts' mangled-name='_ZN10Subdivider11beginQuiltsEv' filepath='libnurbs/internals/subdivider.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::addQuilt(Quilt*) --> + <function-decl name='addQuilt' mangled-name='_ZN10Subdivider8addQuiltEP5Quilt' filepath='libnurbs/internals/subdivider.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Quilt*' --> + <parameter type-id='type-id-148'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::tessellate(Bin&, REAL, REAL, REAL, REAL) --> + <function-decl name='tessellate' mangled-name='_ZN10Subdivider10tessellateER3Binffff' filepath='libnurbs/internals/subdivider.h' line='151' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::freejarcs(Bin&) --> + <function-decl name='freejarcs' mangled-name='_ZN10Subdivider9freejarcsER3Bin' filepath='libnurbs/internals/subdivider.h' line='148' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::outline(Bin&) --> + <function-decl name='outline' mangled-name='_ZN10Subdivider7outlineER3Bin' filepath='libnurbs/internals/subdivider.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::render(Bin&) --> + <function-decl name='render' mangled-name='_ZN10Subdivider6renderER3Bin' filepath='libnurbs/internals/subdivider.h' line='149' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::findIrregularT(Bin&) --> + <function-decl name='findIrregularT' mangled-name='_ZN10Subdivider14findIrregularTER3Bin' filepath='libnurbs/internals/subdivider.h' line='164' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::findIrregularS(Bin&) --> + <function-decl name='findIrregularS' mangled-name='_ZN10Subdivider14findIrregularSER3Bin' filepath='libnurbs/internals/subdivider.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::monosplitInT(Bin&, int, int) --> + <function-decl name='monosplitInT' mangled-name='_ZN10Subdivider12monosplitInTER3Binii' filepath='libnurbs/internals/subdivider.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::monosplitInS(Bin&, int, int) --> + <function-decl name='monosplitInS' mangled-name='_ZN10Subdivider12monosplitInSER3Binii' filepath='libnurbs/internals/subdivider.h' line='144' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::tessellation(Bin&, Patchlist&) --> + <function-decl name='tessellation' mangled-name='_ZN10Subdivider12tessellationER3BinR9Patchlist' filepath='libnurbs/internals/subdivider.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Patchlist&' --> + <parameter type-id='type-id-161'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::nonSamplingSplit(Bin&, Patchlist&, int, int) --> + <function-decl name='nonSamplingSplit' mangled-name='_ZN10Subdivider16nonSamplingSplitER3BinR9Patchlistii' filepath='libnurbs/internals/subdivider.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Patchlist&' --> + <parameter type-id='type-id-161'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::samplingSplit(Bin&, Patchlist&, int, int) --> + <function-decl name='samplingSplit' mangled-name='_ZN10Subdivider13samplingSplitER3BinR9Patchlistii' filepath='libnurbs/internals/subdivider.h' line='141' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'Patchlist&' --> + <parameter type-id='type-id-161'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::splitInT(Bin&, int, int) --> + <function-decl name='splitInT' mangled-name='_ZN10Subdivider8splitInTER3Binii' filepath='libnurbs/internals/subdivider.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::splitInS(Bin&, int, int) --> + <function-decl name='splitInS' mangled-name='_ZN10Subdivider8splitInSER3Binii' filepath='libnurbs/internals/subdivider.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::subdivideInS(Bin&) --> + <function-decl name='subdivideInS' mangled-name='_ZN10Subdivider12subdivideInSER3Bin' filepath='libnurbs/internals/subdivider.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'Bin&' --> + <parameter type-id='type-id-174'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::clear() --> + <function-decl name='clear' mangled-name='_ZN10Subdivider5clearEv' filepath='libnurbs/internals/subdivider.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::makeBorderTrim(const REAL*, const REAL*) --> + <function-decl name='makeBorderTrim' mangled-name='_ZN10Subdivider14makeBorderTrimEPKfS1_' filepath='libnurbs/internals/subdivider.h' line='160' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'const REAL*' --> + <parameter type-id='type-id-175'/> + <!-- parameter of type 'const REAL*' --> + <parameter type-id='type-id-175'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::drawSurfaces(long int) --> + <function-decl name='drawSurfaces' mangled-name='_ZN10Subdivider12drawSurfacesEl' filepath='libnurbs/internals/subdivider.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::addArc(int, TrimVertex*, long int) --> + <function-decl name='addArc' mangled-name='_ZN10Subdivider6addArcEiP10TrimVertexl' filepath='libnurbs/internals/subdivider.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Subdivider::addArc(REAL*, Quilt*, long int) --> + <function-decl name='addArc' mangled-name='_ZN10Subdivider6addArcEPfP5Quiltl' filepath='libnurbs/internals/subdivider.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'Quilt*' --> + <parameter type-id='type-id-148'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Bin* Subdivider::makePatchBoundary(const REAL*, const REAL*) --> + <function-decl name='makePatchBoundary' mangled-name='_ZN10Subdivider17makePatchBoundaryEPKfS1_' filepath='libnurbs/internals/subdivider.h' line='178' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Subdivider*' --> + <parameter type-id='type-id-173' is-artificial='yes'/> + <!-- parameter of type 'const REAL*' --> + <parameter type-id='type-id-175'/> + <!-- parameter of type 'const REAL*' --> + <parameter type-id='type-id-175'/> + <!-- Bin* --> + <return type-id='type-id-143'/> </function-decl> </member-function> </class-decl> - <!-- class Flist --> - <class-decl name='Flist' size-in-bits='320' visibility='default' filepath='libnurbs/internals/flist.h' line='42' column='1' id='type-id-126'> + <!-- struct TrimVertexPool --> + <class-decl name='TrimVertexPool' size-in-bits='2624' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='45' column='1' id='type-id-68'> <data-member access='private' layout-offset-in-bits='0'> - <!-- REAL* Flist::pts --> - <var-decl name='pts' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/flist.h' line='44' column='1'/> + <!-- Pool TrimVertexPool::pool --> + <var-decl name='pool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='52' column='1'/> </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- int Flist::npts --> - <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='45' column='1'/> + <data-member access='private' layout-offset-in-bits='2496'> + <!-- TrimVertex** TrimVertexPool::vlist --> + <var-decl name='vlist' type-id='type-id-176' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='53' column='1'/> </data-member> - <data-member access='private' layout-offset-in-bits='96'> - <!-- int Flist::start --> - <var-decl name='start' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='46' column='1'/> + <data-member access='private' layout-offset-in-bits='2560'> + <!-- int TrimVertexPool::nextvlistslot --> + <var-decl name='nextvlistslot' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='54' column='1'/> </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- int Flist::end --> - <var-decl name='end' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='47' column='1'/> + <data-member access='private' layout-offset-in-bits='2592'> + <!-- int TrimVertexPool::vlistsize --> + <var-decl name='vlistsize' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='55' column='1'/> </data-member> - <data-member access='protected' layout-offset-in-bits='192'> - <!-- FlistSorter Flist::sorter --> - <var-decl name='sorter' type-id='type-id-154' visibility='default' filepath='libnurbs/internals/flist.h' line='56' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Flist::Flist() --> - <function-decl name='Flist' filepath='libnurbs/internals/flist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Flist*' --> - <parameter type-id='type-id-155' is-artificial='yes'/> + <member-function access='public' constructor='yes'> + <!-- TrimVertexPool::TrimVertexPool() --> + <function-decl name='TrimVertexPool' filepath='libnurbs/internals/trimvertpool.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimVertexPool*' --> + <parameter type-id='type-id-177' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> - <member-function access='private' destructor='yes'> - <!-- Flist::~Flist(int) --> - <function-decl name='~Flist' filepath='libnurbs/internals/flist.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Flist*' --> - <parameter type-id='type-id-155' is-artificial='yes'/> + <member-function access='public' destructor='yes'> + <!-- TrimVertexPool::~TrimVertexPool(int) --> + <function-decl name='~TrimVertexPool' filepath='libnurbs/internals/trimvertpool.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimVertexPool*' --> + <parameter type-id='type-id-177' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- TrimVertex* TrimVertexPool::get(int) --> + <function-decl name='get' mangled-name='_ZN14TrimVertexPool3getEi' filepath='libnurbs/internals/trimvertpool.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimVertexPool*' --> + <parameter type-id='type-id-177' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- TrimVertex* --> + <return type-id='type-id-127'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void TrimVertexPool::clear() --> + <function-decl name='clear' mangled-name='_ZN14TrimVertexPool5clearEv' filepath='libnurbs/internals/trimvertpool.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimVertexPool*' --> + <parameter type-id='type-id-177' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- Arc** --> + <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-178'/> + <!-- ArcSdirSorter* --> + <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-180'/> + <!-- ArcSorter* --> + <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-182'/> + <!-- ArcTdirSorter* --> + <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-184'/> + <!-- ArcTessellator* --> + <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-137'/> + <!-- Backend& --> + <reference-type-def kind='lvalue' type-id='type-id-64' size-in-bits='64' id='type-id-167'/> + <!-- Bin& --> + <reference-type-def kind='lvalue' type-id='type-id-142' size-in-bits='64' id='type-id-174'/> + <!-- Bin* --> + <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/> + <!-- Curvelist& --> + <reference-type-def kind='lvalue' type-id='type-id-144' size-in-bits='64' id='type-id-149'/> + <!-- Flist* --> + <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-152'/> + <!-- JumpBuffer* --> + <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-66'/> + <!-- Patchlist& --> + <reference-type-def kind='lvalue' type-id='type-id-157' size-in-bits='64' id='type-id-161'/> + <!-- Quilt* --> + <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-148'/> + <!-- Renderhints& --> + <reference-type-def kind='lvalue' type-id='type-id-62' size-in-bits='64' id='type-id-172'/> + <!-- Sorter* --> + <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-185'/> + <!-- Subdivider& --> + <reference-type-def kind='lvalue' type-id='type-id-65' size-in-bits='64' id='type-id-186'/> + <!-- Subdivider* --> + <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-173'/> + <!-- TrimVertex** --> + <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-176'/> + <!-- TrimVertexPool& --> + <reference-type-def kind='lvalue' type-id='type-id-68' size-in-bits='64' id='type-id-136'/> + <!-- TrimVertexPool* --> + <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-177'/> + <!-- const REAL --> + <qualified-type-def type-id='type-id-1' const='yes' id='type-id-187'/> + <!-- const REAL* --> + <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-175'/> + <!-- class ArcSorter --> + <class-decl name='ArcSorter' visibility='default' filepath='libnurbs/internals/arcsorter.h' line='44' column='1' is-declaration-only='yes' id='type-id-181'> + <!-- class Sorter --> + <base-class access='private' layout-offset-in-bits='0' type-id='type-id-153'/> + <data-member access='protected' layout-offset-in-bits='128'> + <!-- Subdivider& ArcSorter::subdivider --> + <var-decl name='subdivider' type-id='type-id-186' visibility='default' filepath='libnurbs/internals/arcsorter.h' line='50' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- ArcSorter::ArcSorter(Subdivider&) --> + <function-decl name='ArcSorter' filepath='libnurbs/internals/arcsorter.cc' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcSorter*' --> + <parameter type-id='type-id-182' is-artificial='yes'/> + <!-- parameter of type 'Subdivider&' --> + <parameter type-id='type-id-186'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void ArcSorter::qsort(Arc**, int) --> + <function-decl name='qsort' mangled-name='_ZN9ArcSorter5qsortEPP3Arci' filepath='libnurbs/internals/arcsorter.cc' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcSorter*' --> + <parameter type-id='type-id-182' is-artificial='yes'/> + <!-- parameter of type 'Arc**' --> + <parameter type-id='type-id-178'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='protected' vtable-offset='2'> + <!-- int ArcSorter::qscmp(char*, char*) --> + <function-decl name='qscmp' mangled-name='_ZN9ArcSorter5qscmpEPcS0_' filepath='libnurbs/internals/arcsorter.cc' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcSorter*' --> + <parameter type-id='type-id-182' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='3'> + <!-- void ArcSorter::qsexc(char*, char*) --> + <function-decl name='qsexc' mangled-name='_ZN9ArcSorter5qsexcEPcS0_' filepath='libnurbs/internals/arcsorter.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcSorter*' --> + <parameter type-id='type-id-182' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' vtable-offset='4'> + <!-- void ArcSorter::qstexc(char*, char*, char*) --> + <function-decl name='qstexc' mangled-name='_ZN9ArcSorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/arcsorter.cc' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'ArcSorter*' --> + <parameter type-id='type-id-182' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- class ArcSdirSorter --> - <class-decl name='ArcSdirSorter' size-in-bits='192' visibility='default' filepath='libnurbs/internals/arcsorter.h' line='57' column='1' id='type-id-251'> + <class-decl name='ArcSdirSorter' visibility='default' filepath='libnurbs/internals/arcsorter.h' line='57' column='1' is-declaration-only='yes' id='type-id-179'> <!-- class ArcSorter --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-242'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-181'/> <member-function access='private' constructor='yes'> <!-- ArcSdirSorter::ArcSdirSorter(Subdivider&) --> <function-decl name='ArcSdirSorter' filepath='libnurbs/internals/arcsorter.cc' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'ArcSdirSorter*' --> - <parameter type-id='type-id-252' is-artificial='yes'/> + <parameter type-id='type-id-180' is-artificial='yes'/> <!-- parameter of type 'Subdivider&' --> - <parameter type-id='type-id-245'/> + <parameter type-id='type-id-186'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='2'> <!-- int ArcSdirSorter::qscmp(char*, char*) --> <function-decl name='qscmp' mangled-name='_ZN13ArcSdirSorter5qscmpEPcS0_' filepath='libnurbs/internals/arcsorter.cc' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'ArcSdirSorter*' --> - <parameter type-id='type-id-252' is-artificial='yes'/> + <parameter type-id='type-id-180' is-artificial='yes'/> <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> + <parameter type-id='type-id-107'/> <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> + <parameter type-id='type-id-107'/> <!-- int --> - <return type-id='type-id-11'/> + <return type-id='type-id-8'/> </function-decl> </member-function> </class-decl> <!-- class ArcTdirSorter --> - <class-decl name='ArcTdirSorter' size-in-bits='192' visibility='default' filepath='libnurbs/internals/arcsorter.h' line='65' column='1' id='type-id-253'> + <class-decl name='ArcTdirSorter' visibility='default' filepath='libnurbs/internals/arcsorter.h' line='65' column='1' is-declaration-only='yes' id='type-id-183'> <!-- class ArcSorter --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-242'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-181'/> <member-function access='private' constructor='yes'> <!-- ArcTdirSorter::ArcTdirSorter(Subdivider&) --> <function-decl name='ArcTdirSorter' filepath='libnurbs/internals/arcsorter.cc' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'ArcTdirSorter*' --> - <parameter type-id='type-id-254' is-artificial='yes'/> + <parameter type-id='type-id-184' is-artificial='yes'/> <!-- parameter of type 'Subdivider&' --> - <parameter type-id='type-id-245'/> + <parameter type-id='type-id-186'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' vtable-offset='2'> <!-- int ArcTdirSorter::qscmp(char*, char*) --> <function-decl name='qscmp' mangled-name='_ZN13ArcTdirSorter5qscmpEPcS0_' filepath='libnurbs/internals/arcsorter.cc' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'ArcTdirSorter*' --> - <parameter type-id='type-id-254' is-artificial='yes'/> + <parameter type-id='type-id-184' is-artificial='yes'/> <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> + <parameter type-id='type-id-107'/> <!-- parameter of type 'char*' --> - <parameter type-id='type-id-115'/> + <parameter type-id='type-id-107'/> <!-- int --> - <return type-id='type-id-11'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct Patchlist --> - <class-decl name='Patchlist' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/patchlist.h' line='45' column='1' id='type-id-255'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Patch* Patchlist::patch --> - <var-decl name='patch' type-id='type-id-256' visibility='default' filepath='libnurbs/internals/patchlist.h' line='63' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- int Patchlist::notInBbox --> - <var-decl name='notInBbox' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patchlist.h' line='64' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='96'> - <!-- int Patchlist::needsSampling --> - <var-decl name='needsSampling' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patchlist.h' line='65' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- Pspec Patchlist::pspec[2] --> - <var-decl name='pspec' type-id='type-id-257' visibility='default' filepath='libnurbs/internals/patchlist.h' line='66' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Patchlist::Patchlist(Quilt*, REAL*, REAL*) --> - <function-decl name='Patchlist' filepath='libnurbs/internals/patchlist.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Patchlist*' --> - <parameter type-id='type-id-258' is-artificial='yes'/> - <!-- parameter of type 'Quilt*' --> - <parameter type-id='type-id-125'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' constructor='yes'> - <!-- Patchlist::Patchlist(Patchlist&, int, REAL) --> - <function-decl name='Patchlist' filepath='libnurbs/internals/patchlist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Patchlist*' --> - <parameter type-id='type-id-258' is-artificial='yes'/> - <!-- parameter of type 'Patchlist&' --> - <parameter type-id='type-id-259'/> - <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' destructor='yes'> - <!-- Patchlist::~Patchlist(int) --> - <function-decl name='~Patchlist' filepath='libnurbs/internals/patchlist.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Patchlist*' --> - <parameter type-id='type-id-258' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-8'/> </function-decl> </member-function> </class-decl> <!-- class Slicer --> - <class-decl name='Slicer' size-in-bits='8064' visibility='default' filepath='libnurbs/internals/slicer.h' line='49' column='1' id='type-id-120'> + <class-decl name='Slicer' visibility='default' filepath='libnurbs/internals/slicer.h' line='49' column='1' is-declaration-only='yes' id='type-id-171'> <!-- class CoveAndTiler --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-160'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-188'/> <!-- class Mesher --> - <base-class access='public' layout-offset-in-bits='128' type-id='type-id-161'/> + <base-class access='public' layout-offset-in-bits='128' type-id='type-id-189'/> <data-member access='private' layout-offset-in-bits='5248'> <!-- Backend& Slicer::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/slicer.h' line='72' column='1'/> + <var-decl name='backend' type-id='type-id-167' visibility='default' filepath='libnurbs/internals/slicer.h' line='72' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='5312'> <!-- REAL Slicer::oneOverDu --> @@ -6646,543 +7758,978 @@ </data-member> <data-member access='private' layout-offset-in-bits='5408'> <!-- int Slicer::isolines --> - <var-decl name='isolines' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='75' column='1'/> + <var-decl name='isolines' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/slicer.h' line='75' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='5440'> <!-- int Slicer::ulinear --> - <var-decl name='ulinear' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='81' column='1'/> + <var-decl name='ulinear' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/slicer.h' line='81' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='5472'> <!-- int Slicer::vlinear --> - <var-decl name='vlinear' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='82' column='1'/> + <var-decl name='vlinear' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/slicer.h' line='82' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Slicer::Slicer(int, void**, Backend&) --> <function-decl name='Slicer' filepath='libnurbs/internals/slicer.cc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Slicer*' --> - <parameter type-id='type-id-162' is-artificial='yes'/> + <parameter type-id='type-id-190' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> + <parameter type-id='type-id-191' is-artificial='yes'/> <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> + <parameter type-id='type-id-167'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- Slicer::~Slicer(int, void**) --> <function-decl name='~Slicer' filepath='libnurbs/internals/slicer.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Slicer*' --> - <parameter type-id='type-id-162' is-artificial='yes'/> + <parameter type-id='type-id-190' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> + <parameter type-id='type-id-191' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> - </class-decl> - <!-- struct JumpBuffer --> - <class-decl name='JumpBuffer' size-in-bits='1600' is-struct='yes' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='56' column='1' id='type-id-95'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- jmp_buf JumpBuffer::buf --> - <var-decl name='buf' type-id='type-id-156' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='57' column='1'/> - </data-member> - </class-decl> - <!-- Arc** --> - <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-260'/> - <!-- ArcSdirSorter* --> - <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/> - <!-- ArcSorter* --> - <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-244'/> - <!-- ArcSorter* const --> - <qualified-type-def type-id='type-id-244' const='yes' id='type-id-261'/> - <!-- ArcTdirSorter* --> - <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/> - <!-- ArcTessellator* --> - <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-148'/> - <!-- Backend& --> - <qualified-type-def type-id='type-id-111' id='type-id-109'/> - <!-- Backend& --> - <reference-type-def kind='lvalue' type-id='type-id-73' size-in-bits='64' id='type-id-111'/> - <!-- Bin& --> - <reference-type-def kind='lvalue' type-id='type-id-123' size-in-bits='64' id='type-id-262'/> - <!-- Bin* --> - <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-151'/> - <!-- Curvelist& --> - <reference-type-def kind='lvalue' type-id='type-id-246' size-in-bits='64' id='type-id-250'/> - <!-- Flist* --> - <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-155'/> - <!-- JumpBuffer* --> - <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-75'/> - <!-- Patchlist& --> - <reference-type-def kind='lvalue' type-id='type-id-255' size-in-bits='64' id='type-id-259'/> - <!-- Pool& --> - <qualified-type-def type-id='type-id-150' id='type-id-146'/> - <!-- Quilt* --> - <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-125'/> - <!-- Renderhints& --> - <qualified-type-def type-id='type-id-129' id='type-id-122'/> - <!-- Renderhints& --> - <reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-129'/> - <!-- Sorter* --> - <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-202'/> - <!-- Subdivider& --> - <qualified-type-def type-id='type-id-245' id='type-id-243'/> - <!-- Subdivider& --> - <reference-type-def kind='lvalue' type-id='type-id-74' size-in-bits='64' id='type-id-245'/> - <!-- Subdivider* --> - <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-128'/> - <!-- TrimVertex** --> - <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-130'/> - <!-- TrimVertexPool& --> - <qualified-type-def type-id='type-id-149' id='type-id-147'/> - <!-- TrimVertexPool& --> - <reference-type-def kind='lvalue' type-id='type-id-77' size-in-bits='64' id='type-id-149'/> - <!-- TrimVertexPool* --> - <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-131'/> - <!-- const REAL --> - <qualified-type-def type-id='type-id-1' const='yes' id='type-id-263'/> - <!-- const REAL* --> - <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-264'/> - <!-- Curve* --> - <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-247'/> - <!-- Curvelist* --> - <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-249'/> - <!-- Patch* --> - <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-256'/> - <!-- Patchlist* --> - <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-258'/> - <!-- Pspec[2] --> - <array-type-def dimensions='1' type-id='type-id-267' size-in-bits='512' id='type-id-257'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - </array-type-def> - <!-- float[3] --> - <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='96' id='type-id-248'> - <!-- <anonymous range>[3] --> - <subrange length='3' type-id='type-id-3' id='type-id-68'/> - </array-type-def> - <!-- class Curve --> - <class-decl name='Curve' size-in-bits='8128' visibility='default' filepath='libnurbs/internals/curve.h' line='46' column='1' id='type-id-265'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Curve* Curve::next --> - <var-decl name='next' type-id='type-id-247' visibility='default' filepath='libnurbs/internals/curve.h' line='51' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Mapdesc* Curve::mapdesc --> - <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/curve.h' line='53' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- int Curve::stride --> - <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curve.h' line='54' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='160'> - <!-- int Curve::order --> - <var-decl name='order' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curve.h' line='55' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='192'> - <!-- int Curve::cullval --> - <var-decl name='cullval' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curve.h' line='56' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='224'> - <!-- int Curve::needsSampling --> - <var-decl name='needsSampling' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curve.h' line='57' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='256'> - <!-- REAL Curve::cpts[120] --> - <var-decl name='cpts' type-id='type-id-268' visibility='default' filepath='libnurbs/internals/curve.h' line='58' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='4096'> - <!-- REAL Curve::spts[120] --> - <var-decl name='spts' type-id='type-id-268' visibility='default' filepath='libnurbs/internals/curve.h' line='59' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='7936'> - <!-- REAL Curve::stepsize --> - <var-decl name='stepsize' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/curve.h' line='60' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='7968'> - <!-- REAL Curve::minstepsize --> - <var-decl name='minstepsize' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/curve.h' line='61' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='8000'> - <!-- REAL Curve::range[3] --> - <var-decl name='range' type-id='type-id-230' visibility='default' filepath='libnurbs/internals/curve.h' line='62' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Curve::Curve(Quilt*, REAL, REAL, Curve*) --> - <function-decl name='Curve' filepath='libnurbs/internals/curve.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Curve*' --> - <parameter type-id='type-id-247' is-artificial='yes'/> - <!-- parameter of type 'Quilt*' --> - <parameter type-id='type-id-125'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'Curve*' --> - <parameter type-id='type-id-247'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' constructor='yes'> - <!-- Curve::Curve(Curve&, REAL, Curve*) --> - <function-decl name='Curve' filepath='libnurbs/internals/curve.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Curve*' --> - <parameter type-id='type-id-247' is-artificial='yes'/> - <!-- parameter of type 'Curve&' --> - <parameter type-id='type-id-269'/> - <!-- parameter of type 'typedef REAL' --> - <parameter type-id='type-id-1'/> - <!-- parameter of type 'Curve*' --> - <parameter type-id='type-id-247'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- class Patch --> - <class-decl name='Patch' size-in-bits='277696' visibility='default' filepath='libnurbs/internals/patch.h' line='62' column='1' id='type-id-266'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Mapdesc* Patch::mapdesc --> - <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/patch.h' line='82' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Patch* Patch::next --> - <var-decl name='next' type-id='type-id-256' visibility='default' filepath='libnurbs/internals/patch.h' line='83' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- int Patch::cullval --> - <var-decl name='cullval' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='84' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='160'> - <!-- int Patch::notInBbox --> - <var-decl name='notInBbox' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='85' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='192'> - <!-- int Patch::needsSampling --> - <var-decl name='needsSampling' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='86' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='224'> - <!-- REAL Patch::cpts[2880] --> - <var-decl name='cpts' type-id='type-id-270' visibility='default' filepath='libnurbs/internals/patch.h' line='87' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='92384'> - <!-- REAL Patch::spts[2880] --> - <var-decl name='spts' type-id='type-id-270' visibility='default' filepath='libnurbs/internals/patch.h' line='88' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='184544'> - <!-- REAL Patch::bpts[2880] --> - <var-decl name='bpts' type-id='type-id-270' visibility='default' filepath='libnurbs/internals/patch.h' line='89' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='276704'> - <!-- Patchspec Patch::pspec[2] --> - <var-decl name='pspec' type-id='type-id-271' visibility='default' filepath='libnurbs/internals/patch.h' line='90' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='277344'> - <!-- REAL Patch::bb[2][5] --> - <var-decl name='bb' type-id='type-id-272' visibility='default' filepath='libnurbs/internals/patch.h' line='92' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- Patch::Patch(Quilt*, REAL*, REAL*, Patch*) --> - <function-decl name='Patch' filepath='libnurbs/internals/patch.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Patch*' --> - <parameter type-id='type-id-256' is-artificial='yes'/> - <!-- parameter of type 'Quilt*' --> - <parameter type-id='type-id-125'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> - <!-- parameter of type 'Patch*' --> - <parameter type-id='type-id-256'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' constructor='yes'> - <!-- Patch::Patch(Patch&, int, REAL, Patch*) --> - <function-decl name='Patch' filepath='libnurbs/internals/patch.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Patch*' --> - <parameter type-id='type-id-256' is-artificial='yes'/> - <!-- parameter of type 'Patch&' --> - <parameter type-id='type-id-273'/> + <member-function access='private'> + <!-- void Slicer::setisolines(int) --> + <function-decl name='setisolines' mangled-name='_ZN6Slicer11setisolinesEi' filepath='libnurbs/internals/slicer.cc' line='1197' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::outline(Arc_ptr) --> + <function-decl name='outline' mangled-name='_ZN6Slicer7outlineEP3Arc' filepath='libnurbs/internals/slicer.cc' line='1292' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::outline() --> + <function-decl name='outline' mangled-name='_ZN6Slicer7outlineEv' filepath='libnurbs/internals/slicer.cc' line='1266' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::slice_old(Arc_ptr) --> + <function-decl name='slice_old' mangled-name='_ZN6Slicer9slice_oldEP3Arc' filepath='libnurbs/internals/slicer.cc' line='1212' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::setstriptessellation(REAL, REAL) --> + <function-decl name='setstriptessellation' mangled-name='_ZN6Slicer20setstriptessellationEff' filepath='libnurbs/internals/slicer.cc' line='1203' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> - <!-- parameter of type 'Patch*' --> - <parameter type-id='type-id-256'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::evalRBArray(rectBlockArray*, gridWrap*) --> + <function-decl name='evalRBArray' mangled-name='_ZN6Slicer11evalRBArrayEP14rectBlockArrayP8gridWrap' filepath='libnurbs/internals/slicer.cc' line='1001' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192'/> + <!-- parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::evalStream(primStream*) --> + <function-decl name='evalStream' mangled-name='_ZN6Slicer10evalStreamEP10primStream' filepath='libnurbs/internals/slicer.cc' line='1027' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- parameter of type 'primStream*' --> + <parameter type-id='type-id-194'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::slice_new(Arc_ptr) --> + <function-decl name='slice_new' mangled-name='_ZN6Slicer9slice_newEP3Arc' filepath='libnurbs/internals/slicer.cc' line='1068' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::slice(Arc_ptr) --> + <function-decl name='slice' mangled-name='_ZN6Slicer5sliceEP3Arc' filepath='libnurbs/internals/slicer.cc' line='1165' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::set_ulinear(int) --> + <function-decl name='set_ulinear' mangled-name='_ZN6Slicer11set_ulinearEi' filepath='libnurbs/internals/slicer.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Slicer::set_vlinear(int) --> + <function-decl name='set_vlinear' mangled-name='_ZN6Slicer11set_vlinearEi' filepath='libnurbs/internals/slicer.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Slicer*' --> + <parameter type-id='type-id-190' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> - <!-- struct Pspec --> - <class-decl name='Pspec' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/patch.h' line='46' column='1' id='type-id-267'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- REAL Pspec::range[3] --> - <var-decl name='range' type-id='type-id-230' visibility='default' filepath='libnurbs/internals/patch.h' line='47' column='1'/> + <!-- class Sorter --> + <class-decl name='Sorter' visibility='default' filepath='libnurbs/internals/sorter.h' line='36' column='1' is-declaration-only='yes' id='type-id-153'> + <data-member access='private' layout-offset-in-bits='64'> + <!-- int Sorter::es --> + <var-decl name='es' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/sorter.h' line='49' column='1'/> </data-member> - <data-member access='public' layout-offset-in-bits='96'> - <!-- REAL Pspec::sidestep[2] --> - <var-decl name='sidestep' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/patch.h' line='48' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- REAL Pspec::stepsize --> - <var-decl name='stepsize' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/patch.h' line='49' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- REAL Pspec::minstepsize --> - <var-decl name='minstepsize' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/patch.h' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- int Pspec::needsSubdivision --> - <var-decl name='needsSubdivision' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='51' column='1'/> - </data-member> - </class-decl> - <!-- Curve& --> - <reference-type-def kind='lvalue' type-id='type-id-265' size-in-bits='64' id='type-id-269'/> - <!-- Patch& --> - <reference-type-def kind='lvalue' type-id='type-id-266' size-in-bits='64' id='type-id-273'/> - <!-- Patchspec[2] --> - <array-type-def dimensions='1' type-id='type-id-274' size-in-bits='640' id='type-id-271'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - </array-type-def> - <!-- REAL[120] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='3840' id='type-id-268'> - <!-- <anonymous range>[120] --> - <subrange length='120' type-id='type-id-3' id='type-id-275'/> - </array-type-def> - <!-- REAL[2880] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='92160' id='type-id-270'> - <!-- <anonymous range>[2880] --> - <subrange length='2880' type-id='type-id-3' id='type-id-276'/> - </array-type-def> - <!-- REAL[2][5] --> - <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='320' id='type-id-272'> - <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> - <!-- <anonymous range>[5] --> - <subrange length='5' type-id='type-id-3' id='type-id-190'/> - </array-type-def> - <!-- struct Patchspec --> - <class-decl name='Patchspec' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/patch.h' line='54' column='1' id='type-id-274'> - <!-- struct Pspec --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-267'/> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int Patchspec::order --> - <var-decl name='order' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='288'> - <!-- int Patchspec::stride --> - <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='56' column='1'/> - </data-member> + <member-function access='private' constructor='yes'> + <!-- Sorter::Sorter(int) --> + <function-decl name='Sorter' filepath='libnurbs/internals/sorter.cc' line='44' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Sorter*' --> + <parameter type-id='type-id-185' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Sorter::qs1(char*, char*) --> + <function-decl name='qs1' mangled-name='_ZN6Sorter3qs1EPcS0_' filepath='libnurbs/internals/sorter.cc' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Sorter*' --> + <parameter type-id='type-id-185' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Sorter::qsort(void*, int) --> + <function-decl name='qsort' mangled-name='_ZN6Sorter5qsortEPvi' filepath='libnurbs/internals/sorter.cc' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Sorter*' --> + <parameter type-id='type-id-185' is-artificial='yes'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes' vtable-offset='-1'> + <!-- Sorter::~Sorter(int) --> + <function-decl name='~Sorter' filepath='libnurbs/internals/sorter.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Sorter*' --> + <parameter type-id='type-id-185' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='protected' vtable-offset='2'> + <!-- int Sorter::qscmp(char*, char*) --> + <function-decl name='qscmp' mangled-name='_ZN6Sorter5qscmpEPcS0_' filepath='libnurbs/internals/sorter.cc' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Sorter*' --> + <parameter type-id='type-id-185' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='protected' vtable-offset='3'> + <!-- void Sorter::qsexc(char*, char*) --> + <function-decl name='qsexc' mangled-name='_ZN6Sorter5qsexcEPcS0_' filepath='libnurbs/internals/sorter.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Sorter*' --> + <parameter type-id='type-id-185' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='protected' vtable-offset='4'> + <!-- void Sorter::qstexc(char*, char*, char*) --> + <function-decl name='qstexc' mangled-name='_ZN6Sorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/sorter.cc' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Sorter*' --> + <parameter type-id='type-id-185' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> </class-decl> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/arctess.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- ArcTessellator* const --> - <qualified-type-def type-id='type-id-148' const='yes' id='type-id-277'/> - <!-- Pool* const --> - <qualified-type-def type-id='type-id-117' const='yes' id='type-id-278'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/backend.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- REAL[3][4] --> - <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='384' id='type-id-105'> + <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='384' id='type-id-138'> <!-- <anonymous range>[3] --> - <subrange length='3' type-id='type-id-3' id='type-id-68'/> + <subrange length='3' type-id='type-id-3' id='type-id-90'/> <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-3' id='type-id-65'/> + <subrange length='4' type-id='type-id-3' id='type-id-61'/> </array-type-def> + <!-- class GridTrimVertex --> + <class-decl name='GridTrimVertex' size-in-bits='384' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='45' column='1' id='type-id-195'> + <!-- class PooledObj --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> + <data-member access='private' layout-offset-in-bits='0'> + <!-- TrimVertex GridTrimVertex::dummyt --> + <var-decl name='dummyt' type-id='type-id-128' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='47' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='128'> + <!-- GridVertex GridTrimVertex::dummyg --> + <var-decl name='dummyg' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='48' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='256'> + <!-- TrimVertex* GridTrimVertex::t --> + <var-decl name='t' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='51' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='320'> + <!-- GridVertex* GridTrimVertex::g --> + <var-decl name='g' type-id='type-id-140' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='52' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- GridTrimVertex::GridTrimVertex() --> + <function-decl name='GridTrimVertex' filepath='libnurbs/internals/gridtrimvertex.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int GridTrimVertex::isGridVert() --> + <function-decl name='isGridVert' mangled-name='_ZN14GridTrimVertex10isGridVertEv' filepath='libnurbs/internals/gridtrimvertex.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void GridTrimVertex::set(TrimVertex*) --> + <function-decl name='set' mangled-name='_ZN14GridTrimVertex3setEP10TrimVertex' filepath='libnurbs/internals/gridtrimvertex.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void GridTrimVertex::set(long int, long int) --> + <function-decl name='set' mangled-name='_ZN14GridTrimVertex3setEll' filepath='libnurbs/internals/gridtrimvertex.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int GridTrimVertex::isTrimVert() --> + <function-decl name='isTrimVert' mangled-name='_ZN14GridTrimVertex10isTrimVertEv' filepath='libnurbs/internals/gridtrimvertex.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void GridTrimVertex::set(REAL, REAL) --> + <function-decl name='set' mangled-name='_ZN14GridTrimVertex3setEff' filepath='libnurbs/internals/gridtrimvertex.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> <!-- struct GridVertex --> - <class-decl name='GridVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='39' column='1' id='type-id-219'> + <class-decl name='GridVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='39' column='1' id='type-id-196'> <data-member access='public' layout-offset-in-bits='0'> <!-- long int GridVertex::gparam[2] --> - <var-decl name='gparam' type-id='type-id-165' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='40' column='1'/> + <var-decl name='gparam' type-id='type-id-93' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='40' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- GridVertex::GridVertex() --> <function-decl name='GridVertex' filepath='libnurbs/internals/gridvertex.h' line='41' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'GridVertex*' --> - <parameter type-id='type-id-220' is-artificial='yes'/> + <parameter type-id='type-id-140' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' constructor='yes'> <!-- GridVertex::GridVertex(long int, long int) --> <function-decl name='GridVertex' filepath='libnurbs/internals/gridvertex.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'GridVertex*' --> - <parameter type-id='type-id-220' is-artificial='yes'/> + <parameter type-id='type-id-140' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> - </class-decl> - <!-- class GridTrimVertex --> - <class-decl name='GridTrimVertex' size-in-bits='384' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='45' column='1' id='type-id-209'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='private' layout-offset-in-bits='0'> - <!-- TrimVertex GridTrimVertex::dummyt --> - <var-decl name='dummyt' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='47' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- GridVertex GridTrimVertex::dummyg --> - <var-decl name='dummyg' type-id='type-id-219' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='48' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='256'> - <!-- TrimVertex* GridTrimVertex::t --> - <var-decl name='t' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='51' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='320'> - <!-- GridVertex* GridTrimVertex::g --> - <var-decl name='g' type-id='type-id-220' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='52' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- GridTrimVertex::GridTrimVertex() --> - <function-decl name='GridTrimVertex' filepath='libnurbs/internals/gridtrimvertex.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'GridTrimVertex*' --> - <parameter type-id='type-id-188' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> + <member-function access='public'> + <!-- long int GridVertex::nextu() --> + <function-decl name='nextu' mangled-name='_ZN10GridVertex5nextuEv' filepath='libnurbs/internals/gridvertex.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GridVertex*' --> + <parameter type-id='type-id-140' is-artificial='yes'/> + <!-- long int --> + <return type-id='type-id-38'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- long int GridVertex::prevu() --> + <function-decl name='prevu' mangled-name='_ZN10GridVertex5prevuEv' filepath='libnurbs/internals/gridvertex.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'GridVertex*' --> + <parameter type-id='type-id-140' is-artificial='yes'/> + <!-- long int --> + <return type-id='type-id-38'/> </function-decl> </member-function> </class-decl> <!-- Backend* --> - <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-106'/> - <!-- Backend* const --> - <qualified-type-def type-id='type-id-106' const='yes' id='type-id-279'/> + <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-139'/> <!-- BasicCurveEvaluator& --> - <qualified-type-def type-id='type-id-88' id='type-id-103'/> - <!-- BasicCurveEvaluator& --> - <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-88'/> + <reference-type-def kind='lvalue' type-id='type-id-16' size-in-bits='64' id='type-id-79'/> <!-- BasicSurfaceEvaluator& --> - <qualified-type-def type-id='type-id-89' id='type-id-104'/> - <!-- BasicSurfaceEvaluator& --> - <reference-type-def kind='lvalue' type-id='type-id-48' size-in-bits='64' id='type-id-89'/> + <reference-type-def kind='lvalue' type-id='type-id-51' size-in-bits='64' id='type-id-80'/> <!-- GridTrimVertex* --> - <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-188'/> - <!-- GridTrimVertex* const --> - <qualified-type-def type-id='type-id-188' const='yes' id='type-id-280'/> + <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-141'/> <!-- GridVertex* --> - <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/bin.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Bin* const --> - <qualified-type-def type-id='type-id-151' const='yes' id='type-id-281'/> + <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-140'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/cachingeval.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/ccw.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Subdivider* const --> - <qualified-type-def type-id='type-id-128' const='yes' id='type-id-282'/> - </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/coveandtiler.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> + <!-- class CoveAndTiler --> + <class-decl name='CoveAndTiler' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='46' column='1' id='type-id-188'> + <!-- class TrimRegion --> + <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-197'/> + <data-member access='private' layout-offset-in-bits='64'> + <!-- Backend& CoveAndTiler::backend --> + <var-decl name='backend' type-id='type-id-167' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='52' column='1'/> + </data-member> + <data-member access='private' static='yes'> + <!-- static const int CoveAndTiler::MAXSTRIPSIZE --> + <var-decl name='MAXSTRIPSIZE' type-id='type-id-116' mangled-name='_ZN12CoveAndTiler12MAXSTRIPSIZEE' visibility='default' filepath='libnurbs/internals/coveandtiler.cc' line='50' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- CoveAndTiler::CoveAndTiler(int, void**, Backend&) --> + <function-decl name='CoveAndTiler' filepath='libnurbs/internals/coveandtiler.cc' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- artificial parameter of type 'void**' --> + <parameter type-id='type-id-191' is-artificial='yes'/> + <!-- parameter of type 'Backend&' --> + <parameter type-id='type-id-167'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- CoveAndTiler::~CoveAndTiler(int, void**) --> + <function-decl name='~CoveAndTiler' filepath='libnurbs/internals/coveandtiler.cc' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- artificial parameter of type 'void**' --> + <parameter type-id='type-id-191' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::output(TrimVertex*) --> + <function-decl name='output' mangled-name='_ZN12CoveAndTiler6outputEP10TrimVertex' filepath='libnurbs/internals/coveandtiler.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::output(GridVertex&) --> + <function-decl name='output' mangled-name='_ZN12CoveAndTiler6outputER10GridVertex' filepath='libnurbs/internals/coveandtiler.cc' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- parameter of type 'GridVertex&' --> + <parameter type-id='type-id-199'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::output(GridTrimVertex&) --> + <function-decl name='output' mangled-name='_ZN12CoveAndTiler6outputER14GridTrimVertex' filepath='libnurbs/internals/coveandtiler.cc' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- parameter of type 'GridTrimVertex&' --> + <parameter type-id='type-id-200'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveLR() --> + <function-decl name='coveLR' mangled-name='_ZN12CoveAndTiler6coveLREv' filepath='libnurbs/internals/coveandtiler.cc' line='409' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveLL() --> + <function-decl name='coveLL' mangled-name='_ZN12CoveAndTiler6coveLLEv' filepath='libnurbs/internals/coveandtiler.cc' line='348' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveUL() --> + <function-decl name='coveUL' mangled-name='_ZN12CoveAndTiler6coveULEv' filepath='libnurbs/internals/coveandtiler.cc' line='287' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveUR() --> + <function-decl name='coveUR' mangled-name='_ZN12CoveAndTiler6coveUREv' filepath='libnurbs/internals/coveandtiler.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveLowerRightNoGrid(TrimVertex*) --> + <function-decl name='coveLowerRightNoGrid' mangled-name='_ZN12CoveAndTiler20coveLowerRightNoGridEP10TrimVertex' filepath='libnurbs/internals/coveandtiler.cc' line='397' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveLowerRight() --> + <function-decl name='coveLowerRight' mangled-name='_ZN12CoveAndTiler14coveLowerRightEv' filepath='libnurbs/internals/coveandtiler.cc' line='381' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveLowerLeftNoGrid(TrimVertex*) --> + <function-decl name='coveLowerLeftNoGrid' mangled-name='_ZN12CoveAndTiler19coveLowerLeftNoGridEP10TrimVertex' filepath='libnurbs/internals/coveandtiler.cc' line='336' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveLowerLeft() --> + <function-decl name='coveLowerLeft' mangled-name='_ZN12CoveAndTiler13coveLowerLeftEv' filepath='libnurbs/internals/coveandtiler.cc' line='320' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveUpperLeftNoGrid(TrimVertex*) --> + <function-decl name='coveUpperLeftNoGrid' mangled-name='_ZN12CoveAndTiler19coveUpperLeftNoGridEP10TrimVertex' filepath='libnurbs/internals/coveandtiler.cc' line='275' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveUpperLeft() --> + <function-decl name='coveUpperLeft' mangled-name='_ZN12CoveAndTiler13coveUpperLeftEv' filepath='libnurbs/internals/coveandtiler.cc' line='259' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveUpperRightNoGrid(TrimVertex*) --> + <function-decl name='coveUpperRightNoGrid' mangled-name='_ZN12CoveAndTiler20coveUpperRightNoGridEP10TrimVertex' filepath='libnurbs/internals/coveandtiler.cc' line='213' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveUpperRight() --> + <function-decl name='coveUpperRight' mangled-name='_ZN12CoveAndTiler14coveUpperRightEv' filepath='libnurbs/internals/coveandtiler.cc' line='197' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::tile(long int, long int, long int) --> + <function-decl name='tile' mangled-name='_ZN12CoveAndTiler4tileElll' filepath='libnurbs/internals/coveandtiler.cc' line='181' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void CoveAndTiler::coveAndTile() --> + <function-decl name='coveAndTile' mangled-name='_ZN12CoveAndTiler11coveAndTileEv' filepath='libnurbs/internals/coveandtiler.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'CoveAndTiler*' --> + <parameter type-id='type-id-198' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct Gridline --> + <class-decl name='Gridline' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridline.h' line='39' column='1' id='type-id-201'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- long int Gridline::v --> + <var-decl name='v' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/gridline.h' line='40' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- REAL Gridline::vval --> + <var-decl name='vval' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/gridline.h' line='41' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- long int Gridline::vindex --> + <var-decl name='vindex' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/gridline.h' line='42' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- long int Gridline::ustart --> + <var-decl name='ustart' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/gridline.h' line='43' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- long int Gridline::uend --> + <var-decl name='uend' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/gridline.h' line='44' column='1'/> + </data-member> + </class-decl> <!-- class Jarcloc --> - <class-decl name='Jarcloc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='41' column='1' id='type-id-213'> + <class-decl name='Jarcloc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='41' column='1' id='type-id-202'> <data-member access='private' layout-offset-in-bits='0'> <!-- Arc_ptr Jarcloc::arc --> - <var-decl name='arc' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='43' column='1'/> + <var-decl name='arc' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='43' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- TrimVertex* Jarcloc::p --> - <var-decl name='p' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='44' column='1'/> + <var-decl name='p' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='44' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- TrimVertex* Jarcloc::plast --> - <var-decl name='plast' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='45' column='1'/> + <var-decl name='plast' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='45' column='1'/> </data-member> + <member-function access='private'> + <!-- TrimVertex* Jarcloc::getnextpt() --> + <function-decl name='getnextpt' mangled-name='_ZN7Jarcloc9getnextptEv' filepath='libnurbs/internals/jarcloc.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Jarcloc*' --> + <parameter type-id='type-id-203' is-artificial='yes'/> + <!-- TrimVertex* --> + <return type-id='type-id-127'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- TrimVertex* Jarcloc::getprevpt() --> + <function-decl name='getprevpt' mangled-name='_ZN7Jarcloc9getprevptEv' filepath='libnurbs/internals/jarcloc.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Jarcloc*' --> + <parameter type-id='type-id-203' is-artificial='yes'/> + <!-- TrimVertex* --> + <return type-id='type-id-127'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Jarcloc::reverse() --> + <function-decl name='reverse' mangled-name='_ZN7Jarcloc7reverseEv' filepath='libnurbs/internals/jarcloc.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Jarcloc*' --> + <parameter type-id='type-id-203' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Jarcloc::init(Arc_ptr, long int, long int) --> + <function-decl name='init' mangled-name='_ZN7Jarcloc4initEP3Arcll' filepath='libnurbs/internals/jarcloc.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Jarcloc*' --> + <parameter type-id='type-id-203' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> </class-decl> <!-- class Trimline --> - <class-decl name='Trimline' size-in-bits='832' visibility='default' filepath='libnurbs/internals/trimline.h' line='46' column='1' id='type-id-200'> + <class-decl name='Trimline' size-in-bits='832' visibility='default' filepath='libnurbs/internals/trimline.h' line='46' column='1' id='type-id-204'> <data-member access='private' layout-offset-in-bits='0'> <!-- TrimVertex** Trimline::pts --> - <var-decl name='pts' type-id='type-id-130' visibility='default' filepath='libnurbs/internals/trimline.h' line='48' column='1'/> + <var-decl name='pts' type-id='type-id-176' visibility='default' filepath='libnurbs/internals/trimline.h' line='48' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- long int Trimline::numverts --> - <var-decl name='numverts' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimline.h' line='49' column='1'/> + <var-decl name='numverts' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/trimline.h' line='49' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- long int Trimline::i --> - <var-decl name='i' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimline.h' line='50' column='1'/> + <var-decl name='i' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/trimline.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- long int Trimline::size --> - <var-decl name='size' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimline.h' line='51' column='1'/> + <var-decl name='size' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/trimline.h' line='51' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='256'> <!-- Jarcloc Trimline::jarcl --> - <var-decl name='jarcl' type-id='type-id-213' visibility='default' filepath='libnurbs/internals/trimline.h' line='52' column='1'/> + <var-decl name='jarcl' type-id='type-id-202' visibility='default' filepath='libnurbs/internals/trimline.h' line='52' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='448'> <!-- TrimVertex Trimline::t --> - <var-decl name='t' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/trimline.h' line='53' column='1'/> + <var-decl name='t' type-id='type-id-128' visibility='default' filepath='libnurbs/internals/trimline.h' line='53' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='576'> <!-- TrimVertex Trimline::b --> - <var-decl name='b' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/trimline.h' line='53' column='1'/> + <var-decl name='b' type-id='type-id-128' visibility='default' filepath='libnurbs/internals/trimline.h' line='53' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='704'> <!-- TrimVertex* Trimline::tinterp --> - <var-decl name='tinterp' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/trimline.h' line='54' column='1'/> + <var-decl name='tinterp' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/trimline.h' line='54' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='768'> <!-- TrimVertex* Trimline::binterp --> - <var-decl name='binterp' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/trimline.h' line='54' column='1'/> + <var-decl name='binterp' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/trimline.h' line='54' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Trimline::Trimline() --> <function-decl name='Trimline' filepath='libnurbs/internals/trimline.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Trimline*' --> - <parameter type-id='type-id-198' is-artificial='yes'/> + <parameter type-id='type-id-205' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- Trimline::~Trimline(int) --> <function-decl name='~Trimline' filepath='libnurbs/internals/trimline.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Trimline*' --> - <parameter type-id='type-id-198' is-artificial='yes'/> + <parameter type-id='type-id-205' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- TrimVertex* Trimline::prev() --> + <function-decl name='prev' mangled-name='_ZN8Trimline4prevEv' filepath='libnurbs/internals/trimline.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- TrimVertex* --> + <return type-id='type-id-127'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- TrimVertex* Trimline::next() --> + <function-decl name='next' mangled-name='_ZN8Trimline4nextEv' filepath='libnurbs/internals/trimline.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- TrimVertex* --> + <return type-id='type-id-127'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- TrimVertex* Trimline::last() --> + <function-decl name='last' mangled-name='_ZN8Trimline4lastEv' filepath='libnurbs/internals/trimline.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- TrimVertex* --> + <return type-id='type-id-127'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- TrimVertex* Trimline::first() --> + <function-decl name='first' mangled-name='_ZN8Trimline5firstEv' filepath='libnurbs/internals/trimline.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- TrimVertex* --> + <return type-id='type-id-127'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::reset() --> + <function-decl name='reset' mangled-name='_ZN8Trimline5resetEv' filepath='libnurbs/internals/trimline.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::swap() --> + <function-decl name='swap' mangled-name='_ZN8Trimline4swapEv' filepath='libnurbs/internals/trimline.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::append(TrimVertex*) --> + <function-decl name='append' mangled-name='_ZN8Trimline6appendEP10TrimVertex' filepath='libnurbs/internals/trimline.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::getNextPt() --> + <function-decl name='getNextPt' mangled-name='_ZN8Trimline9getNextPtEv' filepath='libnurbs/internals/trimline.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::getPrevPt() --> + <function-decl name='getPrevPt' mangled-name='_ZN8Trimline9getPrevPtEv' filepath='libnurbs/internals/trimline.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::getNextPts(Arc_ptr) --> + <function-decl name='getNextPts' mangled-name='_ZN8Trimline10getNextPtsEP3Arc' filepath='libnurbs/internals/trimline.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::getPrevPts(Arc_ptr) --> + <function-decl name='getPrevPts' mangled-name='_ZN8Trimline10getPrevPtsEP3Arc' filepath='libnurbs/internals/trimline.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- long int Trimline::interpvert(TrimVertex*, TrimVertex*, REAL) --> + <function-decl name='interpvert' mangled-name='_ZN8Trimline10interpvertEP10TrimVertexS1_S1_f' filepath='libnurbs/internals/trimline.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- long int --> + <return type-id='type-id-38'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::getPrevPts(REAL, Backend&) --> + <function-decl name='getPrevPts' mangled-name='_ZN8Trimline10getPrevPtsEfR7Backend' filepath='libnurbs/internals/trimline.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'Backend&' --> + <parameter type-id='type-id-167'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::getNextPts(REAL, Backend&) --> + <function-decl name='getNextPts' mangled-name='_ZN8Trimline10getNextPtsEfR7Backend' filepath='libnurbs/internals/trimline.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'Backend&' --> + <parameter type-id='type-id-167'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::grow(long int) --> + <function-decl name='grow' mangled-name='_ZN8Trimline4growEl' filepath='libnurbs/internals/trimline.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::init(long int, Arc_ptr, long int) --> + <function-decl name='init' mangled-name='_ZN8Trimline4initElP3Arcl' filepath='libnurbs/internals/trimline.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Trimline::init(TrimVertex*) --> + <function-decl name='init' mangled-name='_ZN8Trimline4initEP10TrimVertex' filepath='libnurbs/internals/trimline.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Trimline*' --> + <parameter type-id='type-id-205' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- class TrimRegion --> - <class-decl name='TrimRegion' size-in-bits='2560' visibility='default' filepath='libnurbs/internals/trimregion.h' line='46' column='1' id='type-id-173'> + <class-decl name='TrimRegion' size-in-bits='2560' visibility='default' filepath='libnurbs/internals/trimregion.h' line='46' column='1' id='type-id-197'> <data-member access='private' layout-offset-in-bits='0'> <!-- Trimline TrimRegion::left --> - <var-decl name='left' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='49' column='1'/> + <var-decl name='left' type-id='type-id-204' visibility='default' filepath='libnurbs/internals/trimregion.h' line='49' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='832'> <!-- Trimline TrimRegion::right --> - <var-decl name='right' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='50' column='1'/> + <var-decl name='right' type-id='type-id-204' visibility='default' filepath='libnurbs/internals/trimregion.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1664'> <!-- Gridline TrimRegion::top --> - <var-decl name='top' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/trimregion.h' line='51' column='1'/> + <var-decl name='top' type-id='type-id-201' visibility='default' filepath='libnurbs/internals/trimregion.h' line='51' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1984'> <!-- Gridline TrimRegion::bot --> - <var-decl name='bot' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/trimregion.h' line='52' column='1'/> + <var-decl name='bot' type-id='type-id-201' visibility='default' filepath='libnurbs/internals/trimregion.h' line='52' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2304'> <!-- Uarray TrimRegion::uarray --> - <var-decl name='uarray' type-id='type-id-204' visibility='default' filepath='libnurbs/internals/trimregion.h' line='53' column='1'/> + <var-decl name='uarray' type-id='type-id-206' visibility='default' filepath='libnurbs/internals/trimregion.h' line='53' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2496'> <!-- REAL TrimRegion::oneOverDu --> @@ -7192,202 +8739,246 @@ <!-- TrimRegion::TrimRegion() --> <function-decl name='TrimRegion' filepath='libnurbs/internals/trimregion.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'TrimRegion*' --> - <parameter type-id='type-id-205' is-artificial='yes'/> + <parameter type-id='type-id-207' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void TrimRegion::init(REAL) --> + <function-decl name='init' mangled-name='_ZN10TrimRegion4initEf' filepath='libnurbs/internals/trimregion.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void TrimRegion::advance(REAL, REAL, REAL) --> + <function-decl name='advance' mangled-name='_ZN10TrimRegion7advanceEfff' filepath='libnurbs/internals/trimregion.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void TrimRegion::setDu(REAL) --> + <function-decl name='setDu' mangled-name='_ZN10TrimRegion5setDuEf' filepath='libnurbs/internals/trimregion.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void TrimRegion::getGridExtent(TrimVertex*, TrimVertex*) --> + <function-decl name='getGridExtent' mangled-name='_ZN10TrimRegion13getGridExtentEP10TrimVertexS1_' filepath='libnurbs/internals/trimregion.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void TrimRegion::getGridExtent() --> + <function-decl name='getGridExtent' mangled-name='_ZN10TrimRegion13getGridExtentEv' filepath='libnurbs/internals/trimregion.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int TrimRegion::canTile() --> + <function-decl name='canTile' mangled-name='_ZN10TrimRegion7canTileEv' filepath='libnurbs/internals/trimregion.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void TrimRegion::getPts(Backend&) --> + <function-decl name='getPts' mangled-name='_ZN10TrimRegion6getPtsER7Backend' filepath='libnurbs/internals/trimregion.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- parameter of type 'Backend&' --> + <parameter type-id='type-id-167'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void TrimRegion::getPts(Arc_ptr) --> + <function-decl name='getPts' mangled-name='_ZN10TrimRegion6getPtsEP3Arc' filepath='libnurbs/internals/trimregion.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void TrimRegion::init(long int, Arc_ptr) --> + <function-decl name='init' mangled-name='_ZN10TrimRegion4initElP3Arc' filepath='libnurbs/internals/trimregion.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'TrimRegion*' --> + <parameter type-id='type-id-207' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- class Uarray --> - <class-decl name='Uarray' size-in-bits='192' visibility='default' filepath='libnurbs/internals/uarray.h' line='44' column='1' id='type-id-204'> + <class-decl name='Uarray' size-in-bits='192' visibility='default' filepath='libnurbs/internals/uarray.h' line='44' column='1' id='type-id-206'> <data-member access='private' layout-offset-in-bits='0'> <!-- long int Uarray::size --> - <var-decl name='size' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/uarray.h' line='46' column='1'/> + <var-decl name='size' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/uarray.h' line='46' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- long int Uarray::ulines --> - <var-decl name='ulines' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/uarray.h' line='47' column='1'/> + <var-decl name='ulines' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/uarray.h' line='47' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- REAL* Uarray::uarray --> - <var-decl name='uarray' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/uarray.h' line='52' column='1'/> + <var-decl name='uarray' type-id='type-id-22' visibility='default' filepath='libnurbs/internals/uarray.h' line='52' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Uarray::Uarray() --> <function-decl name='Uarray' filepath='libnurbs/internals/uarray.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Uarray*' --> - <parameter type-id='type-id-214' is-artificial='yes'/> + <parameter type-id='type-id-208' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- Uarray::~Uarray(int) --> <function-decl name='~Uarray' filepath='libnurbs/internals/uarray.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Uarray*' --> - <parameter type-id='type-id-214' is-artificial='yes'/> + <parameter type-id='type-id-208' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> - </class-decl> - <!-- struct Gridline --> - <class-decl name='Gridline' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridline.h' line='39' column='1' id='type-id-203'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- long int Gridline::v --> - <var-decl name='v' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='40' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- REAL Gridline::vval --> - <var-decl name='vval' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/gridline.h' line='41' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- long int Gridline::vindex --> - <var-decl name='vindex' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='42' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- long int Gridline::ustart --> - <var-decl name='ustart' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='43' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- long int Gridline::uend --> - <var-decl name='uend' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='44' column='1'/> - </data-member> - </class-decl> - <!-- class CoveAndTiler --> - <class-decl name='CoveAndTiler' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='46' column='1' id='type-id-160'> - <!-- class TrimRegion --> - <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Backend& CoveAndTiler::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='52' column='1'/> - </data-member> - <data-member access='private' static='yes'> - <!-- static const int CoveAndTiler::MAXSTRIPSIZE --> - <var-decl name='MAXSTRIPSIZE' type-id='type-id-174' mangled-name='_ZN12CoveAndTiler12MAXSTRIPSIZEE' visibility='default' filepath='libnurbs/internals/coveandtiler.cc' line='50' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- CoveAndTiler::CoveAndTiler(int, void**, Backend&) --> - <function-decl name='CoveAndTiler' filepath='libnurbs/internals/coveandtiler.cc' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CoveAndTiler*' --> - <parameter type-id='type-id-175' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- CoveAndTiler::~CoveAndTiler(int, void**) --> - <function-decl name='~CoveAndTiler' filepath='libnurbs/internals/coveandtiler.cc' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'CoveAndTiler*' --> - <parameter type-id='type-id-175' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> + <member-function access='private'> + <!-- long int Uarray::init(REAL, Arc_ptr, Arc_ptr) --> + <function-decl name='init' mangled-name='_ZN6Uarray4initEfP3ArcS1_' filepath='libnurbs/internals/uarray.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Uarray*' --> + <parameter type-id='type-id-208' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- parameter of type 'typedef Arc_ptr' --> + <parameter type-id='type-id-112'/> + <!-- long int --> + <return type-id='type-id-38'/> </function-decl> </member-function> </class-decl> <!-- CoveAndTiler* --> - <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-175'/> - <!-- CoveAndTiler* const --> - <qualified-type-def type-id='type-id-175' const='yes' id='type-id-283'/> + <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-198'/> <!-- GridTrimVertex& --> - <qualified-type-def type-id='type-id-284' id='type-id-285'/> - <!-- GridTrimVertex& --> - <reference-type-def kind='lvalue' type-id='type-id-209' size-in-bits='64' id='type-id-284'/> + <reference-type-def kind='lvalue' type-id='type-id-195' size-in-bits='64' id='type-id-200'/> <!-- GridVertex& --> - <qualified-type-def type-id='type-id-286' id='type-id-287'/> - <!-- GridVertex& --> - <reference-type-def kind='lvalue' type-id='type-id-219' size-in-bits='64' id='type-id-286'/> - <!-- GridVertex* const --> - <qualified-type-def type-id='type-id-220' const='yes' id='type-id-288'/> + <reference-type-def kind='lvalue' type-id='type-id-196' size-in-bits='64' id='type-id-199'/> <!-- Jarcloc* --> - <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-289'/> + <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-203'/> <!-- TrimRegion* --> - <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-205'/> + <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-207'/> <!-- Trimline* --> - <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-198'/> - <!-- Trimline* const --> - <qualified-type-def type-id='type-id-198' const='yes' id='type-id-290'/> + <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-205'/> <!-- Uarray* --> - <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-214'/> + <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-208'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/curve.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- Quiltspec[2] --> - <array-type-def dimensions='1' type-id='type-id-189' size-in-bits='640' id='type-id-185'> + <array-type-def dimensions='1' type-id='type-id-209' size-in-bits='640' id='type-id-164'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> <!-- REAL[120] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='3840' id='type-id-268'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='3840' id='type-id-210'> <!-- <anonymous range>[120] --> - <subrange length='120' type-id='type-id-3' id='type-id-275'/> + <subrange length='120' type-id='type-id-3' id='type-id-211'/> </array-type-def> <!-- REAL[5] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-178'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-212'> <!-- <anonymous range>[5] --> - <subrange length='5' type-id='type-id-3' id='type-id-190'/> + <subrange length='5' type-id='type-id-3' id='type-id-213'/> </array-type-def> <!-- REAL[5][5] --> - <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='800' id='type-id-206'> + <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='800' id='type-id-214'> <!-- <anonymous range>[5] --> - <subrange length='5' type-id='type-id-3' id='type-id-190'/> + <subrange length='5' type-id='type-id-3' id='type-id-213'/> <!-- <anonymous range>[5] --> - <subrange length='5' type-id='type-id-3' id='type-id-190'/> + <subrange length='5' type-id='type-id-3' id='type-id-213'/> </array-type-def> <!-- float[4] --> - <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='128' id='type-id-291'> + <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-215'> <!-- <anonymous range>[4] --> - <subrange length='4' type-id='type-id-3' id='type-id-65'/> + <subrange length='4' type-id='type-id-3' id='type-id-61'/> </array-type-def> <!-- int[2] --> - <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-211'> + <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-216'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> <!-- class Curve --> - <class-decl name='Curve' size-in-bits='8128' visibility='default' filepath='libnurbs/internals/curve.h' line='46' column='1' id='type-id-265'> + <class-decl name='Curve' size-in-bits='8128' visibility='default' filepath='libnurbs/internals/curve.h' line='46' column='1' id='type-id-217'> <data-member access='private' layout-offset-in-bits='0'> <!-- Curve* Curve::next --> - <var-decl name='next' type-id='type-id-247' visibility='default' filepath='libnurbs/internals/curve.h' line='51' column='1'/> + <var-decl name='next' type-id='type-id-145' visibility='default' filepath='libnurbs/internals/curve.h' line='51' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- Mapdesc* Curve::mapdesc --> - <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/curve.h' line='53' column='1'/> + <var-decl name='mapdesc' type-id='type-id-163' visibility='default' filepath='libnurbs/internals/curve.h' line='53' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- int Curve::stride --> - <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curve.h' line='54' column='1'/> + <var-decl name='stride' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/curve.h' line='54' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='160'> <!-- int Curve::order --> - <var-decl name='order' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curve.h' line='55' column='1'/> + <var-decl name='order' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/curve.h' line='55' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- int Curve::cullval --> - <var-decl name='cullval' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curve.h' line='56' column='1'/> + <var-decl name='cullval' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/curve.h' line='56' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='224'> <!-- int Curve::needsSampling --> - <var-decl name='needsSampling' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/curve.h' line='57' column='1'/> + <var-decl name='needsSampling' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/curve.h' line='57' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='256'> <!-- REAL Curve::cpts[120] --> - <var-decl name='cpts' type-id='type-id-268' visibility='default' filepath='libnurbs/internals/curve.h' line='58' column='1'/> + <var-decl name='cpts' type-id='type-id-210' visibility='default' filepath='libnurbs/internals/curve.h' line='58' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='4096'> <!-- REAL Curve::spts[120] --> - <var-decl name='spts' type-id='type-id-268' visibility='default' filepath='libnurbs/internals/curve.h' line='59' column='1'/> + <var-decl name='spts' type-id='type-id-210' visibility='default' filepath='libnurbs/internals/curve.h' line='59' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='7936'> <!-- REAL Curve::stepsize --> @@ -7399,47 +8990,170 @@ </data-member> <data-member access='private' layout-offset-in-bits='8000'> <!-- REAL Curve::range[3] --> - <var-decl name='range' type-id='type-id-230' visibility='default' filepath='libnurbs/internals/curve.h' line='62' column='1'/> + <var-decl name='range' type-id='type-id-89' visibility='default' filepath='libnurbs/internals/curve.h' line='62' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Curve::Curve(Quilt*, REAL, REAL, Curve*) --> <function-decl name='Curve' filepath='libnurbs/internals/curve.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Curve*' --> - <parameter type-id='type-id-247' is-artificial='yes'/> + <parameter type-id='type-id-145' is-artificial='yes'/> <!-- parameter of type 'Quilt*' --> - <parameter type-id='type-id-125'/> + <parameter type-id='type-id-148'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'Curve*' --> - <parameter type-id='type-id-247'/> + <parameter type-id='type-id-145'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' constructor='yes'> <!-- Curve::Curve(Curve&, REAL, Curve*) --> <function-decl name='Curve' filepath='libnurbs/internals/curve.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Curve*' --> - <parameter type-id='type-id-247' is-artificial='yes'/> + <parameter type-id='type-id-145' is-artificial='yes'/> <!-- parameter of type 'Curve&' --> - <parameter type-id='type-id-269'/> + <parameter type-id='type-id-218'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'Curve*' --> - <parameter type-id='type-id-247'/> + <parameter type-id='type-id-145'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Curve::clamp() --> + <function-decl name='clamp' mangled-name='_ZN5Curve5clampEv' filepath='libnurbs/internals/curve.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Curve*' --> + <parameter type-id='type-id-145' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Curve::setstepsize(REAL) --> + <function-decl name='setstepsize' mangled-name='_ZN5Curve11setstepsizeEf' filepath='libnurbs/internals/curve.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Curve*' --> + <parameter type-id='type-id-145' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Curve::needsSamplingSubdivision() --> + <function-decl name='needsSamplingSubdivision' mangled-name='_ZN5Curve24needsSamplingSubdivisionEv' filepath='libnurbs/internals/curve.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Curve*' --> + <parameter type-id='type-id-145' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Curve::cullCheck() --> + <function-decl name='cullCheck' mangled-name='_ZN5Curve9cullCheckEv' filepath='libnurbs/internals/curve.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Curve*' --> + <parameter type-id='type-id-145' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Curve::getstepsize() --> + <function-decl name='getstepsize' mangled-name='_ZN5Curve11getstepsizeEv' filepath='libnurbs/internals/curve.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Curve*' --> + <parameter type-id='type-id-145' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct Knotvector --> + <class-decl name='Knotvector' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/knotvector.h' line='41' column='1' id='type-id-219'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- long int Knotvector::order --> + <var-decl name='order' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/knotvector.h' line='48' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- long int Knotvector::knotcount --> + <var-decl name='knotcount' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/knotvector.h' line='49' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- long int Knotvector::stride --> + <var-decl name='stride' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/knotvector.h' line='50' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- Knot* Knotvector::knotlist --> + <var-decl name='knotlist' type-id='type-id-220' visibility='default' filepath='libnurbs/internals/knotvector.h' line='51' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- Knotvector::Knotvector() --> + <function-decl name='Knotvector' filepath='libnurbs/internals/knotvector.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotvector*' --> + <parameter type-id='type-id-83' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' destructor='yes'> + <!-- Knotvector::~Knotvector(int) --> + <function-decl name='~Knotvector' filepath='libnurbs/internals/knotvector.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotvector*' --> + <parameter type-id='type-id-83' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Knotvector::validate() --> + <function-decl name='validate' mangled-name='_ZN10Knotvector8validateEv' filepath='libnurbs/internals/knotvector.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotvector*' --> + <parameter type-id='type-id-83' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotvector::show(const char*) --> + <function-decl name='show' mangled-name='_ZN10Knotvector4showEPKc' filepath='libnurbs/internals/knotvector.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotvector*' --> + <parameter type-id='type-id-83' is-artificial='yes'/> + <!-- parameter of type 'const char*' --> + <parameter type-id='type-id-84'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotvector::init(long int, long int, long int, float*) --> + <function-decl name='init' mangled-name='_ZN10Knotvector4initElllPf' filepath='libnurbs/internals/knotvector.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotvector*' --> + <parameter type-id='type-id-83' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- typedef REAL[5][5] Maxmatrix --> - <typedef-decl name='Maxmatrix' type-id='type-id-206' filepath='libnurbs/internals/mapdesc.h' line='45' column='1' id='type-id-179'/> + <typedef-decl name='Maxmatrix' type-id='type-id-214' filepath='libnurbs/internals/mapdesc.h' line='45' column='1' id='type-id-221'/> <!-- struct Mapdesc --> - <class-decl name='Mapdesc' size-in-bits='3392' is-struct='yes' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='49' column='1' id='type-id-136'> + <class-decl name='Mapdesc' size-in-bits='3392' is-struct='yes' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='49' column='1' id='type-id-222'> <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> <data-member access='public' layout-offset-in-bits='0'> <!-- REAL Mapdesc::pixel_tolerance --> <var-decl name='pixel_tolerance' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='104' column='1'/> @@ -7474,43 +9188,43 @@ </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- REAL Mapdesc::bboxsize[5] --> - <var-decl name='bboxsize' type-id='type-id-178' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='112' column='1'/> + <var-decl name='bboxsize' type-id='type-id-212' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='112' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='448'> <!-- long int Mapdesc::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='115' column='1'/> + <var-decl name='type' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='115' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='512'> <!-- int Mapdesc::isrational --> - <var-decl name='isrational' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='116' column='1'/> + <var-decl name='isrational' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='116' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='544'> <!-- int Mapdesc::ncoords --> - <var-decl name='ncoords' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='117' column='1'/> + <var-decl name='ncoords' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='117' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='576'> <!-- int Mapdesc::hcoords --> - <var-decl name='hcoords' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='118' column='1'/> + <var-decl name='hcoords' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='118' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='608'> <!-- int Mapdesc::inhcoords --> - <var-decl name='inhcoords' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='119' column='1'/> + <var-decl name='inhcoords' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='119' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='640'> <!-- int Mapdesc::mask --> - <var-decl name='mask' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='120' column='1'/> + <var-decl name='mask' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='120' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='672'> <!-- Maxmatrix Mapdesc::bmat --> - <var-decl name='bmat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='121' column='1'/> + <var-decl name='bmat' type-id='type-id-221' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='121' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1472'> <!-- Maxmatrix Mapdesc::cmat --> - <var-decl name='cmat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='122' column='1'/> + <var-decl name='cmat' type-id='type-id-221' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='122' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2272'> <!-- Maxmatrix Mapdesc::smat --> - <var-decl name='smat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='123' column='1'/> + <var-decl name='smat' type-id='type-id-221' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='123' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='3072'> <!-- REAL Mapdesc::s_steps --> @@ -7534,94 +9248,829 @@ </data-member> <data-member access='private' layout-offset-in-bits='3264'> <!-- Mapdesc* Mapdesc::next --> - <var-decl name='next' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='129' column='1'/> + <var-decl name='next' type-id='type-id-163' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='129' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='3328'> <!-- Backend& Mapdesc::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='130' column='1'/> + <var-decl name='backend' type-id='type-id-167' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='130' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- Mapdesc::Mapdesc(long int, int, int, Backend&) --> <function-decl name='Mapdesc' filepath='libnurbs/internals/mapdesc.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Mapdesc*' --> - <parameter type-id='type-id-107' is-artificial='yes'/> + <parameter type-id='type-id-163' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> + <parameter type-id='type-id-167'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> - </class-decl> - <!-- struct Knotvector --> - <class-decl name='Knotvector' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/knotvector.h' line='41' column='1' id='type-id-292'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- long int Knotvector::order --> - <var-decl name='order' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/knotvector.h' line='48' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int Knotvector::knotcount --> - <var-decl name='knotcount' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/knotvector.h' line='49' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- long int Knotvector::stride --> - <var-decl name='stride' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/knotvector.h' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- Knot* Knotvector::knotlist --> - <var-decl name='knotlist' type-id='type-id-212' visibility='default' filepath='libnurbs/internals/knotvector.h' line='51' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Knotvector::Knotvector() --> - <function-decl name='Knotvector' filepath='libnurbs/internals/knotvector.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Knotvector*' --> - <parameter type-id='type-id-293' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> + <member-function access='public'> + <!-- int Mapdesc::isParametricDistanceSampling() --> + <function-decl name='isParametricDistanceSampling' mangled-name='_ZN7Mapdesc28isParametricDistanceSamplingEv' filepath='libnurbs/internals/mapdesc.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> </function-decl> </member-function> - <member-function access='public' destructor='yes'> - <!-- Knotvector::~Knotvector(int) --> - <function-decl name='~Knotvector' filepath='libnurbs/internals/knotvector.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Knotvector*' --> - <parameter type-id='type-id-293' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <member-function access='public'> + <!-- int Mapdesc::isPathLengthSampling() --> + <function-decl name='isPathLengthSampling' mangled-name='_ZN7Mapdesc20isPathLengthSamplingEv' filepath='libnurbs/internals/mapdesc.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isSurfaceAreaSampling() --> + <function-decl name='isSurfaceAreaSampling' mangled-name='_ZN7Mapdesc21isSurfaceAreaSamplingEv' filepath='libnurbs/internals/mapdesc.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isObjectSpaceParaSampling() --> + <function-decl name='isObjectSpaceParaSampling' mangled-name='_ZN7Mapdesc25isObjectSpaceParaSamplingEv' filepath='libnurbs/internals/mapdesc.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isObjectSpacePathSampling() --> + <function-decl name='isObjectSpacePathSampling' mangled-name='_ZN7Mapdesc25isObjectSpacePathSamplingEv' filepath='libnurbs/internals/mapdesc.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isConstantSampling() --> + <function-decl name='isConstantSampling' mangled-name='_ZN7Mapdesc18isConstantSamplingEv' filepath='libnurbs/internals/mapdesc.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isDomainSampling() --> + <function-decl name='isDomainSampling' mangled-name='_ZN7Mapdesc16isDomainSamplingEv' filepath='libnurbs/internals/mapdesc.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isRangeSampling() --> + <function-decl name='isRangeSampling' mangled-name='_ZN7Mapdesc15isRangeSamplingEv' filepath='libnurbs/internals/mapdesc.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isCulling() --> + <function-decl name='isCulling' mangled-name='_ZN7Mapdesc9isCullingEv' filepath='libnurbs/internals/mapdesc.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mapdesc::xformCulling(REAL*, REAL*) --> + <function-decl name='xformCulling' mangled-name='_ZN7Mapdesc12xformCullingEPfS0_' filepath='libnurbs/internals/mapdesc.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::setBboxsize(float*) --> + <function-decl name='setBboxsize' mangled-name='_ZN7Mapdesc11setBboxsizeEPf' filepath='libnurbs/internals/mapdesc.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' static='yes'> + <!-- void Mapdesc::copy(long int, float*, long int, long int) --> + <function-decl name='copy' mangled-name='_ZN7Mapdesc4copyEPA5_flPfll' filepath='libnurbs/internals/mapdesc.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mapdesc::sumPt(REAL*, REAL*, REAL*, REAL, REAL) --> + <function-decl name='sumPt' mangled-name='_ZN7Mapdesc5sumPtEPfS0_S0_ff' filepath='libnurbs/internals/mapdesc.h' line='141' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mapdesc::xformRational(REAL[5]*, REAL*, REAL*) --> + <function-decl name='xformRational' mangled-name='_ZN7Mapdesc13xformRationalEPA5_fPfS2_' filepath='libnurbs/internals/mapdesc.h' line='144' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mapdesc::xformNonrational(REAL[5]*, REAL*, REAL*) --> + <function-decl name='xformNonrational' mangled-name='_ZN7Mapdesc16xformNonrationalEPA5_fPfS2_' filepath='libnurbs/internals/mapdesc.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::xformMat(REAL[5]*, REAL*, int, int, REAL*, int) --> + <function-decl name='xformMat' mangled-name='_ZN7Mapdesc8xformMatEPA5_fPfiiS2_i' filepath='libnurbs/internals/mapdesc.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::xformCulling(REAL*, int, int, REAL*, int) --> + <function-decl name='xformCulling' mangled-name='_ZN7Mapdesc12xformCullingEPfiiS0_i' filepath='libnurbs/internals/mapdesc.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::xformBounding(REAL*, int, int, REAL*, int) --> + <function-decl name='xformBounding' mangled-name='_ZN7Mapdesc13xformBoundingEPfiiS0_i' filepath='libnurbs/internals/mapdesc.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::xformSampling(REAL*, int, int, REAL*, int) --> + <function-decl name='xformSampling' mangled-name='_ZN7Mapdesc13xformSamplingEPfiiS0_i' filepath='libnurbs/internals/mapdesc.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::xformMat(REAL[5]*, REAL*, int, int, int, int, REAL*, int, int) --> + <function-decl name='xformMat' mangled-name='_ZN7Mapdesc8xformMatEPA5_fPfiiiiS2_ii' filepath='libnurbs/internals/mapdesc.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::xformBounding(REAL*, int, int, int, int, REAL*, int, int) --> + <function-decl name='xformBounding' mangled-name='_ZN7Mapdesc13xformBoundingEPfiiiiS0_ii' filepath='libnurbs/internals/mapdesc.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::xformSampling(REAL*, int, int, int, int, REAL*, int, int) --> + <function-decl name='xformSampling' mangled-name='_ZN7Mapdesc13xformSamplingEPfiiiiS0_ii' filepath='libnurbs/internals/mapdesc.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::xformCulling(REAL*, int, int, int, int, REAL*, int, int) --> + <function-decl name='xformCulling' mangled-name='_ZN7Mapdesc12xformCullingEPfiiiiS0_ii' filepath='libnurbs/internals/mapdesc.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::project(REAL*, int, int, REAL*, int, int, int, int) --> + <function-decl name='project' mangled-name='_ZN7Mapdesc7projectEPfiiS0_iiii' filepath='libnurbs/internals/mapdesc.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::project(REAL*, int, REAL*, int, int) --> + <function-decl name='project' mangled-name='_ZN7Mapdesc7projectEPfiS0_ii' filepath='libnurbs/internals/mapdesc.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mapdesc::bbox(REAL[5]*, REAL*, int, int, int, int) --> + <function-decl name='bbox' mangled-name='_ZN7Mapdesc4bboxEPA5_fPfiiii' filepath='libnurbs/internals/mapdesc.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isProperty(long int) --> + <function-decl name='isProperty' mangled-name='_ZN7Mapdesc10isPropertyEl' filepath='libnurbs/internals/mapdesc.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::setProperty(long int, REAL) --> + <function-decl name='setProperty' mangled-name='_ZN7Mapdesc11setPropertyElf' filepath='libnurbs/internals/mapdesc.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL Mapdesc::getProperty(long int) --> + <function-decl name='getProperty' mangled-name='_ZN7Mapdesc11getPropertyEl' filepath='libnurbs/internals/mapdesc.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- typedef REAL --> + <return type-id='type-id-1'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- unsigned int Mapdesc::clipbits(REAL*) --> + <function-decl name='clipbits' mangled-name='_ZN7Mapdesc8clipbitsEPf' filepath='libnurbs/internals/mapdesc.h' line='146' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- unsigned int --> + <return type-id='type-id-224'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::cullCheck(REAL*, int, int) --> + <function-decl name='cullCheck' mangled-name='_ZN7Mapdesc9cullCheckEPfii' filepath='libnurbs/internals/mapdesc.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::cullCheck(REAL*, int, int, int, int) --> + <function-decl name='cullCheck' mangled-name='_ZN7Mapdesc9cullCheckEPfiiii' filepath='libnurbs/internals/mapdesc.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::xformAndCullCheck(REAL*, int, int, int, int) --> + <function-decl name='xformAndCullCheck' mangled-name='_ZN7Mapdesc17xformAndCullCheckEPfiiii' filepath='libnurbs/internals/mapdesc.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL Mapdesc::calcVelocityNonrational(REAL*, int, int) --> + <function-decl name='calcVelocityNonrational' mangled-name='_ZN7Mapdesc23calcVelocityNonrationalEPfii' filepath='libnurbs/internals/mapdesc.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- typedef REAL --> + <return type-id='type-id-1'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL Mapdesc::calcVelocityRational(REAL*, int, int) --> + <function-decl name='calcVelocityRational' mangled-name='_ZN7Mapdesc20calcVelocityRationalEPfii' filepath='libnurbs/internals/mapdesc.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- typedef REAL --> + <return type-id='type-id-1'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::bboxTooBig(REAL*, int, int, int, int, REAL[5]*) --> + <function-decl name='bboxTooBig' mangled-name='_ZN7Mapdesc10bboxTooBigEPfiiiiPA5_f' filepath='libnurbs/internals/mapdesc.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mapdesc::copyPt(REAL*, REAL*) --> + <function-decl name='copyPt' mangled-name='_ZN7Mapdesc6copyPtEPfS0_' filepath='libnurbs/internals/mapdesc.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::subdivide(REAL*, REAL*, REAL, int, int, int, int) --> + <function-decl name='subdivide' mangled-name='_ZN7Mapdesc9subdivideEPfS0_fiiii' filepath='libnurbs/internals/mapdesc.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::subdivide(REAL*, REAL*, REAL, int, int) --> + <function-decl name='subdivide' mangled-name='_ZN7Mapdesc9subdivideEPfS0_fii' filepath='libnurbs/internals/mapdesc.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::surfbbox(REAL[5]*) --> + <function-decl name='surfbbox' mangled-name='_ZN7Mapdesc8surfbboxEPA5_f' filepath='libnurbs/internals/mapdesc.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::identify(REAL[5]*) --> + <function-decl name='identify' mangled-name='_ZN7Mapdesc8identifyEPA5_f' filepath='libnurbs/internals/mapdesc.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL[5]*' --> + <parameter type-id='type-id-223'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL Mapdesc::calcPartialVelocity(REAL*, REAL*, int, int, int, int, int, int, REAL, REAL, int) --> + <function-decl name='calcPartialVelocity' mangled-name='_ZN7Mapdesc19calcPartialVelocityEPfS0_iiiiiiffi' filepath='libnurbs/internals/mapdesc.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- typedef REAL --> + <return type-id='type-id-1'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- REAL Mapdesc::calcPartialVelocity(REAL*, int, int, int, REAL) --> + <function-decl name='calcPartialVelocity' mangled-name='_ZN7Mapdesc19calcPartialVelocityEPfiiif' filepath='libnurbs/internals/mapdesc.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- typedef REAL --> + <return type-id='type-id-1'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- long int Mapdesc::getType() --> + <function-decl name='getType' mangled-name='_ZN7Mapdesc7getTypeEv' filepath='libnurbs/internals/mapdesc.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- long int --> + <return type-id='type-id-38'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isRational() --> + <function-decl name='isRational' mangled-name='_ZN7Mapdesc10isRationalEv' filepath='libnurbs/internals/mapdesc.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::setCmat(float*, long int, long int) --> + <function-decl name='setCmat' mangled-name='_ZN7Mapdesc7setCmatEPfll' filepath='libnurbs/internals/mapdesc.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::setSmat(float*, long int, long int) --> + <function-decl name='setSmat' mangled-name='_ZN7Mapdesc7setSmatEPfll' filepath='libnurbs/internals/mapdesc.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Mapdesc::setBmat(float*, long int, long int) --> + <function-decl name='setBmat' mangled-name='_ZN7Mapdesc7setBmatEPfll' filepath='libnurbs/internals/mapdesc.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::getNcoords() --> + <function-decl name='getNcoords' mangled-name='_ZN7Mapdesc10getNcoordsEv' filepath='libnurbs/internals/mapdesc.h' line='102' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- int Mapdesc::isBboxSubdividing() --> + <function-decl name='isBboxSubdividing' mangled-name='_ZN7Mapdesc17isBboxSubdividingEv' filepath='libnurbs/internals/mapdesc.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> </function-decl> </member-function> </class-decl> <!-- struct Quiltspec --> - <class-decl name='Quiltspec' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='51' column='1' id='type-id-189'> + <class-decl name='Quiltspec' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='51' column='1' id='type-id-209'> <data-member access='public' layout-offset-in-bits='0'> <!-- int Quiltspec::stride --> - <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='52' column='1'/> + <var-decl name='stride' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/quilt.h' line='52' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='32'> <!-- int Quiltspec::width --> - <var-decl name='width' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='53' column='1'/> + <var-decl name='width' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/quilt.h' line='53' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- int Quiltspec::offset --> - <var-decl name='offset' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='54' column='1'/> + <var-decl name='offset' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/quilt.h' line='54' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='96'> <!-- int Quiltspec::order --> - <var-decl name='order' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='55' column='1'/> + <var-decl name='order' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/quilt.h' line='55' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- int Quiltspec::index --> - <var-decl name='index' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='56' column='1'/> + <var-decl name='index' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/quilt.h' line='56' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='160'> <!-- int Quiltspec::bdry[2] --> - <var-decl name='bdry' type-id='type-id-211' visibility='default' filepath='libnurbs/internals/quilt.h' line='57' column='1'/> + <var-decl name='bdry' type-id='type-id-216' visibility='default' filepath='libnurbs/internals/quilt.h' line='57' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='224'> <!-- REAL Quiltspec::step_size --> @@ -7629,261 +10078,297 @@ </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- Knot* Quiltspec::breakpoints --> - <var-decl name='breakpoints' type-id='type-id-212' visibility='default' filepath='libnurbs/internals/quilt.h' line='59' column='1'/> + <var-decl name='breakpoints' type-id='type-id-220' visibility='default' filepath='libnurbs/internals/quilt.h' line='59' column='1'/> </data-member> </class-decl> - <!-- typedef REAL Knot --> - <typedef-decl name='Knot' type-id='type-id-1' filepath='libnurbs/internals/types.h' line='45' column='1' id='type-id-218'/> <!-- typedef Quiltspec* Quiltspec_ptr --> - <typedef-decl name='Quiltspec_ptr' type-id='type-id-207' filepath='libnurbs/internals/quilt.h' line='62' column='1' id='type-id-186'/> + <typedef-decl name='Quiltspec_ptr' type-id='type-id-225' filepath='libnurbs/internals/quilt.h' line='62' column='1' id='type-id-165'/> + <!-- typedef REAL Knot --> + <typedef-decl name='Knot' type-id='type-id-1' filepath='libnurbs/internals/types.h' line='45' column='1' id='type-id-226'/> <!-- Curve& --> - <reference-type-def kind='lvalue' type-id='type-id-265' size-in-bits='64' id='type-id-269'/> + <reference-type-def kind='lvalue' type-id='type-id-217' size-in-bits='64' id='type-id-218'/> <!-- Curve* --> - <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-247'/> - <!-- Curve* const --> - <qualified-type-def type-id='type-id-247' const='yes' id='type-id-294'/> + <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-145'/> <!-- Flist& --> - <reference-type-def kind='lvalue' type-id='type-id-126' size-in-bits='64' id='type-id-295'/> + <reference-type-def kind='lvalue' type-id='type-id-150' size-in-bits='64' id='type-id-166'/> <!-- Knot* --> - <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-212'/> + <pointer-type-def type-id='type-id-226' size-in-bits='64' id='type-id-220'/> <!-- Knotvector& --> - <reference-type-def kind='lvalue' type-id='type-id-292' size-in-bits='64' id='type-id-296'/> + <reference-type-def kind='lvalue' type-id='type-id-219' size-in-bits='64' id='type-id-168'/> <!-- Mapdesc* --> - <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-107'/> - <!-- Mapdesc* const --> - <qualified-type-def type-id='type-id-107' const='yes' id='type-id-297'/> + <pointer-type-def type-id='type-id-222' size-in-bits='64' id='type-id-163'/> <!-- Quiltspec* --> - <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-207'/> + <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-225'/> <!-- REAL[5]* --> - <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-298'/> + <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-223'/> <!-- float[4]* --> - <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-299'/> - <!-- Knotvector* --> - <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-293'/> + <pointer-type-def type-id='type-id-215' size-in-bits='64' id='type-id-227'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/curvelist.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- float[3] --> - <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='96' id='type-id-248'> + <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='96' id='type-id-146'> <!-- <anonymous range>[3] --> - <subrange length='3' type-id='type-id-3' id='type-id-68'/> + <subrange length='3' type-id='type-id-3' id='type-id-90'/> </array-type-def> <!-- Curvelist* --> - <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-249'/> - <!-- Curvelist* const --> - <qualified-type-def type-id='type-id-249' const='yes' id='type-id-300'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/curvesub.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Curvelist& --> - <qualified-type-def type-id='type-id-250' id='type-id-301'/> + <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-147'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/displaylist.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> + <!-- struct PFVS --> + <class-decl name='PFVS' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-228' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-229'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- void (NurbsTessellator*, void*)* PFVS::__pfn --> + <var-decl name='__pfn' type-id='type-id-230' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- long int PFVS::__delta --> + <var-decl name='__delta' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/> + </data-member> + </class-decl> + <!-- typedef PFVS PFVS --> + <typedef-decl name='PFVS' type-id='type-id-229' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-228'/> <!-- struct Dlnode --> - <class-decl name='Dlnode' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/displaylist.h' line='48' column='1' id='type-id-169'> + <class-decl name='Dlnode' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/displaylist.h' line='48' column='1' id='type-id-231'> <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> <data-member access='public' layout-offset-in-bits='0'> <!-- PFVS Dlnode::work --> - <var-decl name='work' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='50' column='1'/> + <var-decl name='work' type-id='type-id-228' visibility='default' filepath='libnurbs/internals/displaylist.h' line='50' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- void* Dlnode::arg --> - <var-decl name='arg' type-id='type-id-25' visibility='default' filepath='libnurbs/internals/displaylist.h' line='51' column='1'/> + <var-decl name='arg' type-id='type-id-35' visibility='default' filepath='libnurbs/internals/displaylist.h' line='51' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- PFVS Dlnode::cleanup --> - <var-decl name='cleanup' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='52' column='1'/> + <var-decl name='cleanup' type-id='type-id-228' visibility='default' filepath='libnurbs/internals/displaylist.h' line='52' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- Dlnode* Dlnode::next --> - <var-decl name='next' type-id='type-id-152' visibility='default' filepath='libnurbs/internals/displaylist.h' line='53' column='1'/> + <var-decl name='next' type-id='type-id-232' visibility='default' filepath='libnurbs/internals/displaylist.h' line='53' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- Dlnode::Dlnode(PFVS, void*, PFVS) --> <function-decl name='Dlnode' filepath='libnurbs/internals/displaylist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Dlnode*' --> - <parameter type-id='type-id-152' is-artificial='yes'/> + <parameter type-id='type-id-232' is-artificial='yes'/> <!-- parameter of type 'typedef PFVS' --> - <parameter type-id='type-id-196'/> + <parameter type-id='type-id-228'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- parameter of type 'typedef PFVS' --> - <parameter type-id='type-id-196'/> + <parameter type-id='type-id-228'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> - <!-- typedef __anonymous_struct__ PFVS --> - <typedef-decl name='PFVS' type-id='type-id-217' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-196'/> - <!-- struct {void (NurbsTessellator*, void*)* __pfn; long int __delta;} --> - <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-217'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- void (NurbsTessellator*, void*)* __pfn --> - <var-decl name='__pfn' type-id='type-id-221' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int __delta --> - <var-decl name='__delta' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/> - </data-member> - </class-decl> <!-- class DisplayList --> - <class-decl name='DisplayList' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/displaylist.h' line='65' column='1' id='type-id-94'> + <class-decl name='DisplayList' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/displaylist.h' line='65' column='1' id='type-id-233'> <data-member access='private' layout-offset-in-bits='0'> <!-- Dlnode* DisplayList::nodes --> - <var-decl name='nodes' type-id='type-id-152' visibility='default' filepath='libnurbs/internals/displaylist.h' line='73' column='1'/> + <var-decl name='nodes' type-id='type-id-232' visibility='default' filepath='libnurbs/internals/displaylist.h' line='73' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- Pool DisplayList::dlnodePool --> - <var-decl name='dlnodePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/displaylist.h' line='74' column='1'/> + <var-decl name='dlnodePool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/displaylist.h' line='74' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2560'> <!-- Dlnode** DisplayList::lastNode --> - <var-decl name='lastNode' type-id='type-id-153' visibility='default' filepath='libnurbs/internals/displaylist.h' line='75' column='1'/> + <var-decl name='lastNode' type-id='type-id-234' visibility='default' filepath='libnurbs/internals/displaylist.h' line='75' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2624'> <!-- NurbsTessellator* DisplayList::nt --> - <var-decl name='nt' type-id='type-id-87' visibility='default' filepath='libnurbs/internals/displaylist.h' line='76' column='1'/> + <var-decl name='nt' type-id='type-id-78' visibility='default' filepath='libnurbs/internals/displaylist.h' line='76' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- DisplayList::DisplayList(NurbsTessellator*) --> <function-decl name='DisplayList' filepath='libnurbs/internals/displaylist.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'DisplayList*' --> - <parameter type-id='type-id-86' is-artificial='yes'/> + <parameter type-id='type-id-77' is-artificial='yes'/> <!-- parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87'/> + <parameter type-id='type-id-78'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- DisplayList::~DisplayList(int) --> <function-decl name='~DisplayList' filepath='libnurbs/internals/displaylist.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'DisplayList*' --> - <parameter type-id='type-id-86' is-artificial='yes'/> + <parameter type-id='type-id-77' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void DisplayList::play() --> + <function-decl name='play' mangled-name='_ZN11DisplayList4playEv' filepath='libnurbs/internals/displaylist.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'DisplayList*' --> + <parameter type-id='type-id-77' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void DisplayList::endList() --> + <function-decl name='endList' mangled-name='_ZN11DisplayList7endListEv' filepath='libnurbs/internals/displaylist.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'DisplayList*' --> + <parameter type-id='type-id-77' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void DisplayList::append(PFVS, void*, PFVS) --> + <function-decl name='append' mangled-name='_ZN11DisplayList6appendEM16NurbsTessellatorFvPvES1_S3_' filepath='libnurbs/internals/displaylist.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'DisplayList*' --> + <parameter type-id='type-id-77' is-artificial='yes'/> + <!-- parameter of type 'typedef PFVS' --> + <parameter type-id='type-id-228'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35'/> + <!-- parameter of type 'typedef PFVS' --> + <parameter type-id='type-id-228'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- DisplayList* --> - <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-86'/> - <!-- DisplayList* const --> - <qualified-type-def type-id='type-id-86' const='yes' id='type-id-302'/> + <pointer-type-def type-id='type-id-233' size-in-bits='64' id='type-id-77'/> <!-- Dlnode* --> - <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-152'/> + <pointer-type-def type-id='type-id-231' size-in-bits='64' id='type-id-232'/> <!-- Dlnode** --> - <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/> + <pointer-type-def type-id='type-id-232' size-in-bits='64' id='type-id-234'/> <!-- NurbsTessellator* --> - <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-87'/> + <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-78'/> <!-- void (NurbsTessellator*, void*)* --> - <pointer-type-def type-id='type-id-226' size-in-bits='64' id='type-id-221'/> + <pointer-type-def type-id='type-id-235' size-in-bits='64' id='type-id-230'/> <!-- void (NurbsTessellator*, void*) --> - <function-type size-in-bits='64' id='type-id-226'> + <function-type size-in-bits='64' id='type-id-235'> <!-- implicit parameter of type 'NurbsTessellator*' --> - <parameter type-id='type-id-87' is-artificial='yes'/> + <parameter type-id='type-id-78' is-artificial='yes'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/flist.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Flist* const --> - <qualified-type-def type-id='type-id-155' const='yes' id='type-id-303'/> <!-- FlistSorter* --> - <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-177'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/flistsorter.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- FlistSorter* const --> - <qualified-type-def type-id='type-id-177' const='yes' id='type-id-304'/> + <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-154'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/hull.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- class Hull --> - <class-decl name='Hull' size-in-bits='4800' visibility='default' filepath='libnurbs/internals/hull.h' line='47' column='1' id='type-id-180'> + <class-decl name='Hull' size-in-bits='4800' visibility='default' filepath='libnurbs/internals/hull.h' line='47' column='1' id='type-id-236'> <!-- class TrimRegion --> - <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/> + <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-197'/> <member-type access='private'> <!-- struct Hull::Side --> - <class-decl name='Side' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/hull.h' line='55' column='1' id='type-id-197'> + <class-decl name='Side' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/hull.h' line='55' column='1' id='type-id-237'> <data-member access='public' layout-offset-in-bits='0'> <!-- Trimline* Hull::Side::left --> - <var-decl name='left' type-id='type-id-198' visibility='default' filepath='libnurbs/internals/hull.h' line='56' column='1'/> + <var-decl name='left' type-id='type-id-205' visibility='default' filepath='libnurbs/internals/hull.h' line='56' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- Gridline* Hull::Side::line --> - <var-decl name='line' type-id='type-id-199' visibility='default' filepath='libnurbs/internals/hull.h' line='57' column='1'/> + <var-decl name='line' type-id='type-id-238' visibility='default' filepath='libnurbs/internals/hull.h' line='57' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- Trimline* Hull::Side::right --> - <var-decl name='right' type-id='type-id-198' visibility='default' filepath='libnurbs/internals/hull.h' line='58' column='1'/> + <var-decl name='right' type-id='type-id-205' visibility='default' filepath='libnurbs/internals/hull.h' line='58' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- long int Hull::Side::index --> - <var-decl name='index' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/hull.h' line='59' column='1'/> + <var-decl name='index' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/hull.h' line='59' column='1'/> </data-member> </class-decl> </member-type> <data-member access='private' layout-offset-in-bits='64'> <!-- Hull::Side Hull::lower --> - <var-decl name='lower' type-id='type-id-197' visibility='default' filepath='libnurbs/internals/hull.h' line='62' column='1'/> + <var-decl name='lower' type-id='type-id-237' visibility='default' filepath='libnurbs/internals/hull.h' line='62' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='320'> <!-- Hull::Side Hull::upper --> - <var-decl name='upper' type-id='type-id-197' visibility='default' filepath='libnurbs/internals/hull.h' line='63' column='1'/> + <var-decl name='upper' type-id='type-id-237' visibility='default' filepath='libnurbs/internals/hull.h' line='63' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='576'> <!-- Trimline Hull::fakeleft --> - <var-decl name='fakeleft' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/hull.h' line='64' column='1'/> + <var-decl name='fakeleft' type-id='type-id-204' visibility='default' filepath='libnurbs/internals/hull.h' line='64' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='1408'> <!-- Trimline Hull::fakeright --> - <var-decl name='fakeright' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/hull.h' line='65' column='1'/> + <var-decl name='fakeright' type-id='type-id-204' visibility='default' filepath='libnurbs/internals/hull.h' line='65' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Hull::Hull(int, void**) --> <function-decl name='Hull' filepath='libnurbs/internals/hull.cc' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Hull*' --> - <parameter type-id='type-id-201' is-artificial='yes'/> + <parameter type-id='type-id-239' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> + <parameter type-id='type-id-191' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- Hull::~Hull(int, void**) --> <function-decl name='~Hull' filepath='libnurbs/internals/hull.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Hull*' --> - <parameter type-id='type-id-201' is-artificial='yes'/> + <parameter type-id='type-id-239' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> + <parameter type-id='type-id-191' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- GridTrimVertex* Hull::nextupper(GridTrimVertex*) --> + <function-decl name='nextupper' mangled-name='_ZN4Hull9nextupperEP14GridTrimVertex' filepath='libnurbs/internals/hull.cc' line='116' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Hull*' --> + <parameter type-id='type-id-239' is-artificial='yes'/> + <!-- parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141'/> + <!-- GridTrimVertex* --> + <return type-id='type-id-141'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- GridTrimVertex* Hull::nextlower(GridTrimVertex*) --> + <function-decl name='nextlower' mangled-name='_ZN4Hull9nextlowerEP14GridTrimVertex' filepath='libnurbs/internals/hull.cc' line='142' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Hull*' --> + <parameter type-id='type-id-239' is-artificial='yes'/> + <!-- parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141'/> + <!-- GridTrimVertex* --> + <return type-id='type-id-141'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Hull::init() --> + <function-decl name='init' mangled-name='_ZN4Hull4initEv' filepath='libnurbs/internals/hull.cc' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Hull*' --> + <parameter type-id='type-id-239' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- Gridline* --> - <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-199'/> + <pointer-type-def type-id='type-id-201' size-in-bits='64' id='type-id-238'/> <!-- Hull* --> - <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-201'/> - <!-- Hull* const --> - <qualified-type-def type-id='type-id-201' const='yes' id='type-id-305'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/intersect.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Bin& --> - <qualified-type-def type-id='type-id-262' id='type-id-306'/> + <pointer-type-def type-id='type-id-236' size-in-bits='64' id='type-id-239'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/knotvector.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- Knotvector* --> - <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-293'/> - <!-- Knotvector* const --> - <qualified-type-def type-id='type-id-293' const='yes' id='type-id-307'/> + <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-83'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/mapdesc.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> </abi-instr> @@ -7891,580 +10376,1005 @@ </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/maplist.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- class Maplist --> - <class-decl name='Maplist' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/maplist.h' line='46' column='1' id='type-id-72'> + <class-decl name='Maplist' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/maplist.h' line='46' column='1' id='type-id-63'> <data-member access='private' layout-offset-in-bits='0'> <!-- Pool Maplist::mapdescPool --> - <var-decl name='mapdescPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/maplist.h' line='58' column='1'/> + <var-decl name='mapdescPool' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/maplist.h' line='58' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2496'> <!-- Mapdesc* Maplist::maps --> - <var-decl name='maps' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/maplist.h' line='59' column='1'/> + <var-decl name='maps' type-id='type-id-163' visibility='default' filepath='libnurbs/internals/maplist.h' line='59' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2560'> <!-- Mapdesc** Maplist::lastmap --> - <var-decl name='lastmap' type-id='type-id-108' visibility='default' filepath='libnurbs/internals/maplist.h' line='60' column='1'/> + <var-decl name='lastmap' type-id='type-id-240' visibility='default' filepath='libnurbs/internals/maplist.h' line='60' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2624'> <!-- Backend& Maplist::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/maplist.h' line='61' column='1'/> + <var-decl name='backend' type-id='type-id-167' visibility='default' filepath='libnurbs/internals/maplist.h' line='61' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Maplist::Maplist(Backend&) --> <function-decl name='Maplist' filepath='libnurbs/internals/maplist.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Maplist*' --> - <parameter type-id='type-id-110' is-artificial='yes'/> + <parameter type-id='type-id-241' is-artificial='yes'/> <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> + <parameter type-id='type-id-167'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Mapdesc* Maplist::locate(long int) --> + <function-decl name='locate' mangled-name='_ZN7Maplist6locateEl' filepath='libnurbs/internals/maplist.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Maplist*' --> + <parameter type-id='type-id-241' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- Mapdesc* --> + <return type-id='type-id-163'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Maplist::define(long int, int, int) --> + <function-decl name='define' mangled-name='_ZN7Maplist6defineElii' filepath='libnurbs/internals/maplist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Maplist*' --> + <parameter type-id='type-id-241' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Mapdesc* Maplist::find(long int) --> + <function-decl name='find' mangled-name='_ZN7Maplist4findEl' filepath='libnurbs/internals/maplist.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Maplist*' --> + <parameter type-id='type-id-241' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- Mapdesc* --> + <return type-id='type-id-163'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Maplist::freeMaps() --> + <function-decl name='freeMaps' mangled-name='_ZN7Maplist8freeMapsEv' filepath='libnurbs/internals/maplist.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Maplist*' --> + <parameter type-id='type-id-241' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Maplist::remove(Mapdesc*) --> + <function-decl name='remove' mangled-name='_ZN7Maplist6removeEP7Mapdesc' filepath='libnurbs/internals/maplist.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Maplist*' --> + <parameter type-id='type-id-241' is-artificial='yes'/> + <!-- parameter of type 'Mapdesc*' --> + <parameter type-id='type-id-163'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Maplist::add(long int, int, int) --> + <function-decl name='add' mangled-name='_ZN7Maplist3addElii' filepath='libnurbs/internals/maplist.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Maplist*' --> + <parameter type-id='type-id-241' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Maplist::initialize() --> + <function-decl name='initialize' mangled-name='_ZN7Maplist10initializeEv' filepath='libnurbs/internals/maplist.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Maplist*' --> + <parameter type-id='type-id-241' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- Mapdesc** --> - <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-240'/> <!-- Maplist* --> - <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-110'/> - <!-- Maplist* const --> - <qualified-type-def type-id='type-id-110' const='yes' id='type-id-308'/> - <!-- PooledObj* const --> - <qualified-type-def type-id='type-id-241' const='yes' id='type-id-309'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-241'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/mesher.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- GridTrimVertex*[2] --> - <array-type-def dimensions='1' type-id='type-id-188' size-in-bits='128' id='type-id-183'> + <array-type-def dimensions='1' type-id='type-id-141' size-in-bits='128' id='type-id-242'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> <!-- class Mesher --> - <class-decl name='Mesher' size-in-bits='7680' visibility='default' filepath='libnurbs/internals/mesher.h' line='47' column='1' id='type-id-161'> + <class-decl name='Mesher' size-in-bits='7680' visibility='default' filepath='libnurbs/internals/mesher.h' line='47' column='1' id='type-id-189'> <!-- class TrimRegion --> - <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/> + <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-197'/> <!-- class Hull --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-180'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-236'/> <data-member access='private' static='yes'> <!-- static const float Mesher::ZERO --> - <var-decl name='ZERO' type-id='type-id-181' mangled-name='_ZN6Mesher4ZEROE' visibility='default' filepath='libnurbs/internals/mesher.cc' line='53' column='1'/> + <var-decl name='ZERO' type-id='type-id-243' mangled-name='_ZN6Mesher4ZEROE' visibility='default' filepath='libnurbs/internals/mesher.cc' line='53' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2240'> <!-- Backend& Mesher::backend --> - <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/mesher.h' line='56' column='1'/> + <var-decl name='backend' type-id='type-id-167' visibility='default' filepath='libnurbs/internals/mesher.h' line='56' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='2304'> <!-- Pool Mesher::p --> - <var-decl name='p' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/mesher.h' line='58' column='1'/> + <var-decl name='p' type-id='type-id-67' visibility='default' filepath='libnurbs/internals/mesher.h' line='58' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='4800'> <!-- unsigned int Mesher::stacksize --> - <var-decl name='stacksize' type-id='type-id-92' visibility='default' filepath='libnurbs/internals/mesher.h' line='59' column='1'/> + <var-decl name='stacksize' type-id='type-id-224' visibility='default' filepath='libnurbs/internals/mesher.h' line='59' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='4864'> <!-- GridTrimVertex** Mesher::vdata --> - <var-decl name='vdata' type-id='type-id-182' visibility='default' filepath='libnurbs/internals/mesher.h' line='60' column='1'/> + <var-decl name='vdata' type-id='type-id-244' visibility='default' filepath='libnurbs/internals/mesher.h' line='60' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='4928'> <!-- GridTrimVertex* Mesher::last[2] --> - <var-decl name='last' type-id='type-id-183' visibility='default' filepath='libnurbs/internals/mesher.h' line='61' column='1'/> + <var-decl name='last' type-id='type-id-242' visibility='default' filepath='libnurbs/internals/mesher.h' line='61' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='5056'> <!-- int Mesher::itop --> - <var-decl name='itop' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mesher.h' line='62' column='1'/> + <var-decl name='itop' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/mesher.h' line='62' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='5088'> <!-- int Mesher::lastedge --> - <var-decl name='lastedge' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mesher.h' line='63' column='1'/> + <var-decl name='lastedge' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/mesher.h' line='63' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Mesher::Mesher(int, void**, Backend&) --> <function-decl name='Mesher' filepath='libnurbs/internals/mesher.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Mesher*' --> - <parameter type-id='type-id-184' is-artificial='yes'/> + <parameter type-id='type-id-245' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> + <parameter type-id='type-id-191' is-artificial='yes'/> <!-- parameter of type 'Backend&' --> - <parameter type-id='type-id-111'/> + <parameter type-id='type-id-167'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- Mesher::~Mesher(int, void**) --> <function-decl name='~Mesher' filepath='libnurbs/internals/mesher.cc' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Mesher*' --> - <parameter type-id='type-id-184' is-artificial='yes'/> + <parameter type-id='type-id-245' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- artificial parameter of type 'void**' --> - <parameter type-id='type-id-163' is-artificial='yes'/> + <parameter type-id='type-id-191' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Mesher::equal(int, int) --> + <function-decl name='equal' mangled-name='_ZN6Mesher5equalEii' filepath='libnurbs/internals/mesher.cc' line='240' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::swapMesh() --> + <function-decl name='swapMesh' mangled-name='_ZN6Mesher8swapMeshEv' filepath='libnurbs/internals/mesher.cc' line='108' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::copy(int, int) --> + <function-decl name='copy' mangled-name='_ZN6Mesher4copyEii' filepath='libnurbs/internals/mesher.cc' line='246' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::closeMesh() --> + <function-decl name='closeMesh' mangled-name='_ZN6Mesher9closeMeshEv' filepath='libnurbs/internals/mesher.cc' line='102' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::openMesh() --> + <function-decl name='openMesh' mangled-name='_ZN6Mesher8openMeshEv' filepath='libnurbs/internals/mesher.cc' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::move(int, int) --> + <function-decl name='move' mangled-name='_ZN6Mesher4moveEii' filepath='libnurbs/internals/mesher.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Mesher::isCw(int) --> + <function-decl name='isCw' mangled-name='_ZN6Mesher4isCwEi' filepath='libnurbs/internals/mesher.cc' line='233' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Mesher::isCcw(int) --> + <function-decl name='isCcw' mangled-name='_ZN6Mesher5isCcwEi' filepath='libnurbs/internals/mesher.cc' line='226' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::push(GridTrimVertex*) --> + <function-decl name='push' mangled-name='_ZN6Mesher4pushEP14GridTrimVertex' filepath='libnurbs/internals/mesher.cc' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::clearStack() --> + <function-decl name='clearStack' mangled-name='_ZN6Mesher10clearStackEv' filepath='libnurbs/internals/mesher.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::init(unsigned int) --> + <function-decl name='init' mangled-name='_ZN6Mesher4initEj' filepath='libnurbs/internals/mesher.cc' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'unsigned int' --> + <parameter type-id='type-id-224'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::output(int) --> + <function-decl name='output' mangled-name='_ZN6Mesher6outputEi' filepath='libnurbs/internals/mesher.cc' line='258' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::addLast() --> + <function-decl name='addLast' mangled-name='_ZN6Mesher7addLastEv' filepath='libnurbs/internals/mesher.cc' line='277' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::addLower() --> + <function-decl name='addLower' mangled-name='_ZN6Mesher8addLowerEv' filepath='libnurbs/internals/mesher.cc' line='415' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::finishLower(GridTrimVertex*) --> + <function-decl name='finishLower' mangled-name='_ZN6Mesher11finishLowerEP14GridTrimVertex' filepath='libnurbs/internals/mesher.cc' line='121' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::addUpper() --> + <function-decl name='addUpper' mangled-name='_ZN6Mesher8addUpperEv' filepath='libnurbs/internals/mesher.cc' line='341' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::finishUpper(GridTrimVertex*) --> + <function-decl name='finishUpper' mangled-name='_ZN6Mesher11finishUpperEP14GridTrimVertex' filepath='libnurbs/internals/mesher.cc' line='131' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- parameter of type 'GridTrimVertex*' --> + <parameter type-id='type-id-141'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Mesher::mesh() --> + <function-decl name='mesh' mangled-name='_ZN6Mesher4meshEv' filepath='libnurbs/internals/mesher.cc' line='141' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Mesher*' --> + <parameter type-id='type-id-245' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- GridTrimVertex** --> - <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-182'/> + <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-244'/> <!-- Mesher* --> - <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-184'/> - <!-- Mesher* const --> - <qualified-type-def type-id='type-id-184' const='yes' id='type-id-310'/> + <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-245'/> <!-- const float --> - <qualified-type-def type-id='type-id-28' const='yes' id='type-id-181'/> + <qualified-type-def type-id='type-id-15' const='yes' id='type-id-243'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/monoTriangulationBackend.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- Real[2] --> - <array-type-def dimensions='1' type-id='type-id-311' size-in-bits='64' id='type-id-312'> + <array-type-def dimensions='1' type-id='type-id-246' size-in-bits='64' id='type-id-247'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> <!-- typedef float Real --> - <typedef-decl name='Real' type-id='type-id-28' filepath='libnurbs/nurbtess/definitions.h' line='36' column='1' id='type-id-311'/> + <typedef-decl name='Real' type-id='type-id-15' filepath='libnurbs/nurbtess/definitions.h' line='36' column='1' id='type-id-246'/> <!-- typedef int Int --> - <typedef-decl name='Int' type-id='type-id-11' filepath='libnurbs/nurbtess/definitions.h' line='37' column='1' id='type-id-313'/> - <!-- class vertexArray --> - <class-decl name='vertexArray' size-in-bits='128' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='77' column='1' id='type-id-314'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Real** vertexArray::array --> - <var-decl name='array' type-id='type-id-315' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='78' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Int vertexArray::index --> - <var-decl name='index' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='79' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='96'> - <!-- Int vertexArray::size --> - <var-decl name='size' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='80' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- vertexArray::vertexArray(Int) --> - <function-decl name='vertexArray' filepath='libnurbs/nurbtess/monoTriangulation.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'vertexArray*' --> - <parameter type-id='type-id-316' is-artificial='yes'/> - <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' constructor='yes'> - <!-- vertexArray::vertexArray(Real[2]*, Int) --> - <function-decl name='vertexArray' filepath='libnurbs/nurbtess/monoTriangulation.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'vertexArray*' --> - <parameter type-id='type-id-316' is-artificial='yes'/> - <!-- parameter of type 'Real[2]*' --> - <parameter type-id='type-id-317'/> - <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- vertexArray::~vertexArray(int) --> - <function-decl name='~vertexArray' filepath='libnurbs/nurbtess/monoTriangulation.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'vertexArray*' --> - <parameter type-id='type-id-316' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> + <typedef-decl name='Int' type-id='type-id-8' filepath='libnurbs/nurbtess/definitions.h' line='37' column='1' id='type-id-248'/> + <!-- typedef Real[2] Real2 --> + <typedef-decl name='Real2' type-id='type-id-247' filepath='libnurbs/nurbtess/definitions.h' line='38' column='1' id='type-id-249'/> <!-- class reflexChain --> - <class-decl name='reflexChain' size-in-bits='192' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='43' column='1' id='type-id-318'> + <class-decl name='reflexChain' size-in-bits='192' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='43' column='1' id='type-id-250'> <data-member access='private' layout-offset-in-bits='0'> <!-- Real2* reflexChain::queue --> - <var-decl name='queue' type-id='type-id-319' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='44' column='1'/> + <var-decl name='queue' type-id='type-id-251' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='44' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- Int reflexChain::isIncreasing --> - <var-decl name='isIncreasing' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='50' column='1'/> + <var-decl name='isIncreasing' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='96'> <!-- Int reflexChain::index_queue --> - <var-decl name='index_queue' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='51' column='1'/> + <var-decl name='index_queue' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='51' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- Int reflexChain::size_queue --> - <var-decl name='size_queue' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='52' column='1'/> + <var-decl name='size_queue' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='52' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- reflexChain::reflexChain(Int, Int) --> <function-decl name='reflexChain' filepath='libnurbs/nurbtess/monoTriangulation.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'reflexChain*' --> - <parameter type-id='type-id-320' is-artificial='yes'/> + <parameter type-id='type-id-252' is-artificial='yes'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- reflexChain::~reflexChain(int) --> <function-decl name='~reflexChain' filepath='libnurbs/nurbtess/monoTriangulation.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'reflexChain*' --> - <parameter type-id='type-id-320' is-artificial='yes'/> + <parameter type-id='type-id-252' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void reflexChain::processNewVertex(Real*, Backend*) --> + <function-decl name='processNewVertex' mangled-name='_ZN11reflexChain16processNewVertexEPfP7Backend' filepath='libnurbs/nurbtess/monoTriangulation.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'reflexChain*' --> + <parameter type-id='type-id-252' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'Backend*' --> + <parameter type-id='type-id-139'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void reflexChain::outputFan(Real*, Backend*) --> + <function-decl name='outputFan' mangled-name='_ZN11reflexChain9outputFanEPfP7Backend' filepath='libnurbs/nurbtess/monoTriangulation.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'reflexChain*' --> + <parameter type-id='type-id-252' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'Backend*' --> + <parameter type-id='type-id-139'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void reflexChain::print() --> + <function-decl name='print' mangled-name='_ZN11reflexChain5printEv' filepath='libnurbs/nurbtess/monoTriangulation.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'reflexChain*' --> + <parameter type-id='type-id-252' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void reflexChain::insert(Real, Real) --> + <function-decl name='insert' mangled-name='_ZN11reflexChain6insertEff' filepath='libnurbs/nurbtess/monoTriangulation.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'reflexChain*' --> + <parameter type-id='type-id-252' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void reflexChain::insert(Real*) --> + <function-decl name='insert' mangled-name='_ZN11reflexChain6insertEPf' filepath='libnurbs/nurbtess/monoTriangulation.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'reflexChain*' --> + <parameter type-id='type-id-252' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void reflexChain::outputFan(Real*, primStream*) --> + <function-decl name='outputFan' mangled-name='_ZN11reflexChain9outputFanEPfP10primStream' filepath='libnurbs/nurbtess/monoTriangulation.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'reflexChain*' --> + <parameter type-id='type-id-252' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'primStream*' --> + <parameter type-id='type-id-194'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void reflexChain::processNewVertex(Real*, primStream*) --> + <function-decl name='processNewVertex' mangled-name='_ZN11reflexChain16processNewVertexEPfP10primStream' filepath='libnurbs/nurbtess/monoTriangulation.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'reflexChain*' --> + <parameter type-id='type-id-252' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'primStream*' --> + <parameter type-id='type-id-194'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> - <!-- typedef Real[2] Real2 --> - <typedef-decl name='Real2' type-id='type-id-312' filepath='libnurbs/nurbtess/definitions.h' line='38' column='1' id='type-id-321'/> + <!-- class vertexArray --> + <class-decl name='vertexArray' size-in-bits='128' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='77' column='1' id='type-id-254'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- Real** vertexArray::array --> + <var-decl name='array' type-id='type-id-255' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='78' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='64'> + <!-- Int vertexArray::index --> + <var-decl name='index' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='79' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='96'> + <!-- Int vertexArray::size --> + <var-decl name='size' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/monoTriangulation.h' line='80' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- vertexArray::vertexArray(Int) --> + <function-decl name='vertexArray' filepath='libnurbs/nurbtess/monoTriangulation.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' constructor='yes'> + <!-- vertexArray::vertexArray(Real[2]*, Int) --> + <function-decl name='vertexArray' filepath='libnurbs/nurbtess/monoTriangulation.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'Real[2]*' --> + <parameter type-id='type-id-257'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- vertexArray::~vertexArray(int) --> + <function-decl name='~vertexArray' filepath='libnurbs/nurbtess/monoTriangulation.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int vertexArray::getNumElements() --> + <function-decl name='getNumElements' mangled-name='_ZN11vertexArray14getNumElementsEv' filepath='libnurbs/nurbtess/monoTriangulation.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real** vertexArray::getArray() --> + <function-decl name='getArray' mangled-name='_ZN11vertexArray8getArrayEv' filepath='libnurbs/nurbtess/monoTriangulation.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- Real** --> + <return type-id='type-id-255'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real* vertexArray::getVertex(Int) --> + <function-decl name='getVertex' mangled-name='_ZN11vertexArray9getVertexEi' filepath='libnurbs/nurbtess/monoTriangulation.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- Real* --> + <return type-id='type-id-253'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int vertexArray::findIndexAbove(Real) --> + <function-decl name='findIndexAbove' mangled-name='_ZN11vertexArray14findIndexAboveEf' filepath='libnurbs/nurbtess/monoTriangulation.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int vertexArray::findIndexBelowGen(Real, Int, Int) --> + <function-decl name='findIndexBelowGen' mangled-name='_ZN11vertexArray17findIndexBelowGenEfii' filepath='libnurbs/nurbtess/monoTriangulation.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int vertexArray::findIndexStrictBelowGen(Real, Int, Int) --> + <function-decl name='findIndexStrictBelowGen' mangled-name='_ZN11vertexArray23findIndexStrictBelowGenEfii' filepath='libnurbs/nurbtess/monoTriangulation.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int vertexArray::findIndexFirstAboveEqualGen(Real, Int, Int) --> + <function-decl name='findIndexFirstAboveEqualGen' mangled-name='_ZN11vertexArray27findIndexFirstAboveEqualGenEfii' filepath='libnurbs/nurbtess/monoTriangulation.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int vertexArray::findIndexAboveGen(Real, Int, Int) --> + <function-decl name='findIndexAboveGen' mangled-name='_ZN11vertexArray17findIndexAboveGenEfii' filepath='libnurbs/nurbtess/monoTriangulation.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int vertexArray::findDecreaseChainFromEnd(Int, Int) --> + <function-decl name='findDecreaseChainFromEnd' mangled-name='_ZN11vertexArray24findDecreaseChainFromEndEii' filepath='libnurbs/nurbtess/monoTriangulation.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int vertexArray::skipEqualityFromStart(Real, Int, Int) --> + <function-decl name='skipEqualityFromStart' mangled-name='_ZN11vertexArray21skipEqualityFromStartEfii' filepath='libnurbs/nurbtess/monoTriangulation.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void vertexArray::print() --> + <function-decl name='print' mangled-name='_ZN11vertexArray5printEv' filepath='libnurbs/nurbtess/monoTriangulation.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void vertexArray::appendVertex(Real*) --> + <function-decl name='appendVertex' mangled-name='_ZN11vertexArray12appendVertexEPf' filepath='libnurbs/nurbtess/monoTriangulation.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'vertexArray*' --> + <parameter type-id='type-id-256' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> <!-- class primStream --> - <class-decl name='primStream' size-in-bits='384' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='44' column='1' id='type-id-322'> + <class-decl name='primStream' size-in-bits='384' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='44' column='1' id='type-id-258'> <data-member access='private' layout-offset-in-bits='0'> <!-- Int* primStream::lengths --> - <var-decl name='lengths' type-id='type-id-323' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='45' column='1'/> + <var-decl name='lengths' type-id='type-id-259' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='45' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- Int* primStream::types --> - <var-decl name='types' type-id='type-id-323' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='46' column='1'/> + <var-decl name='types' type-id='type-id-259' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='46' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- Real* primStream::vertices --> - <var-decl name='vertices' type-id='type-id-324' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='47' column='1'/> + <var-decl name='vertices' type-id='type-id-253' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='47' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- Int primStream::index_lengths --> - <var-decl name='index_lengths' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='50' column='1'/> + <var-decl name='index_lengths' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='224'> <!-- Int primStream::size_lengths --> - <var-decl name='size_lengths' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='51' column='1'/> + <var-decl name='size_lengths' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='51' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='256'> <!-- Int primStream::index_vertices --> - <var-decl name='index_vertices' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='52' column='1'/> + <var-decl name='index_vertices' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='52' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='288'> <!-- Int primStream::size_vertices --> - <var-decl name='size_vertices' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='53' column='1'/> + <var-decl name='size_vertices' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='53' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='320'> <!-- Int primStream::counter --> - <var-decl name='counter' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='59' column='1'/> + <var-decl name='counter' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/primitiveStream.h' line='59' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- primStream::primStream(Int, Int) --> <function-decl name='primStream' filepath='libnurbs/nurbtess/primitiveStream.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'primStream*' --> - <parameter type-id='type-id-325' is-artificial='yes'/> + <parameter type-id='type-id-194' is-artificial='yes'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- primStream::~primStream(int) --> <function-decl name='~primStream' filepath='libnurbs/nurbtess/primitiveStream.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'primStream*' --> - <parameter type-id='type-id-325' is-artificial='yes'/> + <parameter type-id='type-id-194' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real* primStream::get_vertices() --> + <function-decl name='get_vertices' mangled-name='_ZN10primStream12get_verticesEv' filepath='libnurbs/nurbtess/primitiveStream.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- Real* --> + <return type-id='type-id-253'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int primStream::get_type(Int) --> + <function-decl name='get_type' mangled-name='_ZN10primStream8get_typeEi' filepath='libnurbs/nurbtess/primitiveStream.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int primStream::get_length(Int) --> + <function-decl name='get_length' mangled-name='_ZN10primStream10get_lengthEi' filepath='libnurbs/nurbtess/primitiveStream.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int primStream::get_n_prims() --> + <function-decl name='get_n_prims' mangled-name='_ZN10primStream11get_n_primsEv' filepath='libnurbs/nurbtess/primitiveStream.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void primStream::insert(Real*) --> + <function-decl name='insert' mangled-name='_ZN10primStream6insertEPf' filepath='libnurbs/nurbtess/primitiveStream.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void primStream::triangle(Real*, Real*, Real*) --> + <function-decl name='triangle' mangled-name='_ZN10primStream8triangleEPfS0_S0_' filepath='libnurbs/nurbtess/primitiveStream.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int primStream::num_triangles() --> + <function-decl name='num_triangles' mangled-name='_ZN10primStream13num_trianglesEv' filepath='libnurbs/nurbtess/primitiveStream.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void primStream::begin() --> + <function-decl name='begin' mangled-name='_ZN10primStream5beginEv' filepath='libnurbs/nurbtess/primitiveStream.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void primStream::draw() --> + <function-decl name='draw' mangled-name='_ZN10primStream4drawEv' filepath='libnurbs/nurbtess/primitiveStream.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void primStream::end(Int) --> + <function-decl name='end' mangled-name='_ZN10primStream3endEi' filepath='libnurbs/nurbtess/primitiveStream.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void primStream::insert(Real, Real) --> + <function-decl name='insert' mangled-name='_ZN10primStream6insertEff' filepath='libnurbs/nurbtess/primitiveStream.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void primStream::print() --> + <function-decl name='print' mangled-name='_ZN10primStream5printEv' filepath='libnurbs/nurbtess/primitiveStream.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'primStream*' --> + <parameter type-id='type-id-194' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- Int* --> - <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-323'/> + <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-259'/> <!-- Real* --> - <pointer-type-def type-id='type-id-311' size-in-bits='64' id='type-id-324'/> + <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-253'/> <!-- Real** --> - <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-315'/> + <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-255'/> <!-- Real2* --> - <pointer-type-def type-id='type-id-321' size-in-bits='64' id='type-id-319'/> + <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-251'/> <!-- Real[2]* --> - <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-317'/> + <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-257'/> <!-- primStream* --> - <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-325'/> + <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-194'/> <!-- reflexChain* --> - <pointer-type-def type-id='type-id-318' size-in-bits='64' id='type-id-320'/> - <!-- reflexChain* const --> - <qualified-type-def type-id='type-id-320' const='yes' id='type-id-326'/> + <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-252'/> <!-- vertexArray* --> - <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-316'/> - <!-- vertexArray* const --> - <qualified-type-def type-id='type-id-316' const='yes' id='type-id-327'/> + <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-256'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/monotonizer.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/nurbsinterfac.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- struct O_pwlcurve --> - <class-decl name='O_pwlcurve' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='83' column='1' id='type-id-139'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- TrimVertex* O_pwlcurve::pts --> - <var-decl name='pts' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/reader.h' line='85' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- int O_pwlcurve::npts --> - <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='86' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- O_pwlcurve* O_pwlcurve::next --> - <var-decl name='next' type-id='type-id-99' visibility='default' filepath='libnurbs/internals/reader.h' line='87' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- int O_pwlcurve::used --> - <var-decl name='used' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='88' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='224'> - <!-- int O_pwlcurve::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='89' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- O_curve* O_pwlcurve::owner --> - <var-decl name='owner' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='90' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_pwlcurve::O_pwlcurve(long int, long int, float*, long int, TrimVertex*) --> - <function-decl name='O_pwlcurve' filepath='libnurbs/internals/reader.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_pwlcurve*' --> - <parameter type-id='type-id-99' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'float*' --> - <parameter type-id='type-id-58'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'TrimVertex*' --> - <parameter type-id='type-id-141'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct Property --> - <class-decl name='Property' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='120' column='1' id='type-id-328'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- long int Property::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='121' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int Property::tag --> - <var-decl name='tag' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='122' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- REAL Property::value --> - <var-decl name='value' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/reader.h' line='123' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- int Property::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='124' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- Property::Property(long int, long int, float) --> - <function-decl name='Property' filepath='libnurbs/internals/reader.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Property*' --> - <parameter type-id='type-id-329' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'float' --> - <parameter type-id='type-id-28'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='public' constructor='yes'> - <!-- Property::Property(long int, float) --> - <function-decl name='Property' filepath='libnurbs/internals/reader.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'Property*' --> - <parameter type-id='type-id-329' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- parameter of type 'float' --> - <parameter type-id='type-id-28'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> + <!-- enum Curvetype --> + <enum-decl name='Curvetype' filepath='libnurbs/internals/reader.h' line='42' column='1' id='type-id-260'> + <underlying-type type-id='type-id-12'/> + <enumerator name='ct_nurbscurve' value='0'/> + <enumerator name='ct_pwlcurve' value='1'/> + <enumerator name='ct_none' value='2'/> + </enum-decl> <!-- struct O_curve --> - <class-decl name='O_curve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='55' column='1' id='type-id-96'> + <class-decl name='O_curve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='55' column='1' id='type-id-261'> <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> <member-type access='public'> <!-- union {O_nurbscurve* o_nurbscurve; O_pwlcurve* o_pwlcurve;} --> - <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='56' column='1' id='type-id-158'> + <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='56' column='1' id='type-id-262'> <data-member access='public'> <!-- O_nurbscurve* o_nurbscurve --> - <var-decl name='o_nurbscurve' type-id='type-id-97' visibility='default' filepath='libnurbs/internals/reader.h' line='57' column='1'/> + <var-decl name='o_nurbscurve' type-id='type-id-86' visibility='default' filepath='libnurbs/internals/reader.h' line='57' column='1'/> </data-member> <data-member access='public'> <!-- O_pwlcurve* o_pwlcurve --> - <var-decl name='o_pwlcurve' type-id='type-id-99' visibility='default' filepath='libnurbs/internals/reader.h' line='58' column='1'/> + <var-decl name='o_pwlcurve' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/reader.h' line='58' column='1'/> </data-member> </union-decl> </member-type> <data-member access='public' layout-offset-in-bits='0'> <!-- union {O_nurbscurve* o_nurbscurve; O_pwlcurve* o_pwlcurve;} O_curve::curve --> - <var-decl name='curve' type-id='type-id-158' visibility='default' filepath='libnurbs/internals/reader.h' line='59' column='1'/> + <var-decl name='curve' type-id='type-id-262' visibility='default' filepath='libnurbs/internals/reader.h' line='59' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- Curvetype O_curve::curvetype --> - <var-decl name='curvetype' type-id='type-id-159' visibility='default' filepath='libnurbs/internals/reader.h' line='60' column='1'/> + <var-decl name='curvetype' type-id='type-id-260' visibility='default' filepath='libnurbs/internals/reader.h' line='60' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- O_curve* O_curve::next --> - <var-decl name='next' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='61' column='1'/> + <var-decl name='next' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/reader.h' line='61' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- O_surface* O_curve::owner --> - <var-decl name='owner' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='62' column='1'/> + <var-decl name='owner' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/reader.h' line='62' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- int O_curve::used --> - <var-decl name='used' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='63' column='1'/> + <var-decl name='used' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='63' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='288'> <!-- int O_curve::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='64' column='1'/> + <var-decl name='save' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='64' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- long int O_curve::nuid --> - <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='65' column='1'/> + <var-decl name='nuid' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/reader.h' line='65' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- O_curve::O_curve() --> <function-decl name='O_curve' filepath='libnurbs/internals/reader.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'O_curve*' --> - <parameter type-id='type-id-85' is-artificial='yes'/> + <parameter type-id='type-id-76' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct O_trim --> - <class-decl name='O_trim' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='94' column='1' id='type-id-101'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- O_curve* O_trim::o_curve --> - <var-decl name='o_curve' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='95' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- O_trim* O_trim::next --> - <var-decl name='next' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='96' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int O_trim::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='97' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_trim::O_trim() --> - <function-decl name='O_trim' filepath='libnurbs/internals/reader.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_trim*' --> - <parameter type-id='type-id-84' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- struct O_surface --> - <class-decl name='O_surface' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='112' column='1' id='type-id-100'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- O_nurbssurface* O_surface::o_nurbssurface --> - <var-decl name='o_nurbssurface' type-id='type-id-98' visibility='default' filepath='libnurbs/internals/reader.h' line='113' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- O_trim* O_surface::o_trim --> - <var-decl name='o_trim' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='114' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int O_surface::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='115' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- long int O_surface::nuid --> - <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='116' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_surface::O_surface() --> - <function-decl name='O_surface' filepath='libnurbs/internals/reader.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_surface*' --> - <parameter type-id='type-id-83' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> - <!-- enum Curvetype --> - <enum-decl name='Curvetype' filepath='libnurbs/internals/reader.h' line='42' column='1' id='type-id-159'> - <underlying-type type-id='type-id-9'/> - <enumerator name='ct_nurbscurve' value='0'/> - <enumerator name='ct_pwlcurve' value='1'/> - <enumerator name='ct_none' value='2'/> - </enum-decl> - <!-- struct O_nurbssurface --> - <class-decl name='O_nurbssurface' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='101' column='1' id='type-id-138'> - <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Quilt* O_nurbssurface::bezier_patches --> - <var-decl name='bezier_patches' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/reader.h' line='102' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- long int O_nurbssurface::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='103' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- O_surface* O_nurbssurface::owner --> - <var-decl name='owner' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='104' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- O_nurbssurface* O_nurbssurface::next --> - <var-decl name='next' type-id='type-id-98' visibility='default' filepath='libnurbs/internals/reader.h' line='105' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int O_nurbssurface::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='106' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='288'> - <!-- int O_nurbssurface::used --> - <var-decl name='used' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='107' column='1'/> - </data-member> - <member-function access='public' constructor='yes'> - <!-- O_nurbssurface::O_nurbssurface(long int) --> - <function-decl name='O_nurbssurface' filepath='libnurbs/internals/reader.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'O_nurbssurface*' --> - <parameter type-id='type-id-98' is-artificial='yes'/> - <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> - <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- struct O_nurbscurve --> - <class-decl name='O_nurbscurve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='70' column='1' id='type-id-137'> + <class-decl name='O_nurbscurve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='70' column='1' id='type-id-263'> <!-- class PooledObj --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> <data-member access='public' layout-offset-in-bits='0'> <!-- Quilt* O_nurbscurve::bezier_curves --> - <var-decl name='bezier_curves' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/reader.h' line='71' column='1'/> + <var-decl name='bezier_curves' type-id='type-id-148' visibility='default' filepath='libnurbs/internals/reader.h' line='71' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- long int O_nurbscurve::type --> - <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='72' column='1'/> + <var-decl name='type' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/reader.h' line='72' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- REAL O_nurbscurve::tesselation --> @@ -8472,92 +11382,283 @@ </data-member> <data-member access='public' layout-offset-in-bits='160'> <!-- int O_nurbscurve::method --> - <var-decl name='method' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='74' column='1'/> + <var-decl name='method' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='74' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- O_nurbscurve* O_nurbscurve::next --> - <var-decl name='next' type-id='type-id-97' visibility='default' filepath='libnurbs/internals/reader.h' line='75' column='1'/> + <var-decl name='next' type-id='type-id-86' visibility='default' filepath='libnurbs/internals/reader.h' line='75' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- int O_nurbscurve::used --> - <var-decl name='used' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='76' column='1'/> + <var-decl name='used' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='76' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='288'> <!-- int O_nurbscurve::save --> - <var-decl name='save' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/reader.h' line='77' column='1'/> + <var-decl name='save' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='77' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- O_curve* O_nurbscurve::owner --> - <var-decl name='owner' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='78' column='1'/> + <var-decl name='owner' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/reader.h' line='78' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- O_nurbscurve::O_nurbscurve(long int) --> <function-decl name='O_nurbscurve' filepath='libnurbs/internals/reader.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'O_nurbscurve*' --> - <parameter type-id='type-id-97' is-artificial='yes'/> + <parameter type-id='type-id-86' is-artificial='yes'/> <!-- parameter of type 'long int' --> - <parameter type-id='type-id-15'/> + <parameter type-id='type-id-38'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> - <!-- NurbsTessellator* const --> - <qualified-type-def type-id='type-id-87' const='yes' id='type-id-330'/> + <!-- struct O_pwlcurve --> + <class-decl name='O_pwlcurve' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='83' column='1' id='type-id-264'> + <!-- class PooledObj --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> + <data-member access='public' layout-offset-in-bits='0'> + <!-- TrimVertex* O_pwlcurve::pts --> + <var-decl name='pts' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/reader.h' line='85' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- int O_pwlcurve::npts --> + <var-decl name='npts' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='86' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- O_pwlcurve* O_pwlcurve::next --> + <var-decl name='next' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/reader.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- int O_pwlcurve::used --> + <var-decl name='used' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <!-- int O_pwlcurve::save --> + <var-decl name='save' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- O_curve* O_pwlcurve::owner --> + <var-decl name='owner' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/reader.h' line='90' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- O_pwlcurve::O_pwlcurve(long int, long int, float*, long int, TrimVertex*) --> + <function-decl name='O_pwlcurve' filepath='libnurbs/internals/reader.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'O_pwlcurve*' --> + <parameter type-id='type-id-82' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'TrimVertex*' --> + <parameter type-id='type-id-127'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct O_trim --> + <class-decl name='O_trim' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='94' column='1' id='type-id-265'> + <!-- class PooledObj --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> + <data-member access='public' layout-offset-in-bits='0'> + <!-- O_curve* O_trim::o_curve --> + <var-decl name='o_curve' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/reader.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- O_trim* O_trim::next --> + <var-decl name='next' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/reader.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- int O_trim::save --> + <var-decl name='save' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='97' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- O_trim::O_trim() --> + <function-decl name='O_trim' filepath='libnurbs/internals/reader.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'O_trim*' --> + <parameter type-id='type-id-75' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct O_nurbssurface --> + <class-decl name='O_nurbssurface' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='101' column='1' id='type-id-266'> + <!-- class PooledObj --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> + <data-member access='public' layout-offset-in-bits='0'> + <!-- Quilt* O_nurbssurface::bezier_patches --> + <var-decl name='bezier_patches' type-id='type-id-148' visibility='default' filepath='libnurbs/internals/reader.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- long int O_nurbssurface::type --> + <var-decl name='type' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/reader.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- O_surface* O_nurbssurface::owner --> + <var-decl name='owner' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/reader.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- O_nurbssurface* O_nurbssurface::next --> + <var-decl name='next' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- int O_nurbssurface::save --> + <var-decl name='save' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <!-- int O_nurbssurface::used --> + <var-decl name='used' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='107' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- O_nurbssurface::O_nurbssurface(long int) --> + <function-decl name='O_nurbssurface' filepath='libnurbs/internals/reader.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'O_nurbssurface*' --> + <parameter type-id='type-id-85' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct O_surface --> + <class-decl name='O_surface' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='112' column='1' id='type-id-267'> + <!-- class PooledObj --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> + <data-member access='public' layout-offset-in-bits='0'> + <!-- O_nurbssurface* O_surface::o_nurbssurface --> + <var-decl name='o_nurbssurface' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- O_trim* O_surface::o_trim --> + <var-decl name='o_trim' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/reader.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- int O_surface::save --> + <var-decl name='save' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- long int O_surface::nuid --> + <var-decl name='nuid' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/reader.h' line='116' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- O_surface::O_surface() --> + <function-decl name='O_surface' filepath='libnurbs/internals/reader.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'O_surface*' --> + <parameter type-id='type-id-74' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- struct Property --> + <class-decl name='Property' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='120' column='1' id='type-id-268'> + <!-- class PooledObj --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-115'/> + <data-member access='public' layout-offset-in-bits='0'> + <!-- long int Property::type --> + <var-decl name='type' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/reader.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- long int Property::tag --> + <var-decl name='tag' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/reader.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- REAL Property::value --> + <var-decl name='value' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/reader.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <!-- int Property::save --> + <var-decl name='save' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/reader.h' line='124' column='1'/> + </data-member> + <member-function access='public' constructor='yes'> + <!-- Property::Property(long int, long int, float) --> + <function-decl name='Property' filepath='libnurbs/internals/reader.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Property*' --> + <parameter type-id='type-id-81' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float' --> + <parameter type-id='type-id-15'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public' constructor='yes'> + <!-- Property::Property(long int, float) --> + <function-decl name='Property' filepath='libnurbs/internals/reader.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Property*' --> + <parameter type-id='type-id-81' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- parameter of type 'float' --> + <parameter type-id='type-id-15'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> <!-- O_curve* --> - <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-85'/> + <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-76'/> <!-- O_curve** --> - <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-79'/> + <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-70'/> <!-- O_nurbscurve* --> - <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-97'/> + <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-86'/> <!-- O_nurbscurve** --> - <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-80'/> + <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-71'/> <!-- O_nurbssurface* --> - <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-98'/> + <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-85'/> <!-- O_nurbssurface** --> - <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-82'/> + <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-73'/> <!-- O_pwlcurve* --> - <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-99'/> + <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-82'/> <!-- O_pwlcurve** --> - <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-81'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-72'/> <!-- O_surface* --> - <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-83'/> + <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-74'/> <!-- O_trim* --> - <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-84'/> + <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-75'/> <!-- O_trim** --> - <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-69'/> <!-- Property* --> - <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/> + <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-81'/> <!-- Renderhints* --> - <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-118'/> + <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-169'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/patch.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- Patchspec[2] --> - <array-type-def dimensions='1' type-id='type-id-274' size-in-bits='640' id='type-id-271'> + <array-type-def dimensions='1' type-id='type-id-269' size-in-bits='640' id='type-id-270'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> <!-- REAL[2880] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='92160' id='type-id-270'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='92160' id='type-id-271'> <!-- <anonymous range>[2880] --> - <subrange length='2880' type-id='type-id-3' id='type-id-276'/> + <subrange length='2880' type-id='type-id-3' id='type-id-272'/> </array-type-def> <!-- REAL[2][5] --> - <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='320' id='type-id-272'> + <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='320' id='type-id-273'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> <!-- <anonymous range>[5] --> - <subrange length='5' type-id='type-id-3' id='type-id-190'/> + <subrange length='5' type-id='type-id-3' id='type-id-213'/> </array-type-def> <!-- struct Pspec --> - <class-decl name='Pspec' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/patch.h' line='46' column='1' id='type-id-267'> + <class-decl name='Pspec' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/patch.h' line='46' column='1' id='type-id-274'> <data-member access='public' layout-offset-in-bits='0'> <!-- REAL Pspec::range[3] --> - <var-decl name='range' type-id='type-id-230' visibility='default' filepath='libnurbs/internals/patch.h' line='47' column='1'/> + <var-decl name='range' type-id='type-id-89' visibility='default' filepath='libnurbs/internals/patch.h' line='47' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='96'> <!-- REAL Pspec::sidestep[2] --> - <var-decl name='sidestep' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/patch.h' line='48' column='1'/> + <var-decl name='sidestep' type-id='type-id-88' visibility='default' filepath='libnurbs/internals/patch.h' line='48' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='160'> <!-- REAL Pspec::stepsize --> @@ -8569,898 +11670,2356 @@ </data-member> <data-member access='public' layout-offset-in-bits='224'> <!-- int Pspec::needsSubdivision --> - <var-decl name='needsSubdivision' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='51' column='1'/> + <var-decl name='needsSubdivision' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/patch.h' line='51' column='1'/> </data-member> </class-decl> + <!-- struct Patchspec --> + <class-decl name='Patchspec' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/patch.h' line='54' column='1' id='type-id-269'> + <!-- struct Pspec --> + <base-class access='public' layout-offset-in-bits='0' type-id='type-id-274'/> + <data-member access='public' layout-offset-in-bits='256'> + <!-- int Patchspec::order --> + <var-decl name='order' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/patch.h' line='55' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <!-- int Patchspec::stride --> + <var-decl name='stride' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/patch.h' line='56' column='1'/> + </data-member> + <member-function access='public'> + <!-- void Patchspec::singleStep() --> + <function-decl name='singleStep' mangled-name='_ZN9Patchspec10singleStepEv' filepath='libnurbs/internals/patch.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchspec*' --> + <parameter type-id='type-id-275' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Patchspec::clamp(REAL) --> + <function-decl name='clamp' mangled-name='_ZN9Patchspec5clampEf' filepath='libnurbs/internals/patch.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchspec*' --> + <parameter type-id='type-id-275' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Patchspec::getstepsize(REAL) --> + <function-decl name='getstepsize' mangled-name='_ZN9Patchspec11getstepsizeEf' filepath='libnurbs/internals/patch.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patchspec*' --> + <parameter type-id='type-id-275' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> <!-- class Patch --> - <class-decl name='Patch' size-in-bits='277696' visibility='default' filepath='libnurbs/internals/patch.h' line='62' column='1' id='type-id-266'> + <class-decl name='Patch' size-in-bits='277696' visibility='default' filepath='libnurbs/internals/patch.h' line='62' column='1' id='type-id-276'> <data-member access='private' layout-offset-in-bits='0'> <!-- Mapdesc* Patch::mapdesc --> - <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/patch.h' line='82' column='1'/> + <var-decl name='mapdesc' type-id='type-id-163' visibility='default' filepath='libnurbs/internals/patch.h' line='82' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- Patch* Patch::next --> - <var-decl name='next' type-id='type-id-256' visibility='default' filepath='libnurbs/internals/patch.h' line='83' column='1'/> + <var-decl name='next' type-id='type-id-158' visibility='default' filepath='libnurbs/internals/patch.h' line='83' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- int Patch::cullval --> - <var-decl name='cullval' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='84' column='1'/> + <var-decl name='cullval' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/patch.h' line='84' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='160'> <!-- int Patch::notInBbox --> - <var-decl name='notInBbox' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='85' column='1'/> + <var-decl name='notInBbox' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/patch.h' line='85' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- int Patch::needsSampling --> - <var-decl name='needsSampling' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='86' column='1'/> + <var-decl name='needsSampling' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/patch.h' line='86' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='224'> <!-- REAL Patch::cpts[2880] --> - <var-decl name='cpts' type-id='type-id-270' visibility='default' filepath='libnurbs/internals/patch.h' line='87' column='1'/> + <var-decl name='cpts' type-id='type-id-271' visibility='default' filepath='libnurbs/internals/patch.h' line='87' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='92384'> <!-- REAL Patch::spts[2880] --> - <var-decl name='spts' type-id='type-id-270' visibility='default' filepath='libnurbs/internals/patch.h' line='88' column='1'/> + <var-decl name='spts' type-id='type-id-271' visibility='default' filepath='libnurbs/internals/patch.h' line='88' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='184544'> <!-- REAL Patch::bpts[2880] --> - <var-decl name='bpts' type-id='type-id-270' visibility='default' filepath='libnurbs/internals/patch.h' line='89' column='1'/> + <var-decl name='bpts' type-id='type-id-271' visibility='default' filepath='libnurbs/internals/patch.h' line='89' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='276704'> <!-- Patchspec Patch::pspec[2] --> - <var-decl name='pspec' type-id='type-id-271' visibility='default' filepath='libnurbs/internals/patch.h' line='90' column='1'/> + <var-decl name='pspec' type-id='type-id-270' visibility='default' filepath='libnurbs/internals/patch.h' line='90' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='277344'> <!-- REAL Patch::bb[2][5] --> - <var-decl name='bb' type-id='type-id-272' visibility='default' filepath='libnurbs/internals/patch.h' line='92' column='1'/> + <var-decl name='bb' type-id='type-id-273' visibility='default' filepath='libnurbs/internals/patch.h' line='92' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Patch::Patch(Quilt*, REAL*, REAL*, Patch*) --> <function-decl name='Patch' filepath='libnurbs/internals/patch.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Patch*' --> - <parameter type-id='type-id-256' is-artificial='yes'/> + <parameter type-id='type-id-158' is-artificial='yes'/> <!-- parameter of type 'Quilt*' --> - <parameter type-id='type-id-125'/> + <parameter type-id='type-id-148'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- parameter of type 'REAL*' --> - <parameter type-id='type-id-16'/> + <parameter type-id='type-id-22'/> <!-- parameter of type 'Patch*' --> - <parameter type-id='type-id-256'/> + <parameter type-id='type-id-158'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' constructor='yes'> <!-- Patch::Patch(Patch&, int, REAL, Patch*) --> <function-decl name='Patch' filepath='libnurbs/internals/patch.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Patch*' --> - <parameter type-id='type-id-256' is-artificial='yes'/> + <parameter type-id='type-id-158' is-artificial='yes'/> <!-- parameter of type 'Patch&' --> - <parameter type-id='type-id-273'/> + <parameter type-id='type-id-277'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- parameter of type 'typedef REAL' --> <parameter type-id='type-id-1'/> <!-- parameter of type 'Patch*' --> - <parameter type-id='type-id-256'/> + <parameter type-id='type-id-158'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Patch::needsSamplingSubdivision() --> + <function-decl name='needsSamplingSubdivision' mangled-name='_ZN5Patch24needsSamplingSubdivisionEv' filepath='libnurbs/internals/patch.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Patch::clamp() --> + <function-decl name='clamp' mangled-name='_ZN5Patch5clampEv' filepath='libnurbs/internals/patch.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Patch::needsNonSamplingSubdivision() --> + <function-decl name='needsNonSamplingSubdivision' mangled-name='_ZN5Patch27needsNonSamplingSubdivisionEv' filepath='libnurbs/internals/patch.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Patch::needsSubdivision(int) --> + <function-decl name='needsSubdivision' mangled-name='_ZN5Patch16needsSubdivisionEi' filepath='libnurbs/internals/patch.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- parameter of type 'int' --> + <parameter type-id='type-id-8'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Patch::cullCheck() --> + <function-decl name='cullCheck' mangled-name='_ZN5Patch9cullCheckEv' filepath='libnurbs/internals/patch.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Patch::getstepsize() --> + <function-decl name='getstepsize' mangled-name='_ZN5Patch11getstepsizeEv' filepath='libnurbs/internals/patch.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Patch::bbox() --> + <function-decl name='bbox' mangled-name='_ZN5Patch4bboxEv' filepath='libnurbs/internals/patch.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Patch::checkBboxConstraint() --> + <function-decl name='checkBboxConstraint' mangled-name='_ZN5Patch19checkBboxConstraintEv' filepath='libnurbs/internals/patch.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Patch::get_uorder() --> + <function-decl name='get_uorder' mangled-name='_ZN5Patch10get_uorderEv' filepath='libnurbs/internals/patch.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- int Patch::get_vorder() --> + <function-decl name='get_vorder' mangled-name='_ZN5Patch10get_vorderEv' filepath='libnurbs/internals/patch.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Patch*' --> + <parameter type-id='type-id-158' is-artificial='yes'/> + <!-- int --> + <return type-id='type-id-8'/> </function-decl> </member-function> </class-decl> - <!-- struct Patchspec --> - <class-decl name='Patchspec' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/patch.h' line='54' column='1' id='type-id-274'> - <!-- struct Pspec --> - <base-class access='public' layout-offset-in-bits='0' type-id='type-id-267'/> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int Patchspec::order --> - <var-decl name='order' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='288'> - <!-- int Patchspec::stride --> - <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/patch.h' line='56' column='1'/> - </data-member> - </class-decl> <!-- Patch& --> - <reference-type-def kind='lvalue' type-id='type-id-266' size-in-bits='64' id='type-id-273'/> + <reference-type-def kind='lvalue' type-id='type-id-276' size-in-bits='64' id='type-id-277'/> <!-- Patch* --> - <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-256'/> - <!-- Patch* const --> - <qualified-type-def type-id='type-id-256' const='yes' id='type-id-331'/> + <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-158'/> <!-- Patchspec* --> - <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-332'/> - <!-- Patchspec* const --> - <qualified-type-def type-id='type-id-332' const='yes' id='type-id-333'/> + <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-275'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/patchlist.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- Pspec[2] --> - <array-type-def dimensions='1' type-id='type-id-267' size-in-bits='512' id='type-id-257'> + <array-type-def dimensions='1' type-id='type-id-274' size-in-bits='512' id='type-id-159'> <!-- <anonymous range>[2] --> - <subrange length='2' type-id='type-id-3' id='type-id-64'/> + <subrange length='2' type-id='type-id-3' id='type-id-87'/> </array-type-def> <!-- Patchlist* --> - <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-258'/> - <!-- Patchlist* const --> - <qualified-type-def type-id='type-id-258' const='yes' id='type-id-334'/> + <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-160'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/quilt.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Flist& --> - <qualified-type-def type-id='type-id-295' id='type-id-335'/> - <!-- Quilt* const --> - <qualified-type-def type-id='type-id-125' const='yes' id='type-id-336'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/renderhints.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Renderhints* const --> - <qualified-type-def type-id='type-id-118' const='yes' id='type-id-337'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/slicer.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- class rectBlock --> - <class-decl name='rectBlock' size-in-bits='192' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='39' column='1' id='type-id-338'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Int rectBlock::upGridLineIndex --> - <var-decl name='upGridLineIndex' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='40' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='32'> - <!-- Int rectBlock::lowGridLineIndex --> - <var-decl name='lowGridLineIndex' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='41' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Int* rectBlock::leftIndices --> - <var-decl name='leftIndices' type-id='type-id-323' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='42' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- Int* rectBlock::rightIndices --> - <var-decl name='rightIndices' type-id='type-id-323' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='43' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- rectBlock::rectBlock(gridBoundaryChain*, gridBoundaryChain*, Int, Int) --> - <function-decl name='rectBlock' filepath='libnurbs/nurbtess/rectBlock.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'rectBlock*' --> - <parameter type-id='type-id-339' is-artificial='yes'/> - <!-- parameter of type 'gridBoundaryChain*' --> - <parameter type-id='type-id-340'/> - <!-- parameter of type 'gridBoundaryChain*' --> - <parameter type-id='type-id-340'/> - <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> - <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- rectBlock::~rectBlock(int) --> - <function-decl name='~rectBlock' filepath='libnurbs/nurbtess/rectBlock.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'rectBlock*' --> - <parameter type-id='type-id-339' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> <!-- class gridWrap --> - <class-decl name='gridWrap' size-in-bits='384' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='42' column='1' id='type-id-341'> + <class-decl name='gridWrap' size-in-bits='384' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='42' column='1' id='type-id-278'> <data-member access='private' layout-offset-in-bits='0'> <!-- Int gridWrap::n_ulines --> - <var-decl name='n_ulines' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='43' column='1'/> + <var-decl name='n_ulines' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='43' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='32'> <!-- Int gridWrap::n_vlines --> - <var-decl name='n_vlines' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='44' column='1'/> + <var-decl name='n_vlines' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='44' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- Real gridWrap::u_min --> - <var-decl name='u_min' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='45' column='1'/> + <var-decl name='u_min' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='45' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='96'> <!-- Real gridWrap::u_max --> - <var-decl name='u_max' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='45' column='1'/> + <var-decl name='u_max' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='45' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- Real gridWrap::v_min --> - <var-decl name='v_min' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='46' column='1'/> + <var-decl name='v_min' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='46' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='160'> <!-- Real gridWrap::v_max --> - <var-decl name='v_max' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='46' column='1'/> + <var-decl name='v_max' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='46' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- Real* gridWrap::u_values --> - <var-decl name='u_values' type-id='type-id-324' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='52' column='1'/> + <var-decl name='u_values' type-id='type-id-253' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='52' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='256'> <!-- Real* gridWrap::v_values --> - <var-decl name='v_values' type-id='type-id-324' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='53' column='1'/> + <var-decl name='v_values' type-id='type-id-253' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='53' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='320'> <!-- Int gridWrap::is_uniform --> - <var-decl name='is_uniform' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='55' column='1'/> + <var-decl name='is_uniform' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='55' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- gridWrap::gridWrap(Int, Int, Real, Real, Real, Real) --> <function-decl name='gridWrap' filepath='libnurbs/nurbtess/gridWrap.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'gridWrap*' --> - <parameter type-id='type-id-342' is-artificial='yes'/> + <parameter type-id='type-id-193' is-artificial='yes'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- parameter of type 'typedef Real' --> - <parameter type-id='type-id-311'/> + <parameter type-id='type-id-246'/> <!-- parameter of type 'typedef Real' --> - <parameter type-id='type-id-311'/> + <parameter type-id='type-id-246'/> <!-- parameter of type 'typedef Real' --> - <parameter type-id='type-id-311'/> + <parameter type-id='type-id-246'/> <!-- parameter of type 'typedef Real' --> - <parameter type-id='type-id-311'/> + <parameter type-id='type-id-246'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' constructor='yes'> <!-- gridWrap::gridWrap(Int, Real*, Int, Real*) --> <function-decl name='gridWrap' filepath='libnurbs/nurbtess/gridWrap.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'gridWrap*' --> - <parameter type-id='type-id-342' is-artificial='yes'/> + <parameter type-id='type-id-193' is-artificial='yes'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- parameter of type 'Real*' --> - <parameter type-id='type-id-324'/> + <parameter type-id='type-id-253'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- parameter of type 'Real*' --> - <parameter type-id='type-id-324'/> + <parameter type-id='type-id-253'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- gridWrap::~gridWrap(int) --> <function-decl name='~gridWrap' filepath='libnurbs/nurbtess/gridWrap.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'gridWrap*' --> - <parameter type-id='type-id-342' is-artificial='yes'/> + <parameter type-id='type-id-193' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> - </class-decl> - <!-- class rectBlockArray --> - <class-decl name='rectBlockArray' size-in-bits='128' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='61' column='1' id='type-id-343'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- rectBlock** rectBlockArray::array --> - <var-decl name='array' type-id='type-id-344' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='62' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Int rectBlockArray::n_elements --> - <var-decl name='n_elements' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='63' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='96'> - <!-- Int rectBlockArray::size --> - <var-decl name='size' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='64' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- rectBlockArray::rectBlockArray(Int) --> - <function-decl name='rectBlockArray' filepath='libnurbs/nurbtess/rectBlock.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'rectBlockArray*' --> - <parameter type-id='type-id-345' is-artificial='yes'/> + <member-function access='private'> + <!-- Int gridWrap::get_n_vlines() --> + <function-decl name='get_n_vlines' mangled-name='_ZN8gridWrap12get_n_vlinesEv' filepath='libnurbs/nurbtess/gridWrap.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real gridWrap::get_v_min() --> + <function-decl name='get_v_min' mangled-name='_ZN8gridWrap9get_v_minEv' filepath='libnurbs/nurbtess/gridWrap.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real gridWrap::get_v_max() --> + <function-decl name='get_v_max' mangled-name='_ZN8gridWrap9get_v_maxEv' filepath='libnurbs/nurbtess/gridWrap.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int gridWrap::get_n_ulines() --> + <function-decl name='get_n_ulines' mangled-name='_ZN8gridWrap12get_n_ulinesEv' filepath='libnurbs/nurbtess/gridWrap.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real gridWrap::get_u_max() --> + <function-decl name='get_u_max' mangled-name='_ZN8gridWrap9get_u_maxEv' filepath='libnurbs/nurbtess/gridWrap.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real gridWrap::get_u_min() --> + <function-decl name='get_u_min' mangled-name='_ZN8gridWrap9get_u_minEv' filepath='libnurbs/nurbtess/gridWrap.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real gridWrap::get_u_value(Int) --> + <function-decl name='get_u_value' mangled-name='_ZN8gridWrap11get_u_valueEi' filepath='libnurbs/nurbtess/gridWrap.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> - <!-- void --> - <return type-id='type-id-12'/> + <parameter type-id='type-id-248'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> </function-decl> </member-function> - <member-function access='private' destructor='yes'> - <!-- rectBlockArray::~rectBlockArray(int) --> - <function-decl name='~rectBlockArray' filepath='libnurbs/nurbtess/rectBlock.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'rectBlockArray*' --> - <parameter type-id='type-id-345' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <member-function access='private'> + <!-- Real gridWrap::get_v_value(Int) --> + <function-decl name='get_v_value' mangled-name='_ZN8gridWrap11get_v_valueEi' filepath='libnurbs/nurbtess/gridWrap.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void gridWrap::outputFanWithPoint(Int, Int, Int, Real*, primStream*) --> + <function-decl name='outputFanWithPoint' mangled-name='_ZN8gridWrap18outputFanWithPointEiiiPfP10primStream' filepath='libnurbs/nurbtess/gridWrap.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'primStream*' --> + <parameter type-id='type-id-194'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void gridWrap::draw() --> + <function-decl name='draw' mangled-name='_ZN8gridWrap4drawEv' filepath='libnurbs/nurbtess/gridWrap.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void gridWrap::print() --> + <function-decl name='print' mangled-name='_ZN8gridWrap5printEv' filepath='libnurbs/nurbtess/gridWrap.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridWrap*' --> + <parameter type-id='type-id-193' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- class gridBoundaryChain --> - <class-decl name='gridBoundaryChain' size-in-bits='320' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='96' column='1' id='type-id-346'> + <class-decl name='gridBoundaryChain' size-in-bits='320' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='96' column='1' id='type-id-279'> <data-member access='private' layout-offset-in-bits='0'> <!-- gridWrap* gridBoundaryChain::grid --> - <var-decl name='grid' type-id='type-id-342' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='97' column='1'/> + <var-decl name='grid' type-id='type-id-193' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='97' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- Int gridBoundaryChain::firstVlineIndex --> - <var-decl name='firstVlineIndex' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='98' column='1'/> + <var-decl name='firstVlineIndex' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='98' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='96'> <!-- Int gridBoundaryChain::nVlines --> - <var-decl name='nVlines' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='99' column='1'/> + <var-decl name='nVlines' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='99' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- Int* gridBoundaryChain::ulineIndices --> - <var-decl name='ulineIndices' type-id='type-id-323' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='100' column='1'/> + <var-decl name='ulineIndices' type-id='type-id-259' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='100' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- Int* gridBoundaryChain::innerIndices --> - <var-decl name='innerIndices' type-id='type-id-323' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='101' column='1'/> + <var-decl name='innerIndices' type-id='type-id-259' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='101' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='256'> <!-- Real2* gridBoundaryChain::vertices --> - <var-decl name='vertices' type-id='type-id-319' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='105' column='1'/> + <var-decl name='vertices' type-id='type-id-251' visibility='default' filepath='libnurbs/nurbtess/gridWrap.h' line='105' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- gridBoundaryChain::gridBoundaryChain(gridWrap*, Int, Int, Int*, Int*) --> <function-decl name='gridBoundaryChain' filepath='libnurbs/nurbtess/gridWrap.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'gridBoundaryChain*' --> - <parameter type-id='type-id-340' is-artificial='yes'/> + <parameter type-id='type-id-280' is-artificial='yes'/> <!-- parameter of type 'gridWrap*' --> - <parameter type-id='type-id-342'/> + <parameter type-id='type-id-193'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> + <parameter type-id='type-id-248'/> <!-- parameter of type 'Int*' --> - <parameter type-id='type-id-323'/> + <parameter type-id='type-id-259'/> <!-- parameter of type 'Int*' --> - <parameter type-id='type-id-323'/> + <parameter type-id='type-id-259'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- gridBoundaryChain::~gridBoundaryChain(int) --> <function-decl name='~gridBoundaryChain' filepath='libnurbs/nurbtess/gridWrap.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'gridBoundaryChain*' --> - <parameter type-id='type-id-340' is-artificial='yes'/> + <parameter type-id='type-id-280' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int gridBoundaryChain::getUlineIndex(Int) --> + <function-decl name='getUlineIndex' mangled-name='_ZN17gridBoundaryChain13getUlineIndexEi' filepath='libnurbs/nurbtess/gridWrap.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real* gridBoundaryChain::get_vertex(Int) --> + <function-decl name='get_vertex' mangled-name='_ZN17gridBoundaryChain10get_vertexEi' filepath='libnurbs/nurbtess/gridWrap.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- Real* --> + <return type-id='type-id-253'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real gridBoundaryChain::get_v_value(Int) --> + <function-decl name='get_v_value' mangled-name='_ZN17gridBoundaryChain11get_v_valueEi' filepath='libnurbs/nurbtess/gridWrap.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int gridBoundaryChain::lookfor(Real, Int, Int) --> + <function-decl name='lookfor' mangled-name='_ZN17gridBoundaryChain7lookforEfii' filepath='libnurbs/nurbtess/gridWrap.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void gridBoundaryChain::leftEndFan(Int, primStream*) --> + <function-decl name='leftEndFan' mangled-name='_ZN17gridBoundaryChain10leftEndFanEiP10primStream' filepath='libnurbs/nurbtess/gridWrap.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'primStream*' --> + <parameter type-id='type-id-194'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void gridBoundaryChain::rightEndFan(Int, primStream*) --> + <function-decl name='rightEndFan' mangled-name='_ZN17gridBoundaryChain11rightEndFanEiP10primStream' filepath='libnurbs/nurbtess/gridWrap.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'primStream*' --> + <parameter type-id='type-id-194'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void gridBoundaryChain::drawInner() --> + <function-decl name='drawInner' mangled-name='_ZN17gridBoundaryChain9drawInnerEv' filepath='libnurbs/nurbtess/gridWrap.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void gridBoundaryChain::draw() --> + <function-decl name='draw' mangled-name='_ZN17gridBoundaryChain4drawEv' filepath='libnurbs/nurbtess/gridWrap.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int gridBoundaryChain::getVlineIndex(Int) --> + <function-decl name='getVlineIndex' mangled-name='_ZN17gridBoundaryChain13getVlineIndexEi' filepath='libnurbs/nurbtess/gridWrap.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int gridBoundaryChain::getInnerIndex(Int) --> + <function-decl name='getInnerIndex' mangled-name='_ZN17gridBoundaryChain13getInnerIndexEi' filepath='libnurbs/nurbtess/gridWrap.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- gridWrap* gridBoundaryChain::getGrid() --> + <function-decl name='getGrid' mangled-name='_ZN17gridBoundaryChain7getGridEv' filepath='libnurbs/nurbtess/gridWrap.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- gridWrap* --> + <return type-id='type-id-193'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int gridBoundaryChain::get_nVlines() --> + <function-decl name='get_nVlines' mangled-name='_ZN17gridBoundaryChain11get_nVlinesEv' filepath='libnurbs/nurbtess/gridWrap.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real gridBoundaryChain::get_u_value(Int) --> + <function-decl name='get_u_value' mangled-name='_ZN17gridBoundaryChain11get_u_valueEi' filepath='libnurbs/nurbtess/gridWrap.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + </class-decl> + <!-- class rectBlock --> + <class-decl name='rectBlock' size-in-bits='192' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='39' column='1' id='type-id-281'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- Int rectBlock::upGridLineIndex --> + <var-decl name='upGridLineIndex' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='40' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='32'> + <!-- Int rectBlock::lowGridLineIndex --> + <var-decl name='lowGridLineIndex' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='41' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='64'> + <!-- Int* rectBlock::leftIndices --> + <var-decl name='leftIndices' type-id='type-id-259' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='42' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='128'> + <!-- Int* rectBlock::rightIndices --> + <var-decl name='rightIndices' type-id='type-id-259' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='43' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- rectBlock::rectBlock(gridBoundaryChain*, gridBoundaryChain*, Int, Int) --> + <function-decl name='rectBlock' filepath='libnurbs/nurbtess/rectBlock.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280'/> + <!-- parameter of type 'gridBoundaryChain*' --> + <parameter type-id='type-id-280'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- rectBlock::~rectBlock(int) --> + <function-decl name='~rectBlock' filepath='libnurbs/nurbtess/rectBlock.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int rectBlock::get_lowGridLineIndex() --> + <function-decl name='get_lowGridLineIndex' mangled-name='_ZN9rectBlock20get_lowGridLineIndexEv' filepath='libnurbs/nurbtess/rectBlock.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int rectBlock::get_upGridLineIndex() --> + <function-decl name='get_upGridLineIndex' mangled-name='_ZN9rectBlock19get_upGridLineIndexEv' filepath='libnurbs/nurbtess/rectBlock.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int* rectBlock::get_rightIndices() --> + <function-decl name='get_rightIndices' mangled-name='_ZN9rectBlock16get_rightIndicesEv' filepath='libnurbs/nurbtess/rectBlock.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- Int* --> + <return type-id='type-id-259'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int* rectBlock::get_leftIndices() --> + <function-decl name='get_leftIndices' mangled-name='_ZN9rectBlock15get_leftIndicesEv' filepath='libnurbs/nurbtess/rectBlock.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- Int* --> + <return type-id='type-id-259'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int rectBlock::num_quads() --> + <function-decl name='num_quads' mangled-name='_ZN9rectBlock9num_quadsEv' filepath='libnurbs/nurbtess/rectBlock.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void rectBlock::draw(Real*, Real*) --> + <function-decl name='draw' mangled-name='_ZN9rectBlock4drawEPfS0_' filepath='libnurbs/nurbtess/rectBlock.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void rectBlock::print() --> + <function-decl name='print' mangled-name='_ZN9rectBlock5printEv' filepath='libnurbs/nurbtess/rectBlock.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- class rectBlockArray --> + <class-decl name='rectBlockArray' size-in-bits='128' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='61' column='1' id='type-id-283'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- rectBlock** rectBlockArray::array --> + <var-decl name='array' type-id='type-id-284' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='62' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='64'> + <!-- Int rectBlockArray::n_elements --> + <var-decl name='n_elements' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='63' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='96'> + <!-- Int rectBlockArray::size --> + <var-decl name='size' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/rectBlock.h' line='64' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- rectBlockArray::rectBlockArray(Int) --> + <function-decl name='rectBlockArray' filepath='libnurbs/nurbtess/rectBlock.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- rectBlockArray::~rectBlockArray(int) --> + <function-decl name='~rectBlockArray' filepath='libnurbs/nurbtess/rectBlock.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- rectBlock* rectBlockArray::get_element(Int) --> + <function-decl name='get_element' mangled-name='_ZN14rectBlockArray11get_elementEi' filepath='libnurbs/nurbtess/rectBlock.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- rectBlock* --> + <return type-id='type-id-282'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int rectBlockArray::get_n_elements() --> + <function-decl name='get_n_elements' mangled-name='_ZN14rectBlockArray14get_n_elementsEv' filepath='libnurbs/nurbtess/rectBlock.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int rectBlockArray::num_quads() --> + <function-decl name='num_quads' mangled-name='_ZN14rectBlockArray9num_quadsEv' filepath='libnurbs/nurbtess/rectBlock.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void rectBlockArray::insert(rectBlock*) --> + <function-decl name='insert' mangled-name='_ZN14rectBlockArray6insertEP9rectBlock' filepath='libnurbs/nurbtess/rectBlock.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192' is-artificial='yes'/> + <!-- parameter of type 'rectBlock*' --> + <parameter type-id='type-id-282'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void rectBlockArray::draw(Real*, Real*) --> + <function-decl name='draw' mangled-name='_ZN14rectBlockArray4drawEPfS0_' filepath='libnurbs/nurbtess/rectBlock.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void rectBlockArray::print() --> + <function-decl name='print' mangled-name='_ZN14rectBlockArray5printEv' filepath='libnurbs/nurbtess/rectBlock.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'rectBlockArray*' --> + <parameter type-id='type-id-192' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- Slicer* --> - <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-162'/> - <!-- Slicer* const --> - <qualified-type-def type-id='type-id-162' const='yes' id='type-id-347'/> - <!-- TrimRegion* const --> - <qualified-type-def type-id='type-id-205' const='yes' id='type-id-348'/> + <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-190'/> <!-- gridBoundaryChain* --> - <pointer-type-def type-id='type-id-346' size-in-bits='64' id='type-id-340'/> + <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-280'/> <!-- gridWrap* --> - <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/> - <!-- gridWrap* const --> - <qualified-type-def type-id='type-id-342' const='yes' id='type-id-349'/> - <!-- primStream* const --> - <qualified-type-def type-id='type-id-325' const='yes' id='type-id-350'/> + <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-193'/> <!-- rectBlock* --> - <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-339'/> - <!-- rectBlock* const --> - <qualified-type-def type-id='type-id-339' const='yes' id='type-id-351'/> + <pointer-type-def type-id='type-id-281' size-in-bits='64' id='type-id-282'/> <!-- rectBlock** --> - <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-344'/> + <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-284'/> <!-- rectBlockArray* --> - <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-345'/> - <!-- rectBlockArray* const --> - <qualified-type-def type-id='type-id-345' const='yes' id='type-id-352'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/sorter.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Sorter* const --> - <qualified-type-def type-id='type-id-202' const='yes' id='type-id-353'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/subdivider.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Patchlist& --> - <qualified-type-def type-id='type-id-259' id='type-id-354'/> + <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-192'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/tobezier.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> + <!-- typedef Quilt* Quilt_ptr --> + <typedef-decl name='Quilt_ptr' type-id='type-id-148' filepath='libnurbs/internals/quilt.h' line='90' column='1' id='type-id-285'/> + <!-- struct Breakpt --> + <class-decl name='Breakpt' size-in-bits='96' is-struct='yes' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='48' column='1' id='type-id-286'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- Knot Breakpt::value --> + <var-decl name='value' type-id='type-id-226' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='49' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <!-- int Breakpt::multi --> + <var-decl name='multi' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='50' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- int Breakpt::def --> + <var-decl name='def' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='51' column='1'/> + </data-member> + </class-decl> <!-- struct Knotspec --> - <class-decl name='Knotspec' size-in-bits='1152' is-struct='yes' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='54' column='1' id='type-id-355'> + <class-decl name='Knotspec' size-in-bits='1152' is-struct='yes' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='54' column='1' id='type-id-287'> <data-member access='public' layout-offset-in-bits='0'> <!-- long int Knotspec::order --> - <var-decl name='order' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='55' column='1'/> + <var-decl name='order' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='55' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- Knot_ptr Knotspec::inkbegin --> - <var-decl name='inkbegin' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='56' column='1'/> + <var-decl name='inkbegin' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='56' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- Knot_ptr Knotspec::inkend --> - <var-decl name='inkend' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='57' column='1'/> + <var-decl name='inkend' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='57' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- Knot_ptr Knotspec::outkbegin --> - <var-decl name='outkbegin' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='58' column='1'/> + <var-decl name='outkbegin' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='58' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- Knot_ptr Knotspec::outkend --> - <var-decl name='outkend' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='59' column='1'/> + <var-decl name='outkend' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='59' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='320'> <!-- Knot_ptr Knotspec::kleft --> - <var-decl name='kleft' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='60' column='1'/> + <var-decl name='kleft' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='60' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='384'> <!-- Knot_ptr Knotspec::kright --> - <var-decl name='kright' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='61' column='1'/> + <var-decl name='kright' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='61' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='448'> <!-- Knot_ptr Knotspec::kfirst --> - <var-decl name='kfirst' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='62' column='1'/> + <var-decl name='kfirst' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='62' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='512'> <!-- Knot_ptr Knotspec::klast --> - <var-decl name='klast' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='63' column='1'/> + <var-decl name='klast' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='63' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='576'> <!-- Knot_ptr Knotspec::sbegin --> - <var-decl name='sbegin' type-id='type-id-356' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='64' column='1'/> + <var-decl name='sbegin' type-id='type-id-288' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='64' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='640'> <!-- Breakpt* Knotspec::bbegin --> - <var-decl name='bbegin' type-id='type-id-357' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='65' column='1'/> + <var-decl name='bbegin' type-id='type-id-289' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='65' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='704'> <!-- Breakpt* Knotspec::bend --> - <var-decl name='bend' type-id='type-id-357' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='66' column='1'/> + <var-decl name='bend' type-id='type-id-289' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='66' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='768'> <!-- int Knotspec::ncoords --> - <var-decl name='ncoords' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='67' column='1'/> + <var-decl name='ncoords' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='67' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='800'> <!-- int Knotspec::prestride --> - <var-decl name='prestride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='68' column='1'/> + <var-decl name='prestride' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='68' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='832'> <!-- int Knotspec::poststride --> - <var-decl name='poststride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='69' column='1'/> + <var-decl name='poststride' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='69' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='864'> <!-- int Knotspec::preoffset --> - <var-decl name='preoffset' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='70' column='1'/> + <var-decl name='preoffset' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='70' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='896'> <!-- int Knotspec::postoffset --> - <var-decl name='postoffset' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='71' column='1'/> + <var-decl name='postoffset' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='71' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='928'> <!-- int Knotspec::prewidth --> - <var-decl name='prewidth' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='72' column='1'/> + <var-decl name='prewidth' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='72' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='960'> <!-- int Knotspec::postwidth --> - <var-decl name='postwidth' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='73' column='1'/> + <var-decl name='postwidth' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='73' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='992'> <!-- int Knotspec::istransformed --> - <var-decl name='istransformed' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='74' column='1'/> + <var-decl name='istransformed' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='74' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1024'> <!-- Knotspec* Knotspec::next --> - <var-decl name='next' type-id='type-id-358' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='75' column='1'/> + <var-decl name='next' type-id='type-id-290' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='75' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1088'> <!-- Knotspec* Knotspec::kspectotrans --> - <var-decl name='kspectotrans' type-id='type-id-358' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='76' column='1'/> + <var-decl name='kspectotrans' type-id='type-id-290' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='76' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- Knotspec::Knotspec() --> <function-decl name='Knotspec' filepath='libnurbs/internals/tobezier.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Knotspec*' --> - <parameter type-id='type-id-358' is-artificial='yes'/> + <parameter type-id='type-id-290' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' destructor='yes'> <!-- Knotspec::~Knotspec(int) --> <function-decl name='~Knotspec' filepath='libnurbs/internals/tobezier.cc' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Knotspec*' --> - <parameter type-id='type-id-358' is-artificial='yes'/> + <parameter type-id='type-id-290' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::showpts(REAL*) --> + <function-decl name='showpts' mangled-name='_ZN8Knotspec7showptsEPf' filepath='libnurbs/internals/tobezier.cc' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::factors() --> + <function-decl name='factors' mangled-name='_ZN8Knotspec7factorsEv' filepath='libnurbs/internals/tobezier.cc' line='80' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::pt_io_copy(REAL*, float*) --> + <function-decl name='pt_io_copy' mangled-name='_ZN8Knotspec10pt_io_copyEPfS0_' filepath='libnurbs/internals/tobezier.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::copy(float*, REAL*) --> + <function-decl name='copy' mangled-name='_ZN8Knotspec4copyEPfS0_' filepath='libnurbs/internals/tobezier.cc' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::pt_oo_sum(REAL*, REAL*, REAL*, Knot, Knot) --> + <function-decl name='pt_oo_sum' mangled-name='_ZN8Knotspec9pt_oo_sumEPfS0_S0_ff' filepath='libnurbs/internals/tobezier.cc' line='92' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'typedef Knot' --> + <parameter type-id='type-id-226'/> + <!-- parameter of type 'typedef Knot' --> + <parameter type-id='type-id-226'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::pt_oo_copy(REAL*, REAL*) --> + <function-decl name='pt_oo_copy' mangled-name='_ZN8Knotspec10pt_oo_copyEPfS0_' filepath='libnurbs/internals/tobezier.cc' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::insert(REAL*) --> + <function-decl name='insert' mangled-name='_ZN8Knotspec6insertEPf' filepath='libnurbs/internals/tobezier.cc' line='81' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::transform(REAL*) --> + <function-decl name='transform' mangled-name='_ZN8Knotspec9transformEPf' filepath='libnurbs/internals/tobezier.cc' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- parameter of type 'REAL*' --> + <parameter type-id='type-id-22'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::knots() --> + <function-decl name='knots' mangled-name='_ZN8Knotspec5knotsEv' filepath='libnurbs/internals/tobezier.cc' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::breakpoints() --> + <function-decl name='breakpoints' mangled-name='_ZN8Knotspec11breakpointsEv' filepath='libnurbs/internals/tobezier.cc' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::select() --> + <function-decl name='select' mangled-name='_ZN8Knotspec6selectEv' filepath='libnurbs/internals/tobezier.cc' line='83' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Knotspec::preselect() --> + <function-decl name='preselect' mangled-name='_ZN8Knotspec9preselectEv' filepath='libnurbs/internals/tobezier.cc' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Knotspec*' --> + <parameter type-id='type-id-290' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> - <!-- typedef REAL* Knot_ptr --> - <typedef-decl name='Knot_ptr' type-id='type-id-16' filepath='libnurbs/internals/types.h' line='45' column='1' id='type-id-356'/> - <!-- struct Breakpt --> - <class-decl name='Breakpt' size-in-bits='96' is-struct='yes' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='48' column='1' id='type-id-359'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- Knot Breakpt::value --> - <var-decl name='value' type-id='type-id-218' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='49' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='32'> - <!-- int Breakpt::multi --> - <var-decl name='multi' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='50' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- int Breakpt::def --> - <var-decl name='def' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='51' column='1'/> - </data-member> - </class-decl> <!-- struct Splinespec --> - <class-decl name='Splinespec' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='95' column='1' id='type-id-360'> + <class-decl name='Splinespec' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='95' column='1' id='type-id-291'> <data-member access='public' layout-offset-in-bits='0'> <!-- Knotspec* Splinespec::kspec --> - <var-decl name='kspec' type-id='type-id-358' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='98' column='1'/> + <var-decl name='kspec' type-id='type-id-290' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='98' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- int Splinespec::dim --> - <var-decl name='dim' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='99' column='1'/> + <var-decl name='dim' type-id='type-id-8' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='99' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- REAL* Splinespec::outcpts --> - <var-decl name='outcpts' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='100' column='1'/> + <var-decl name='outcpts' type-id='type-id-22' visibility='default' filepath='libnurbs/internals/tobezier.cc' line='100' column='1'/> </data-member> <member-function access='public' constructor='yes'> <!-- Splinespec::Splinespec(int) --> <function-decl name='Splinespec' filepath='libnurbs/internals/tobezier.cc' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Splinespec*' --> - <parameter type-id='type-id-361' is-artificial='yes'/> + <parameter type-id='type-id-292' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='public' destructor='yes'> <!-- Splinespec::~Splinespec(int) --> <function-decl name='~Splinespec' filepath='libnurbs/internals/tobezier.cc' line='97' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Splinespec*' --> - <parameter type-id='type-id-361' is-artificial='yes'/> + <parameter type-id='type-id-292' is-artificial='yes'/> <!-- parameter of type 'int' --> - <parameter type-id='type-id-11'/> + <parameter type-id='type-id-8'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Splinespec::copy(float*) --> + <function-decl name='copy' mangled-name='_ZN10Splinespec4copyEPf' filepath='libnurbs/internals/tobezier.cc' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Splinespec*' --> + <parameter type-id='type-id-292' is-artificial='yes'/> + <!-- parameter of type 'float*' --> + <parameter type-id='type-id-49'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Splinespec::transform() --> + <function-decl name='transform' mangled-name='_ZN10Splinespec9transformEv' filepath='libnurbs/internals/tobezier.cc' line='108' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Splinespec*' --> + <parameter type-id='type-id-292' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Splinespec::select() --> + <function-decl name='select' mangled-name='_ZN10Splinespec6selectEv' filepath='libnurbs/internals/tobezier.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Splinespec*' --> + <parameter type-id='type-id-292' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Splinespec::setupquilt(Quilt_ptr) --> + <function-decl name='setupquilt' mangled-name='_ZN10Splinespec10setupquiltEP5Quilt' filepath='libnurbs/internals/tobezier.cc' line='106' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Splinespec*' --> + <parameter type-id='type-id-292' is-artificial='yes'/> + <!-- parameter of type 'typedef Quilt_ptr' --> + <parameter type-id='type-id-285'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Splinespec::layout(long int) --> + <function-decl name='layout' mangled-name='_ZN10Splinespec6layoutEl' filepath='libnurbs/internals/tobezier.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Splinespec*' --> + <parameter type-id='type-id-292' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Splinespec::kspecinit(Knotvector&, Knotvector&) --> + <function-decl name='kspecinit' mangled-name='_ZN10Splinespec9kspecinitER10KnotvectorS1_' filepath='libnurbs/internals/tobezier.cc' line='103' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Splinespec*' --> + <parameter type-id='type-id-292' is-artificial='yes'/> + <!-- parameter of type 'Knotvector&' --> + <parameter type-id='type-id-168'/> + <!-- parameter of type 'Knotvector&' --> + <parameter type-id='type-id-168'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='public'> + <!-- void Splinespec::kspecinit(Knotvector&) --> + <function-decl name='kspecinit' mangled-name='_ZN10Splinespec9kspecinitER10Knotvector' filepath='libnurbs/internals/tobezier.cc' line='102' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Splinespec*' --> + <parameter type-id='type-id-292' is-artificial='yes'/> + <!-- parameter of type 'Knotvector&' --> + <parameter type-id='type-id-168'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> - <!-- typedef Quilt* Quilt_ptr --> - <typedef-decl name='Quilt_ptr' type-id='type-id-125' filepath='libnurbs/internals/quilt.h' line='90' column='1' id='type-id-362'/> + <!-- typedef REAL* Knot_ptr --> + <typedef-decl name='Knot_ptr' type-id='type-id-22' filepath='libnurbs/internals/types.h' line='45' column='1' id='type-id-288'/> <!-- Breakpt* --> - <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-357'/> + <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-289'/> <!-- Knotspec* --> - <pointer-type-def type-id='type-id-355' size-in-bits='64' id='type-id-358'/> - <!-- Knotspec* const --> - <qualified-type-def type-id='type-id-358' const='yes' id='type-id-363'/> - <!-- Knotvector& --> - <qualified-type-def type-id='type-id-296' id='type-id-364'/> + <pointer-type-def type-id='type-id-287' size-in-bits='64' id='type-id-290'/> <!-- Splinespec* --> - <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/> - <!-- Splinespec* const --> - <qualified-type-def type-id='type-id-361' const='yes' id='type-id-365'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/trimline.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Jarcloc* const --> - <qualified-type-def type-id='type-id-289' const='yes' id='type-id-366'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/trimvertpool.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- TrimVertexPool* const --> - <qualified-type-def type-id='type-id-131' const='yes' id='type-id-367'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/internals/uarray.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- Uarray* const --> - <qualified-type-def type-id='type-id-214' const='yes' id='type-id-368'/> + <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-292'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/internals/varray.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- REAL[1000] --> - <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='32000' id='type-id-369'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='32000' id='type-id-293'> <!-- <anonymous range>[1000] --> - <subrange length='1000' type-id='type-id-3' id='type-id-370'/> + <subrange length='1000' type-id='type-id-3' id='type-id-294'/> </array-type-def> <!-- long int[1000] --> - <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='64000' id='type-id-371'> + <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='64000' id='type-id-295'> <!-- <anonymous range>[1000] --> - <subrange length='1000' type-id='type-id-3' id='type-id-370'/> + <subrange length='1000' type-id='type-id-3' id='type-id-294'/> </array-type-def> <!-- class Varray --> - <class-decl name='Varray' size-in-bits='96192' visibility='default' filepath='libnurbs/internals/varray.h' line='43' column='1' id='type-id-372'> + <class-decl name='Varray' size-in-bits='96192' visibility='default' filepath='libnurbs/internals/varray.h' line='43' column='1' id='type-id-296'> <data-member access='private' layout-offset-in-bits='0'> <!-- REAL* Varray::varray --> - <var-decl name='varray' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/varray.h' line='48' column='1'/> + <var-decl name='varray' type-id='type-id-22' visibility='default' filepath='libnurbs/internals/varray.h' line='48' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- REAL Varray::vval[1000] --> - <var-decl name='vval' type-id='type-id-369' visibility='default' filepath='libnurbs/internals/varray.h' line='49' column='1'/> + <var-decl name='vval' type-id='type-id-293' visibility='default' filepath='libnurbs/internals/varray.h' line='49' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='32064'> <!-- long int Varray::voffset[1000] --> - <var-decl name='voffset' type-id='type-id-371' visibility='default' filepath='libnurbs/internals/varray.h' line='50' column='1'/> + <var-decl name='voffset' type-id='type-id-295' visibility='default' filepath='libnurbs/internals/varray.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='96064'> <!-- long int Varray::numquads --> - <var-decl name='numquads' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/varray.h' line='51' column='1'/> + <var-decl name='numquads' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/varray.h' line='51' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='96128'> <!-- long int Varray::size --> - <var-decl name='size' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/varray.h' line='54' column='1'/> + <var-decl name='size' type-id='type-id-38' visibility='default' filepath='libnurbs/internals/varray.h' line='54' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- Varray::Varray() --> <function-decl name='Varray' filepath='libnurbs/internals/varray.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Varray*' --> - <parameter type-id='type-id-373' is-artificial='yes'/> + <parameter type-id='type-id-297' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- Varray::~Varray(int) --> <function-decl name='~Varray' filepath='libnurbs/internals/varray.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'Varray*' --> - <parameter type-id='type-id-373' is-artificial='yes'/> + <parameter type-id='type-id-297' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Varray::append(REAL) --> + <function-decl name='append' mangled-name='_ZN6Varray6appendEf' filepath='libnurbs/internals/varray.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Varray*' --> + <parameter type-id='type-id-297' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Varray::update(Arc*, long int*, REAL) --> + <function-decl name='update' mangled-name='_ZN6Varray6updateEP3ArcPlf' filepath='libnurbs/internals/varray.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Varray*' --> + <parameter type-id='type-id-297' is-artificial='yes'/> + <!-- parameter of type 'Arc*' --> + <parameter type-id='type-id-111'/> + <!-- parameter of type 'long int*' --> + <parameter type-id='type-id-298'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void Varray::grow(long int) --> + <function-decl name='grow' mangled-name='_ZN6Varray4growEl' filepath='libnurbs/internals/varray.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Varray*' --> + <parameter type-id='type-id-297' is-artificial='yes'/> + <!-- parameter of type 'long int' --> + <parameter type-id='type-id-38'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- long int Varray::init(REAL, Arc*, Arc*) --> + <function-decl name='init' mangled-name='_ZN6Varray4initEfP3ArcS1_' filepath='libnurbs/internals/varray.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'Varray*' --> + <parameter type-id='type-id-297' is-artificial='yes'/> + <!-- parameter of type 'typedef REAL' --> + <parameter type-id='type-id-1'/> + <!-- parameter of type 'Arc*' --> + <parameter type-id='type-id-111'/> + <!-- parameter of type 'Arc*' --> + <parameter type-id='type-id-111'/> + <!-- long int --> + <return type-id='type-id-38'/> </function-decl> </member-function> </class-decl> <!-- Varray* --> - <pointer-type-def type-id='type-id-372' size-in-bits='64' id='type-id-373'/> - <!-- Varray* const --> - <qualified-type-def type-id='type-id-373' const='yes' id='type-id-374'/> + <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-297'/> <!-- long int* --> - <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-375'/> + <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-298'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/nurbtess/directedLine.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- short int --> - <type-decl name='short int' size-in-bits='16' id='type-id-376'/> - <!-- class sampledLine --> - <class-decl name='sampledLine' size-in-bits='192' visibility='default' filepath='libnurbs/nurbtess/sampledLine.h' line='38' column='1' id='type-id-377'> - <data-member access='private' layout-offset-in-bits='0'> - <!-- Int sampledLine::npoints --> - <var-decl name='npoints' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/sampledLine.h' line='39' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='64'> - <!-- Real2* sampledLine::points --> - <var-decl name='points' type-id='type-id-319' visibility='default' filepath='libnurbs/nurbtess/sampledLine.h' line='40' column='1'/> - </data-member> - <data-member access='private' layout-offset-in-bits='128'> - <!-- sampledLine* sampledLine::next --> - <var-decl name='next' type-id='type-id-378' visibility='default' filepath='libnurbs/nurbtess/sampledLine.h' line='65' column='1'/> - </data-member> - <member-function access='private' constructor='yes'> - <!-- sampledLine::sampledLine(Int) --> - <function-decl name='sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'sampledLine*' --> - <parameter type-id='type-id-378' is-artificial='yes'/> - <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' constructor='yes'> - <!-- sampledLine::sampledLine(Int, Real[2]*) --> - <function-decl name='sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'sampledLine*' --> - <parameter type-id='type-id-378' is-artificial='yes'/> - <!-- parameter of type 'typedef Int' --> - <parameter type-id='type-id-313'/> - <!-- parameter of type 'Real[2]*' --> - <parameter type-id='type-id-317'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' constructor='yes'> - <!-- sampledLine::sampledLine(Real*, Real*) --> - <function-decl name='sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'sampledLine*' --> - <parameter type-id='type-id-378' is-artificial='yes'/> - <!-- parameter of type 'Real*' --> - <parameter type-id='type-id-324'/> - <!-- parameter of type 'Real*' --> - <parameter type-id='type-id-324'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' constructor='yes'> - <!-- sampledLine::sampledLine() --> - <function-decl name='sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'sampledLine*' --> - <parameter type-id='type-id-378' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - <member-function access='private' destructor='yes'> - <!-- sampledLine::~sampledLine(int) --> - <function-decl name='~sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> - <!-- implicit parameter of type 'sampledLine*' --> - <parameter type-id='type-id-378' is-artificial='yes'/> - <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - </member-function> - </class-decl> + <type-decl name='short int' size-in-bits='16' id='type-id-299'/> <!-- class directedLine --> - <class-decl name='directedLine' size-in-bits='448' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='41' column='1' id='type-id-379'> + <class-decl name='directedLine' size-in-bits='448' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='41' column='1' id='type-id-300'> <data-member access='private' layout-offset-in-bits='0'> <!-- short int directedLine::direction --> - <var-decl name='direction' type-id='type-id-376' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='42' column='1'/> + <var-decl name='direction' type-id='type-id-299' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='42' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- sampledLine* directedLine::sline --> - <var-decl name='sline' type-id='type-id-378' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='43' column='1'/> + <var-decl name='sline' type-id='type-id-301' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='43' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- directedLine* directedLine::next --> - <var-decl name='next' type-id='type-id-380' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='44' column='1'/> + <var-decl name='next' type-id='type-id-302' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='44' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- directedLine* directedLine::prev --> - <var-decl name='prev' type-id='type-id-380' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='45' column='1'/> + <var-decl name='prev' type-id='type-id-302' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='45' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='256'> <!-- directedLine* directedLine::nextPolygon --> - <var-decl name='nextPolygon' type-id='type-id-380' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='50' column='1'/> + <var-decl name='nextPolygon' type-id='type-id-302' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='320'> <!-- Int directedLine::rootBit --> - <var-decl name='rootBit' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='55' column='1'/> + <var-decl name='rootBit' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='55' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='384'> <!-- directedLine* directedLine::rootLink --> - <var-decl name='rootLink' type-id='type-id-380' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='58' column='1'/> + <var-decl name='rootLink' type-id='type-id-302' visibility='default' filepath='libnurbs/nurbtess/directedLine.h' line='58' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- directedLine::directedLine(short int, sampledLine*) --> <function-decl name='directedLine' filepath='libnurbs/nurbtess/directedLine.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'directedLine*' --> - <parameter type-id='type-id-380' is-artificial='yes'/> + <parameter type-id='type-id-302' is-artificial='yes'/> <!-- parameter of type 'short int' --> - <parameter type-id='type-id-376'/> + <parameter type-id='type-id-299'/> <!-- parameter of type 'sampledLine*' --> - <parameter type-id='type-id-378'/> + <parameter type-id='type-id-301'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' constructor='yes'> <!-- directedLine::directedLine() --> <function-decl name='directedLine' filepath='libnurbs/nurbtess/directedLine.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'directedLine*' --> - <parameter type-id='type-id-380' is-artificial='yes'/> + <parameter type-id='type-id-302' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- directedLine::~directedLine(int) --> <function-decl name='~directedLine' filepath='libnurbs/nurbtess/directedLine.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'directedLine*' --> - <parameter type-id='type-id-380' is-artificial='yes'/> + <parameter type-id='type-id-302' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int directedLine::numEdges() --> + <function-decl name='numEdges' mangled-name='_ZN12directedLine8numEdgesEv' filepath='libnurbs/nurbtess/directedLine.h' line='114' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real* directedLine::head() --> + <function-decl name='head' mangled-name='_ZN12directedLine4headEv' filepath='libnurbs/nurbtess/directedLine.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- Real* --> + <return type-id='type-id-253'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real* directedLine::tail() --> + <function-decl name='tail' mangled-name='_ZN12directedLine4tailEv' filepath='libnurbs/nurbtess/directedLine.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- Real* --> + <return type-id='type-id-253'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::setRootBit() --> + <function-decl name='setRootBit' mangled-name='_ZN12directedLine10setRootBitEv' filepath='libnurbs/nurbtess/directedLine.h' line='151' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::rootLinkSet(directedLine*) --> + <function-decl name='rootLinkSet' mangled-name='_ZN12directedLine11rootLinkSetEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::insert(directedLine*) --> + <function-decl name='insert' mangled-name='_ZN12directedLine6insertEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::insertPolygon(directedLine*) --> + <function-decl name='insertPolygon' mangled-name='_ZN12directedLine13insertPolygonEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int directedLine::numPolygons() --> + <function-decl name='numPolygons' mangled-name='_ZN12directedLine11numPolygonsEv' filepath='libnurbs/nurbtess/directedLine.h' line='116' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int directedLine::get_npoints() --> + <function-decl name='get_npoints' mangled-name='_ZN12directedLine11get_npointsEv' filepath='libnurbs/nurbtess/directedLine.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real* directedLine::getVertex(Int) --> + <function-decl name='getVertex' mangled-name='_ZN12directedLine9getVertexEi' filepath='libnurbs/nurbtess/directedLine.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- Real* --> + <return type-id='type-id-253'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int directedLine::numEdgesAllPolygons() --> + <function-decl name='numEdgesAllPolygons' mangled-name='_ZN12directedLine19numEdgesAllPolygonsEv' filepath='libnurbs/nurbtess/directedLine.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int directedLine::toArraySinglePolygon(directedLine**, Int) --> + <function-decl name='toArraySinglePolygon' mangled-name='_ZN12directedLine20toArraySinglePolygonEPPS_i' filepath='libnurbs/nurbtess/directedLine.h' line='135' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine**' --> + <parameter type-id='type-id-303'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::resetRootBit() --> + <function-decl name='resetRootBit' mangled-name='_ZN12directedLine12resetRootBitEv' filepath='libnurbs/nurbtess/directedLine.h' line='152' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::getNext() --> + <function-decl name='getNext' mangled-name='_ZN12directedLine7getNextEv' filepath='libnurbs/nurbtess/directedLine.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::init(short int, sampledLine*) --> + <function-decl name='init' mangled-name='_ZN12directedLine4initEsP11sampledLine' filepath='libnurbs/nurbtess/directedLine.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'short int' --> + <parameter type-id='type-id-299'/> + <!-- parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- short int directedLine::isConnected() --> + <function-decl name='isConnected' mangled-name='_ZN12directedLine11isConnectedEv' filepath='libnurbs/nurbtess/directedLine.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- short int --> + <return type-id='type-id-299'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- short int directedLine::isPolygon() --> + <function-decl name='isPolygon' mangled-name='_ZN12directedLine9isPolygonEv' filepath='libnurbs/nurbtess/directedLine.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- short int --> + <return type-id='type-id-299'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int directedLine::compInY(directedLine*) --> + <function-decl name='compInY' mangled-name='_ZN12directedLine7compInYEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int directedLine::compInX(directedLine*) --> + <function-decl name='compInX' mangled-name='_ZN12directedLine7compInXEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real directedLine::polyArea() --> + <function-decl name='polyArea' mangled-name='_ZN12directedLine8polyAreaEv' filepath='libnurbs/nurbtess/directedLine.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int directedLine::samePolygon(directedLine*, directedLine*) --> + <function-decl name='samePolygon' mangled-name='_ZN12directedLine11samePolygonEPS_S0_' filepath='libnurbs/nurbtess/directedLine.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::findRoot() --> + <function-decl name='findRoot' mangled-name='_ZN12directedLine8findRootEv' filepath='libnurbs/nurbtess/directedLine.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::rootLinkFindRoot() --> + <function-decl name='rootLinkFindRoot' mangled-name='_ZN12directedLine16rootLinkFindRootEv' filepath='libnurbs/nurbtess/directedLine.h' line='156' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::deleteSinglePolygon() --> + <function-decl name='deleteSinglePolygon' mangled-name='_ZN12directedLine19deleteSinglePolygonEv' filepath='libnurbs/nurbtess/directedLine.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::deletePolygonList() --> + <function-decl name='deletePolygonList' mangled-name='_ZN12directedLine17deletePolygonListEv' filepath='libnurbs/nurbtess/directedLine.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::deleteSingleLine(directedLine*) --> + <function-decl name='deleteSingleLine' mangled-name='_ZN12directedLine16deleteSingleLineEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::writeAllPolygons(char*) --> + <function-decl name='writeAllPolygons' mangled-name='_ZN12directedLine16writeAllPolygonsEPc' filepath='libnurbs/nurbtess/directedLine.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'char*' --> + <parameter type-id='type-id-107'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::connectDiagonal_2slines(directedLine*, directedLine*, directedLine**, directedLine**, directedLine*) --> + <function-decl name='connectDiagonal_2slines' mangled-name='_ZN12directedLine23connectDiagonal_2slinesEPS_S0_PS0_S1_S0_' filepath='libnurbs/nurbtess/directedLine.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- parameter of type 'directedLine**' --> + <parameter type-id='type-id-303'/> + <!-- parameter of type 'directedLine**' --> + <parameter type-id='type-id-303'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::connectDiagonal(directedLine*, directedLine*, directedLine**, directedLine**, sampledLine**, directedLine*) --> + <function-decl name='connectDiagonal' mangled-name='_ZN12directedLine15connectDiagonalEPS_S0_PS0_S1_PP11sampledLineS0_' filepath='libnurbs/nurbtess/directedLine.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- parameter of type 'directedLine**' --> + <parameter type-id='type-id-303'/> + <!-- parameter of type 'directedLine**' --> + <parameter type-id='type-id-303'/> + <!-- parameter of type 'sampledLine**' --> + <parameter type-id='type-id-304'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine** directedLine::toArrayAllPolygons(Int&) --> + <function-decl name='toArrayAllPolygons' mangled-name='_ZN12directedLine18toArrayAllPolygonsERi' filepath='libnurbs/nurbtess/directedLine.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'Int&' --> + <parameter type-id='type-id-305'/> + <!-- directedLine** --> + <return type-id='type-id-303'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::cutoffPolygon(directedLine*) --> + <function-decl name='cutoffPolygon' mangled-name='_ZN12directedLine13cutoffPolygonEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::printSingle() --> + <function-decl name='printSingle' mangled-name='_ZN12directedLine11printSingleEv' filepath='libnurbs/nurbtess/directedLine.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::printList() --> + <function-decl name='printList' mangled-name='_ZN12directedLine9printListEv' filepath='libnurbs/nurbtess/directedLine.h' line='126' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::printAllPolygons() --> + <function-decl name='printAllPolygons' mangled-name='_ZN12directedLine16printAllPolygonsEv' filepath='libnurbs/nurbtess/directedLine.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine** directedLine::sortAllPolygons() --> + <function-decl name='sortAllPolygons' mangled-name='_ZN12directedLine15sortAllPolygonsEv' filepath='libnurbs/nurbtess/directedLine.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- directedLine** --> + <return type-id='type-id-303'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::deleteSinglePolygonWithSline() --> + <function-decl name='deleteSinglePolygonWithSline' mangled-name='_ZN12directedLine28deleteSinglePolygonWithSlineEv' filepath='libnurbs/nurbtess/directedLine.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::deletePolygonListWithSline() --> + <function-decl name='deletePolygonListWithSline' mangled-name='_ZN12directedLine26deletePolygonListWithSlineEv' filepath='libnurbs/nurbtess/directedLine.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::deleteDegenerateLines() --> + <function-decl name='deleteDegenerateLines' mangled-name='_ZN12directedLine21deleteDegenerateLinesEv' filepath='libnurbs/nurbtess/directedLine.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::deleteDegenerateLinesAllPolygons() --> + <function-decl name='deleteDegenerateLinesAllPolygons' mangled-name='_ZN12directedLine32deleteDegenerateLinesAllPolygonsEv' filepath='libnurbs/nurbtess/directedLine.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::cutIntersectionAllPoly(int&) --> + <function-decl name='cutIntersectionAllPoly' mangled-name='_ZN12directedLine22cutIntersectionAllPolyERi' filepath='libnurbs/nurbtess/directedLine.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'int&' --> + <parameter type-id='type-id-306'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::deleteChain(directedLine*, directedLine*) --> + <function-decl name='deleteChain' mangled-name='_ZN12directedLine11deleteChainEPS_S0_' filepath='libnurbs/nurbtess/directedLine.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::getPrev() --> + <function-decl name='getPrev' mangled-name='_ZN12directedLine7getPrevEv' filepath='libnurbs/nurbtess/directedLine.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* directedLine::getNextPolygon() --> + <function-decl name='getNextPolygon' mangled-name='_ZN12directedLine14getNextPolygonEv' filepath='libnurbs/nurbtess/directedLine.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- sampledLine* directedLine::getSampledLine() --> + <function-decl name='getSampledLine' mangled-name='_ZN12directedLine14getSampledLineEv' filepath='libnurbs/nurbtess/directedLine.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- sampledLine* --> + <return type-id='type-id-301'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- short int directedLine::getDirection() --> + <function-decl name='getDirection' mangled-name='_ZN12directedLine12getDirectionEv' filepath='libnurbs/nurbtess/directedLine.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- short int --> + <return type-id='type-id-299'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::putDirection(short int) --> + <function-decl name='putDirection' mangled-name='_ZN12directedLine12putDirectionEs' filepath='libnurbs/nurbtess/directedLine.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'short int' --> + <parameter type-id='type-id-299'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::putNext(directedLine*) --> + <function-decl name='putNext' mangled-name='_ZN12directedLine7putNextEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void directedLine::putPrev(directedLine*) --> + <function-decl name='putPrev' mangled-name='_ZN12directedLine7putPrevEPS_' filepath='libnurbs/nurbtess/directedLine.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'directedLine*' --> + <parameter type-id='type-id-302' is-artificial='yes'/> + <!-- parameter of type 'directedLine*' --> + <parameter type-id='type-id-302'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + </class-decl> + <!-- class sampledLine --> + <class-decl name='sampledLine' size-in-bits='192' visibility='default' filepath='libnurbs/nurbtess/sampledLine.h' line='38' column='1' id='type-id-307'> + <data-member access='private' layout-offset-in-bits='0'> + <!-- Int sampledLine::npoints --> + <var-decl name='npoints' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/sampledLine.h' line='39' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='64'> + <!-- Real2* sampledLine::points --> + <var-decl name='points' type-id='type-id-251' visibility='default' filepath='libnurbs/nurbtess/sampledLine.h' line='40' column='1'/> + </data-member> + <data-member access='private' layout-offset-in-bits='128'> + <!-- sampledLine* sampledLine::next --> + <var-decl name='next' type-id='type-id-301' visibility='default' filepath='libnurbs/nurbtess/sampledLine.h' line='65' column='1'/> + </data-member> + <member-function access='private' constructor='yes'> + <!-- sampledLine::sampledLine(Int) --> + <function-decl name='sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' constructor='yes'> + <!-- sampledLine::sampledLine(Int, Real[2]*) --> + <function-decl name='sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'Real[2]*' --> + <parameter type-id='type-id-257'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' constructor='yes'> + <!-- sampledLine::sampledLine(Real*, Real*) --> + <function-decl name='sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' constructor='yes'> + <!-- sampledLine::sampledLine() --> + <function-decl name='sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private' destructor='yes'> + <!-- sampledLine::~sampledLine(int) --> + <function-decl name='~sampledLine' filepath='libnurbs/nurbtess/sampledLine.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- artificial parameter of type 'int' --> + <parameter type-id='type-id-8' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int sampledLine::get_npoints() --> + <function-decl name='get_npoints' mangled-name='_ZN11sampledLine11get_npointsEv' filepath='libnurbs/nurbtess/sampledLine.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real2* sampledLine::get_points() --> + <function-decl name='get_points' mangled-name='_ZN11sampledLine10get_pointsEv' filepath='libnurbs/nurbtess/sampledLine.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- Real2* --> + <return type-id='type-id-251'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void sampledLine::setPoint(Int, Real*) --> + <function-decl name='setPoint' mangled-name='_ZN11sampledLine8setPointEiPf' filepath='libnurbs/nurbtess/sampledLine.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'Real*' --> + <parameter type-id='type-id-253'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- sampledLine* sampledLine::insert(sampledLine*) --> + <function-decl name='insert' mangled-name='_ZN11sampledLine6insertEPS_' filepath='libnurbs/nurbtess/sampledLine.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301'/> + <!-- sampledLine* --> + <return type-id='type-id-301'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void sampledLine::init(Int, Real2*) --> + <function-decl name='init' mangled-name='_ZN11sampledLine4initEiPA2_f' filepath='libnurbs/nurbtess/sampledLine.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- parameter of type 'Real2*' --> + <parameter type-id='type-id-251'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void sampledLine::tessellate(Real, Real) --> + <function-decl name='tessellate' mangled-name='_ZN11sampledLine10tessellateEff' filepath='libnurbs/nurbtess/sampledLine.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void sampledLine::tessellateAll(Real, Real) --> + <function-decl name='tessellateAll' mangled-name='_ZN11sampledLine13tessellateAllEff' filepath='libnurbs/nurbtess/sampledLine.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void sampledLine::print() --> + <function-decl name='print' mangled-name='_ZN11sampledLine5printEv' filepath='libnurbs/nurbtess/sampledLine.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void sampledLine::deleteList() --> + <function-decl name='deleteList' mangled-name='_ZN11sampledLine10deleteListEv' filepath='libnurbs/nurbtess/sampledLine.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'sampledLine*' --> + <parameter type-id='type-id-301' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- Int& --> - <qualified-type-def type-id='type-id-381' id='type-id-382'/> - <!-- Int& --> - <reference-type-def kind='lvalue' type-id='type-id-313' size-in-bits='64' id='type-id-381'/> + <reference-type-def kind='lvalue' type-id='type-id-248' size-in-bits='64' id='type-id-305'/> <!-- directedLine* --> - <pointer-type-def type-id='type-id-379' size-in-bits='64' id='type-id-380'/> - <!-- directedLine* const --> - <qualified-type-def type-id='type-id-380' const='yes' id='type-id-383'/> + <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-302'/> <!-- directedLine** --> - <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-384'/> + <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-303'/> <!-- int& --> - <qualified-type-def type-id='type-id-385' id='type-id-386'/> - <!-- int& --> - <reference-type-def kind='lvalue' type-id='type-id-11' size-in-bits='64' id='type-id-385'/> + <reference-type-def kind='lvalue' type-id='type-id-8' size-in-bits='64' id='type-id-306'/> <!-- sampledLine* --> - <pointer-type-def type-id='type-id-377' size-in-bits='64' id='type-id-378'/> - <!-- sampledLine* const --> - <qualified-type-def type-id='type-id-378' const='yes' id='type-id-387'/> + <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-301'/> <!-- sampledLine** --> - <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-388'/> - </abi-instr> - <abi-instr address-size='64' path='libnurbs/nurbtess/gridWrap.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> - <!-- gridBoundaryChain* const --> - <qualified-type-def type-id='type-id-340' const='yes' id='type-id-389'/> + <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-304'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/nurbtess/monoChain.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> <!-- class monoChain --> - <class-decl name='monoChain' size-in-bits='640' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='41' column='1' id='type-id-390'> + <class-decl name='monoChain' size-in-bits='640' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='41' column='1' id='type-id-308'> <data-member access='private' layout-offset-in-bits='0'> <!-- directedLine* monoChain::chainHead --> - <var-decl name='chainHead' type-id='type-id-380' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='42' column='1'/> + <var-decl name='chainHead' type-id='type-id-302' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='42' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='64'> <!-- directedLine* monoChain::chainTail --> - <var-decl name='chainTail' type-id='type-id-380' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='43' column='1'/> + <var-decl name='chainTail' type-id='type-id-302' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='43' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='128'> <!-- monoChain* monoChain::next --> - <var-decl name='next' type-id='type-id-391' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='44' column='1'/> + <var-decl name='next' type-id='type-id-309' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='44' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='192'> <!-- monoChain* monoChain::prev --> - <var-decl name='prev' type-id='type-id-391' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='45' column='1'/> + <var-decl name='prev' type-id='type-id-309' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='45' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='256'> <!-- monoChain* monoChain::nextPolygon --> - <var-decl name='nextPolygon' type-id='type-id-391' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='46' column='1'/> + <var-decl name='nextPolygon' type-id='type-id-309' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='46' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='320'> <!-- Real monoChain::minX --> - <var-decl name='minX' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='50' column='1'/> + <var-decl name='minX' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='352'> <!-- Real monoChain::maxX --> - <var-decl name='maxX' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='50' column='1'/> + <var-decl name='maxX' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='384'> <!-- Real monoChain::minY --> - <var-decl name='minY' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='50' column='1'/> + <var-decl name='minY' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='416'> <!-- Real monoChain::maxY --> - <var-decl name='maxY' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='50' column='1'/> + <var-decl name='maxY' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='50' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='448'> <!-- Int monoChain::isIncrease --> - <var-decl name='isIncrease' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='51' column='1'/> + <var-decl name='isIncrease' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='51' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='512'> <!-- directedLine* monoChain::current --> - <var-decl name='current' type-id='type-id-380' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='55' column='1'/> + <var-decl name='current' type-id='type-id-302' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='55' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='576'> <!-- Int monoChain::isKey --> - <var-decl name='isKey' type-id='type-id-313' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='82' column='1'/> + <var-decl name='isKey' type-id='type-id-248' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='82' column='1'/> </data-member> <data-member access='private' layout-offset-in-bits='608'> <!-- Real monoChain::keyY --> - <var-decl name='keyY' type-id='type-id-311' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='83' column='1'/> + <var-decl name='keyY' type-id='type-id-246' visibility='default' filepath='libnurbs/nurbtess/monoChain.h' line='83' column='1'/> </data-member> <member-function access='private' constructor='yes'> <!-- monoChain::monoChain(directedLine*, directedLine*) --> <function-decl name='monoChain' filepath='libnurbs/nurbtess/monoChain.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'monoChain*' --> - <parameter type-id='type-id-391' is-artificial='yes'/> + <parameter type-id='type-id-309' is-artificial='yes'/> <!-- parameter of type 'directedLine*' --> - <parameter type-id='type-id-380'/> + <parameter type-id='type-id-302'/> <!-- parameter of type 'directedLine*' --> - <parameter type-id='type-id-380'/> + <parameter type-id='type-id-302'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> </member-function> <member-function access='private' destructor='yes'> <!-- monoChain::~monoChain(int) --> <function-decl name='~monoChain' filepath='libnurbs/nurbtess/monoChain.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> <!-- implicit parameter of type 'monoChain*' --> - <parameter type-id='type-id-391' is-artificial='yes'/> + <parameter type-id='type-id-309' is-artificial='yes'/> <!-- artificial parameter of type 'int' --> - <parameter type-id='type-id-11' is-artificial='yes'/> + <parameter type-id='type-id-8' is-artificial='yes'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int monoChain::numChainsSingleLoop() --> + <function-decl name='numChainsSingleLoop' mangled-name='_ZN9monoChain19numChainsSingleLoopEv' filepath='libnurbs/nurbtess/monoChain.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int monoChain::numChainsAllLoops() --> + <function-decl name='numChainsAllLoops' mangled-name='_ZN9monoChain17numChainsAllLoopsEv' filepath='libnurbs/nurbtess/monoChain.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Int monoChain::toArraySingleLoop(monoChain**, Int) --> + <function-decl name='toArraySingleLoop' mangled-name='_ZN9monoChain17toArraySingleLoopEPPS_i' filepath='libnurbs/nurbtess/monoChain.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- parameter of type 'monoChain**' --> + <parameter type-id='type-id-310'/> + <!-- parameter of type 'typedef Int' --> + <parameter type-id='type-id-248'/> + <!-- typedef Int --> + <return type-id='type-id-248'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* monoChain::getHead() --> + <function-decl name='getHead' mangled-name='_ZN9monoChain7getHeadEv' filepath='libnurbs/nurbtess/monoChain.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void monoChain::resetCurrent() --> + <function-decl name='resetCurrent' mangled-name='_ZN9monoChain12resetCurrentEv' filepath='libnurbs/nurbtess/monoChain.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- monoChain* monoChain::getPrev() --> + <function-decl name='getPrev' mangled-name='_ZN9monoChain7getPrevEv' filepath='libnurbs/nurbtess/monoChain.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- monoChain* --> + <return type-id='type-id-309'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void monoChain::insert(monoChain*) --> + <function-decl name='insert' mangled-name='_ZN9monoChain6insertEPS_' filepath='libnurbs/nurbtess/monoChain.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- parameter of type 'monoChain*' --> + <parameter type-id='type-id-309'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void monoChain::setNextPolygon(monoChain*) --> + <function-decl name='setNextPolygon' mangled-name='_ZN9monoChain14setNextPolygonEPS_' filepath='libnurbs/nurbtess/monoChain.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- parameter of type 'monoChain*' --> + <parameter type-id='type-id-309'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- monoChain** monoChain::toArrayAllLoops(Int&) --> + <function-decl name='toArrayAllLoops' mangled-name='_ZN9monoChain15toArrayAllLoopsERi' filepath='libnurbs/nurbtess/monoChain.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- parameter of type 'Int&' --> + <parameter type-id='type-id-305'/> + <!-- monoChain** --> + <return type-id='type-id-310'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- directedLine* monoChain::find(Real) --> + <function-decl name='find' mangled-name='_ZN9monoChain4findEf' filepath='libnurbs/nurbtess/monoChain.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- directedLine* --> + <return type-id='type-id-302'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- Real monoChain::chainIntersectHoriz(Real) --> + <function-decl name='chainIntersectHoriz' mangled-name='_ZN9monoChain19chainIntersectHorizEf' filepath='libnurbs/nurbtess/monoChain.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- parameter of type 'typedef Real' --> + <parameter type-id='type-id-246'/> + <!-- typedef Real --> + <return type-id='type-id-246'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void monoChain::printOneChain() --> + <function-decl name='printOneChain' mangled-name='_ZN9monoChain13printOneChainEv' filepath='libnurbs/nurbtess/monoChain.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void monoChain::printChainLoop() --> + <function-decl name='printChainLoop' mangled-name='_ZN9monoChain14printChainLoopEv' filepath='libnurbs/nurbtess/monoChain.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void monoChain::printAllLoops() --> + <function-decl name='printAllLoops' mangled-name='_ZN9monoChain13printAllLoopsEv' filepath='libnurbs/nurbtess/monoChain.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void monoChain::deleteLoop() --> + <function-decl name='deleteLoop' mangled-name='_ZN9monoChain10deleteLoopEv' filepath='libnurbs/nurbtess/monoChain.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + </member-function> + <member-function access='private'> + <!-- void monoChain::deleteLoopList() --> + <function-decl name='deleteLoopList' mangled-name='_ZN9monoChain14deleteLoopListEv' filepath='libnurbs/nurbtess/monoChain.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'> + <!-- implicit parameter of type 'monoChain*' --> + <parameter type-id='type-id-309' is-artificial='yes'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> </member-function> </class-decl> <!-- monoChain* --> - <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-391'/> - <!-- monoChain* const --> - <qualified-type-def type-id='type-id-391' const='yes' id='type-id-392'/> + <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-309'/> <!-- monoChain** --> - <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-393'/> + <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-310'/> </abi-instr> <abi-instr address-size='64' path='libnurbs/nurbtess/monoTriangulation.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'> </abi-instr> @@ -9480,165 +14039,508 @@ </abi-instr> <abi-instr address-size='64' path='libtess/tess.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C99'> <!-- CachedVertex[100] --> - <array-type-def dimensions='1' type-id='type-id-394' size-in-bits='25600' id='type-id-395'> + <array-type-def dimensions='1' type-id='type-id-311' size-in-bits='25600' id='type-id-312'> <!-- <anonymous range>[100] --> - <subrange length='100' type-id='type-id-3' id='type-id-396'/> + <subrange length='100' type-id='type-id-3' id='type-id-313'/> </array-type-def> <!-- GLdouble[3] --> - <array-type-def dimensions='1' type-id='type-id-397' size-in-bits='192' id='type-id-398'> + <array-type-def dimensions='1' type-id='type-id-314' size-in-bits='192' id='type-id-315'> <!-- <anonymous range>[3] --> - <subrange length='3' type-id='type-id-3' id='type-id-68'/> + <subrange length='3' type-id='type-id-3' id='type-id-90'/> </array-type-def> <!-- __jmp_buf_tag[1] --> - <array-type-def dimensions='1' type-id='type-id-191' size-in-bits='1600' id='type-id-187'> + <array-type-def dimensions='1' type-id='type-id-316' size-in-bits='1600' id='type-id-317'> <!-- <anonymous range>[1] --> - <subrange length='1' type-id='type-id-3' id='type-id-192'/> + <subrange length='1' type-id='type-id-3' id='type-id-318'/> </array-type-def> <!-- float --> - <type-decl name='float' size-in-bits='32' id='type-id-28'/> + <type-decl name='float' size-in-bits='32' id='type-id-15'/> <!-- long int --> - <type-decl name='long int' size-in-bits='64' id='type-id-15'/> + <type-decl name='long int' size-in-bits='64' id='type-id-38'/> <!-- long int[8] --> - <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='512' id='type-id-222'> + <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='512' id='type-id-319'> <!-- <anonymous range>[8] --> - <subrange length='8' type-id='type-id-3' id='type-id-225'/> + <subrange length='8' type-id='type-id-3' id='type-id-320'/> </array-type-def> <!-- unnamed-enum-underlying-type-32 --> - <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-9'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-12'/> <!-- unsigned long int --> <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/> <!-- unsigned long int[16] --> - <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-224'> + <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-321'> <!-- <anonymous range>[16] --> - <subrange length='16' type-id='type-id-3' id='type-id-227'/> + <subrange length='16' type-id='type-id-3' id='type-id-322'/> </array-type-def> + <!-- typedef float GLfloat --> + <typedef-decl name='GLfloat' type-id='type-id-15' filepath='../../../include/GL/gl.h' line='160' column='1' id='type-id-23'/> <!-- typedef GLUtesselator GLUtesselator --> - <typedef-decl name='GLUtesselator' type-id='type-id-399' filepath='../../../include/GL/glu.h' line='276' column='1' id='type-id-400'/> + <typedef-decl name='GLUtesselator' type-id='type-id-323' filepath='../../../include/GL/glu.h' line='276' column='1' id='type-id-324'/> + <!-- typedef long int[8] __jmp_buf --> + <typedef-decl name='__jmp_buf' type-id='type-id-319' filepath='/usr/include/bits/setjmp.h' line='32' column='1' id='type-id-325'/> + <!-- struct __sigset_t --> + <class-decl name='__sigset_t' size-in-bits='1024' is-struct='yes' naming-typedef-id='type-id-326' visibility='default' filepath='/usr/include/bits/sigset.h' line='30' column='1' id='type-id-327'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- unsigned long int __sigset_t::__val[16] --> + <var-decl name='__val' type-id='type-id-321' visibility='default' filepath='/usr/include/bits/sigset.h' line='31' column='1'/> + </data-member> + </class-decl> + <!-- typedef __sigset_t __sigset_t --> + <typedef-decl name='__sigset_t' type-id='type-id-327' filepath='/usr/include/bits/sigset.h' line='32' column='1' id='type-id-326'/> + <!-- struct __jmp_buf_tag --> + <class-decl name='__jmp_buf_tag' size-in-bits='1600' is-struct='yes' visibility='default' filepath='/usr/include/setjmp.h' line='36' column='1' id='type-id-316'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- __jmp_buf __jmp_buf_tag::__jmpbuf --> + <var-decl name='__jmpbuf' type-id='type-id-325' visibility='default' filepath='/usr/include/setjmp.h' line='41' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <!-- int __jmp_buf_tag::__mask_was_saved --> + <var-decl name='__mask_was_saved' type-id='type-id-8' visibility='default' filepath='/usr/include/setjmp.h' line='42' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <!-- __sigset_t __jmp_buf_tag::__saved_mask --> + <var-decl name='__saved_mask' type-id='type-id-326' visibility='default' filepath='/usr/include/setjmp.h' line='43' column='1'/> + </data-member> + </class-decl> + <!-- typedef __jmp_buf_tag[1] jmp_buf --> + <typedef-decl name='jmp_buf' type-id='type-id-317' filepath='/usr/include/setjmp.h' line='49' column='1' id='type-id-156'/> + <!-- typedef void* DictListKey --> + <typedef-decl name='DictListKey' type-id='type-id-35' filepath='libtess/dict.h' line='60' column='1' id='type-id-328'/> + <!-- typedef DictList DictList --> + <typedef-decl name='DictList' type-id='type-id-329' filepath='libtess/dict.h' line='61' column='1' id='type-id-330'/> + <!-- typedef DictListNode DictListNode --> + <typedef-decl name='DictListNode' type-id='type-id-331' filepath='libtess/dict.h' line='62' column='1' id='type-id-332'/> + <!-- struct DictListNode --> + <class-decl name='DictListNode' size-in-bits='192' is-struct='yes' visibility='default' filepath='libtess/dict.h' line='88' column='1' id='type-id-331'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- DictListKey DictListNode::key --> + <var-decl name='key' type-id='type-id-328' visibility='default' filepath='libtess/dict.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- DictListNode* DictListNode::next --> + <var-decl name='next' type-id='type-id-333' visibility='default' filepath='libtess/dict.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- DictListNode* DictListNode::prev --> + <var-decl name='prev' type-id='type-id-333' visibility='default' filepath='libtess/dict.h' line='91' column='1'/> + </data-member> + </class-decl> + <!-- struct DictList --> + <class-decl name='DictList' size-in-bits='320' is-struct='yes' visibility='default' filepath='libtess/dict.h' line='94' column='1' id='type-id-329'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- DictListNode DictList::head --> + <var-decl name='head' type-id='type-id-332' visibility='default' filepath='libtess/dict.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- void* DictList::frame --> + <var-decl name='frame' type-id='type-id-35' visibility='default' filepath='libtess/dict.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- int (void*, typedef DictListKey, typedef DictListKey)* DictList::leq --> + <var-decl name='leq' type-id='type-id-334' visibility='default' filepath='libtess/dict.h' line='97' column='1'/> + </data-member> + </class-decl> + <!-- typedef GLUmesh GLUmesh --> + <typedef-decl name='GLUmesh' type-id='type-id-335' filepath='libtess/mesh.h' line='40' column='1' id='type-id-336'/> + <!-- typedef GLUvertex GLUvertex --> + <typedef-decl name='GLUvertex' type-id='type-id-337' filepath='libtess/mesh.h' line='42' column='1' id='type-id-338'/> + <!-- typedef GLUface GLUface --> + <typedef-decl name='GLUface' type-id='type-id-339' filepath='libtess/mesh.h' line='43' column='1' id='type-id-340'/> + <!-- typedef GLUhalfEdge GLUhalfEdge --> + <typedef-decl name='GLUhalfEdge' type-id='type-id-341' filepath='libtess/mesh.h' line='44' column='1' id='type-id-342'/> + <!-- typedef ActiveRegion ActiveRegion --> + <typedef-decl name='ActiveRegion' type-id='type-id-343' filepath='libtess/mesh.h' line='46' column='1' id='type-id-344'/> + <!-- struct GLUvertex --> + <class-decl name='GLUvertex' size-in-bits='640' is-struct='yes' visibility='default' filepath='libtess/mesh.h' line='114' column='1' id='type-id-337'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- GLUvertex* GLUvertex::next --> + <var-decl name='next' type-id='type-id-345' visibility='default' filepath='libtess/mesh.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- GLUvertex* GLUvertex::prev --> + <var-decl name='prev' type-id='type-id-345' visibility='default' filepath='libtess/mesh.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- GLUhalfEdge* GLUvertex::anEdge --> + <var-decl name='anEdge' type-id='type-id-346' visibility='default' filepath='libtess/mesh.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- void* GLUvertex::data --> + <var-decl name='data' type-id='type-id-35' visibility='default' filepath='libtess/mesh.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- GLdouble GLUvertex::coords[3] --> + <var-decl name='coords' type-id='type-id-315' visibility='default' filepath='libtess/mesh.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <!-- GLdouble GLUvertex::s --> + <var-decl name='s' type-id='type-id-314' visibility='default' filepath='libtess/mesh.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <!-- GLdouble GLUvertex::t --> + <var-decl name='t' type-id='type-id-314' visibility='default' filepath='libtess/mesh.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <!-- long int GLUvertex::pqHandle --> + <var-decl name='pqHandle' type-id='type-id-38' visibility='default' filepath='libtess/mesh.h' line='123' column='1'/> + </data-member> + </class-decl> + <!-- struct GLUface --> + <class-decl name='GLUface' size-in-bits='384' is-struct='yes' visibility='default' filepath='libtess/mesh.h' line='126' column='1' id='type-id-339'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- GLUface* GLUface::next --> + <var-decl name='next' type-id='type-id-347' visibility='default' filepath='libtess/mesh.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- GLUface* GLUface::prev --> + <var-decl name='prev' type-id='type-id-347' visibility='default' filepath='libtess/mesh.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- GLUhalfEdge* GLUface::anEdge --> + <var-decl name='anEdge' type-id='type-id-346' visibility='default' filepath='libtess/mesh.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- void* GLUface::data --> + <var-decl name='data' type-id='type-id-35' visibility='default' filepath='libtess/mesh.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- GLUface* GLUface::trail --> + <var-decl name='trail' type-id='type-id-347' visibility='default' filepath='libtess/mesh.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- GLboolean GLUface::marked --> + <var-decl name='marked' type-id='type-id-42' visibility='default' filepath='libtess/mesh.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='328'> + <!-- GLboolean GLUface::inside --> + <var-decl name='inside' type-id='type-id-42' visibility='default' filepath='libtess/mesh.h' line='135' column='1'/> + </data-member> + </class-decl> + <!-- struct GLUhalfEdge --> + <class-decl name='GLUhalfEdge' size-in-bits='512' is-struct='yes' visibility='default' filepath='libtess/mesh.h' line='138' column='1' id='type-id-341'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- GLUhalfEdge* GLUhalfEdge::next --> + <var-decl name='next' type-id='type-id-346' visibility='default' filepath='libtess/mesh.h' line='139' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- GLUhalfEdge* GLUhalfEdge::Sym --> + <var-decl name='Sym' type-id='type-id-346' visibility='default' filepath='libtess/mesh.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- GLUhalfEdge* GLUhalfEdge::Onext --> + <var-decl name='Onext' type-id='type-id-346' visibility='default' filepath='libtess/mesh.h' line='141' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- GLUhalfEdge* GLUhalfEdge::Lnext --> + <var-decl name='Lnext' type-id='type-id-346' visibility='default' filepath='libtess/mesh.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- GLUvertex* GLUhalfEdge::Org --> + <var-decl name='Org' type-id='type-id-345' visibility='default' filepath='libtess/mesh.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- GLUface* GLUhalfEdge::Lface --> + <var-decl name='Lface' type-id='type-id-347' visibility='default' filepath='libtess/mesh.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- ActiveRegion* GLUhalfEdge::activeRegion --> + <var-decl name='activeRegion' type-id='type-id-348' visibility='default' filepath='libtess/mesh.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <!-- int GLUhalfEdge::winding --> + <var-decl name='winding' type-id='type-id-8' visibility='default' filepath='libtess/mesh.h' line='148' column='1'/> + </data-member> + </class-decl> + <!-- struct GLUmesh --> + <class-decl name='GLUmesh' size-in-bits='2048' is-struct='yes' visibility='default' filepath='libtess/mesh.h' line='163' column='1' id='type-id-335'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- GLUvertex GLUmesh::vHead --> + <var-decl name='vHead' type-id='type-id-338' visibility='default' filepath='libtess/mesh.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <!-- GLUface GLUmesh::fHead --> + <var-decl name='fHead' type-id='type-id-340' visibility='default' filepath='libtess/mesh.h' line='165' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <!-- GLUhalfEdge GLUmesh::eHead --> + <var-decl name='eHead' type-id='type-id-342' visibility='default' filepath='libtess/mesh.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <!-- GLUhalfEdge GLUmesh::eHeadSym --> + <var-decl name='eHeadSym' type-id='type-id-342' visibility='default' filepath='libtess/mesh.h' line='167' column='1'/> + </data-member> + </class-decl> + <!-- typedef void* PQHeapKey --> + <typedef-decl name='PQHeapKey' type-id='type-id-35' filepath='libtess/priorityq-heap.h' line='79' column='1' id='type-id-349'/> + <!-- typedef long int PQHeapHandle --> + <typedef-decl name='PQHeapHandle' type-id='type-id-38' filepath='libtess/priorityq-heap.h' line='80' column='1' id='type-id-350'/> + <!-- typedef PriorityQHeap PriorityQHeap --> + <typedef-decl name='PriorityQHeap' type-id='type-id-351' filepath='libtess/priorityq-heap.h' line='81' column='1' id='type-id-352'/> + <!-- struct PQnode --> + <class-decl name='PQnode' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-353' visibility='default' filepath='libtess/priorityq-heap.h' line='83' column='1' id='type-id-354'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- PQHeapHandle PQnode::handle --> + <var-decl name='handle' type-id='type-id-350' visibility='default' filepath='libtess/priorityq-heap.h' line='83' column='1'/> + </data-member> + </class-decl> + <!-- typedef PQnode PQnode --> + <typedef-decl name='PQnode' type-id='type-id-354' filepath='libtess/priorityq-heap.h' line='83' column='1' id='type-id-353'/> + <!-- struct PQhandleElem --> + <class-decl name='PQhandleElem' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-355' visibility='default' filepath='libtess/priorityq-heap.h' line='84' column='1' id='type-id-356'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- PQHeapKey PQhandleElem::key --> + <var-decl name='key' type-id='type-id-349' visibility='default' filepath='libtess/priorityq-heap.h' line='84' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- PQHeapHandle PQhandleElem::node --> + <var-decl name='node' type-id='type-id-350' visibility='default' filepath='libtess/priorityq-heap.h' line='84' column='1'/> + </data-member> + </class-decl> + <!-- typedef PQhandleElem PQhandleElem --> + <typedef-decl name='PQhandleElem' type-id='type-id-356' filepath='libtess/priorityq-heap.h' line='84' column='1' id='type-id-355'/> + <!-- struct PriorityQHeap --> + <class-decl name='PriorityQHeap' size-in-bits='448' is-struct='yes' visibility='default' filepath='libtess/priorityq-heap.h' line='86' column='1' id='type-id-351'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- PQnode* PriorityQHeap::nodes --> + <var-decl name='nodes' type-id='type-id-357' visibility='default' filepath='libtess/priorityq-heap.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- PQhandleElem* PriorityQHeap::handles --> + <var-decl name='handles' type-id='type-id-358' visibility='default' filepath='libtess/priorityq-heap.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- long int PriorityQHeap::size --> + <var-decl name='size' type-id='type-id-38' visibility='default' filepath='libtess/priorityq-heap.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- long int PriorityQHeap::max --> + <var-decl name='max' type-id='type-id-38' visibility='default' filepath='libtess/priorityq-heap.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- PQHeapHandle PriorityQHeap::freeList --> + <var-decl name='freeList' type-id='type-id-350' visibility='default' filepath='libtess/priorityq-heap.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- int PriorityQHeap::initialized --> + <var-decl name='initialized' type-id='type-id-8' visibility='default' filepath='libtess/priorityq-heap.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- int (typedef PQHeapKey, typedef PQHeapKey)* PriorityQHeap::leq --> + <var-decl name='leq' type-id='type-id-359' visibility='default' filepath='libtess/priorityq-heap.h' line='92' column='1'/> + </data-member> + </class-decl> + <!-- typedef PQHeapKey PQSortKey --> + <typedef-decl name='PQSortKey' type-id='type-id-349' filepath='libtess/priorityq.h' line='93' column='1' id='type-id-360'/> + <!-- typedef PQHeapHandle PQSortHandle --> + <typedef-decl name='PQSortHandle' type-id='type-id-350' filepath='libtess/priorityq.h' line='94' column='1' id='type-id-361'/> + <!-- typedef PriorityQSort PriorityQSort --> + <typedef-decl name='PriorityQSort' type-id='type-id-362' filepath='libtess/priorityq.h' line='95' column='1' id='type-id-363'/> + <!-- struct PriorityQSort --> + <class-decl name='PriorityQSort' size-in-bits='448' is-struct='yes' visibility='default' filepath='libtess/priorityq.h' line='97' column='1' id='type-id-362'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- PriorityQHeap* PriorityQSort::heap --> + <var-decl name='heap' type-id='type-id-364' visibility='default' filepath='libtess/priorityq.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- PQSortKey* PriorityQSort::keys --> + <var-decl name='keys' type-id='type-id-365' visibility='default' filepath='libtess/priorityq.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- PQSortKey** PriorityQSort::order --> + <var-decl name='order' type-id='type-id-366' visibility='default' filepath='libtess/priorityq.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- PQSortHandle PriorityQSort::size --> + <var-decl name='size' type-id='type-id-361' visibility='default' filepath='libtess/priorityq.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <!-- PQSortHandle PriorityQSort::max --> + <var-decl name='max' type-id='type-id-361' visibility='default' filepath='libtess/priorityq.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <!-- int PriorityQSort::initialized --> + <var-decl name='initialized' type-id='type-id-8' visibility='default' filepath='libtess/priorityq.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <!-- int (typedef PQSortKey, typedef PQSortKey)* PriorityQSort::leq --> + <var-decl name='leq' type-id='type-id-367' visibility='default' filepath='libtess/priorityq.h' line='103' column='1'/> + </data-member> + </class-decl> + <!-- struct ActiveRegion --> + <class-decl name='ActiveRegion' size-in-bits='192' is-struct='yes' visibility='default' filepath='libtess/sweep.h' line='59' column='1' id='type-id-343'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- GLUhalfEdge* ActiveRegion::eUp --> + <var-decl name='eUp' type-id='type-id-346' visibility='default' filepath='libtess/sweep.h' line='60' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <!-- DictListNode* ActiveRegion::nodeUp --> + <var-decl name='nodeUp' type-id='type-id-333' visibility='default' filepath='libtess/sweep.h' line='61' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <!-- int ActiveRegion::windingNumber --> + <var-decl name='windingNumber' type-id='type-id-8' visibility='default' filepath='libtess/sweep.h' line='62' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <!-- GLboolean ActiveRegion::inside --> + <var-decl name='inside' type-id='type-id-42' visibility='default' filepath='libtess/sweep.h' line='64' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='168'> + <!-- GLboolean ActiveRegion::sentinel --> + <var-decl name='sentinel' type-id='type-id-42' visibility='default' filepath='libtess/sweep.h' line='65' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='176'> + <!-- GLboolean ActiveRegion::dirty --> + <var-decl name='dirty' type-id='type-id-42' visibility='default' filepath='libtess/sweep.h' line='66' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='184'> + <!-- GLboolean ActiveRegion::fixUpperEdge --> + <var-decl name='fixUpperEdge' type-id='type-id-42' visibility='default' filepath='libtess/sweep.h' line='69' column='1'/> + </data-member> + </class-decl> + <!-- enum TessState --> + <enum-decl name='TessState' filepath='libtess/tess.h' line='47' column='1' id='type-id-368'> + <underlying-type type-id='type-id-12'/> + <enumerator name='T_DORMANT' value='0'/> + <enumerator name='T_IN_POLYGON' value='1'/> + <enumerator name='T_IN_CONTOUR' value='2'/> + </enum-decl> + <!-- struct CachedVertex --> + <class-decl name='CachedVertex' size-in-bits='256' is-struct='yes' visibility='default' filepath='libtess/tess.h' line='54' column='1' id='type-id-369'> + <data-member access='public' layout-offset-in-bits='0'> + <!-- GLdouble CachedVertex::coords[3] --> + <var-decl name='coords' type-id='type-id-315' visibility='default' filepath='libtess/tess.h' line='55' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <!-- void* CachedVertex::data --> + <var-decl name='data' type-id='type-id-35' visibility='default' filepath='libtess/tess.h' line='56' column='1'/> + </data-member> + </class-decl> + <!-- typedef CachedVertex CachedVertex --> + <typedef-decl name='CachedVertex' type-id='type-id-369' filepath='libtess/tess.h' line='57' column='1' id='type-id-311'/> <!-- struct GLUtesselator --> - <class-decl name='GLUtesselator' size-in-bits='29376' is-struct='yes' visibility='default' filepath='libtess/tess.h' line='59' column='1' id='type-id-399'> + <class-decl name='GLUtesselator' size-in-bits='29376' is-struct='yes' visibility='default' filepath='libtess/tess.h' line='59' column='1' id='type-id-323'> <data-member access='public' layout-offset-in-bits='0'> <!-- TessState GLUtesselator::state --> - <var-decl name='state' type-id='type-id-401' visibility='default' filepath='libtess/tess.h' line='63' column='1'/> + <var-decl name='state' type-id='type-id-368' visibility='default' filepath='libtess/tess.h' line='63' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='64'> <!-- GLUhalfEdge* GLUtesselator::lastEdge --> - <var-decl name='lastEdge' type-id='type-id-402' visibility='default' filepath='libtess/tess.h' line='65' column='1'/> + <var-decl name='lastEdge' type-id='type-id-346' visibility='default' filepath='libtess/tess.h' line='65' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='128'> <!-- GLUmesh* GLUtesselator::mesh --> - <var-decl name='mesh' type-id='type-id-403' visibility='default' filepath='libtess/tess.h' line='66' column='1'/> + <var-decl name='mesh' type-id='type-id-370' visibility='default' filepath='libtess/tess.h' line='66' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='192'> <!-- void (typedef GLenum)* GLUtesselator::callError --> - <var-decl name='callError' type-id='type-id-19' visibility='default' filepath='libtess/tess.h' line='69' column='1'/> + <var-decl name='callError' type-id='type-id-31' visibility='default' filepath='libtess/tess.h' line='69' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='256'> <!-- GLdouble GLUtesselator::normal[3] --> - <var-decl name='normal' type-id='type-id-398' visibility='default' filepath='libtess/tess.h' line='73' column='1'/> + <var-decl name='normal' type-id='type-id-315' visibility='default' filepath='libtess/tess.h' line='73' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='448'> <!-- GLdouble GLUtesselator::sUnit[3] --> - <var-decl name='sUnit' type-id='type-id-398' visibility='default' filepath='libtess/tess.h' line='74' column='1'/> + <var-decl name='sUnit' type-id='type-id-315' visibility='default' filepath='libtess/tess.h' line='74' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='640'> <!-- GLdouble GLUtesselator::tUnit[3] --> - <var-decl name='tUnit' type-id='type-id-398' visibility='default' filepath='libtess/tess.h' line='75' column='1'/> + <var-decl name='tUnit' type-id='type-id-315' visibility='default' filepath='libtess/tess.h' line='75' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='832'> <!-- GLdouble GLUtesselator::relTolerance --> - <var-decl name='relTolerance' type-id='type-id-397' visibility='default' filepath='libtess/tess.h' line='79' column='1'/> + <var-decl name='relTolerance' type-id='type-id-314' visibility='default' filepath='libtess/tess.h' line='79' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='896'> <!-- GLenum GLUtesselator::windingRule --> - <var-decl name='windingRule' type-id='type-id-59' visibility='default' filepath='libtess/tess.h' line='80' column='1'/> + <var-decl name='windingRule' type-id='type-id-36' visibility='default' filepath='libtess/tess.h' line='80' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='928'> <!-- GLboolean GLUtesselator::fatalError --> - <var-decl name='fatalError' type-id='type-id-45' visibility='default' filepath='libtess/tess.h' line='81' column='1'/> + <var-decl name='fatalError' type-id='type-id-42' visibility='default' filepath='libtess/tess.h' line='81' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='960'> <!-- DictList* GLUtesselator::dict --> - <var-decl name='dict' type-id='type-id-404' visibility='default' filepath='libtess/tess.h' line='83' column='1'/> + <var-decl name='dict' type-id='type-id-371' visibility='default' filepath='libtess/tess.h' line='83' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1024'> <!-- PriorityQSort* GLUtesselator::pq --> - <var-decl name='pq' type-id='type-id-405' visibility='default' filepath='libtess/tess.h' line='84' column='1'/> + <var-decl name='pq' type-id='type-id-372' visibility='default' filepath='libtess/tess.h' line='84' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1088'> <!-- GLUvertex* GLUtesselator::event --> - <var-decl name='event' type-id='type-id-406' visibility='default' filepath='libtess/tess.h' line='85' column='1'/> + <var-decl name='event' type-id='type-id-345' visibility='default' filepath='libtess/tess.h' line='85' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1152'> <!-- void (GLdouble*, void**, GLfloat*, void**)* GLUtesselator::callCombine --> - <var-decl name='callCombine' type-id='type-id-407' visibility='default' filepath='libtess/tess.h' line='87' column='1'/> + <var-decl name='callCombine' type-id='type-id-373' visibility='default' filepath='libtess/tess.h' line='87' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1216'> <!-- GLboolean GLUtesselator::flagBoundary --> - <var-decl name='flagBoundary' type-id='type-id-45' visibility='default' filepath='libtess/tess.h' line='92' column='1'/> + <var-decl name='flagBoundary' type-id='type-id-42' visibility='default' filepath='libtess/tess.h' line='92' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1224'> <!-- GLboolean GLUtesselator::boundaryOnly --> - <var-decl name='boundaryOnly' type-id='type-id-45' visibility='default' filepath='libtess/tess.h' line='93' column='1'/> + <var-decl name='boundaryOnly' type-id='type-id-42' visibility='default' filepath='libtess/tess.h' line='93' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1280'> <!-- GLUface* GLUtesselator::lonelyTriList --> - <var-decl name='lonelyTriList' type-id='type-id-408' visibility='default' filepath='libtess/tess.h' line='94' column='1'/> + <var-decl name='lonelyTriList' type-id='type-id-347' visibility='default' filepath='libtess/tess.h' line='94' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1344'> <!-- void (typedef GLenum)* GLUtesselator::callBegin --> - <var-decl name='callBegin' type-id='type-id-19' visibility='default' filepath='libtess/tess.h' line='97' column='1'/> + <var-decl name='callBegin' type-id='type-id-31' visibility='default' filepath='libtess/tess.h' line='97' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1408'> <!-- void (typedef GLboolean)* GLUtesselator::callEdgeFlag --> - <var-decl name='callEdgeFlag' type-id='type-id-409' visibility='default' filepath='libtess/tess.h' line='98' column='1'/> + <var-decl name='callEdgeFlag' type-id='type-id-374' visibility='default' filepath='libtess/tess.h' line='98' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1472'> <!-- void (void*)* GLUtesselator::callVertex --> - <var-decl name='callVertex' type-id='type-id-23' visibility='default' filepath='libtess/tess.h' line='99' column='1'/> + <var-decl name='callVertex' type-id='type-id-34' visibility='default' filepath='libtess/tess.h' line='99' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1536'> <!-- void ()* GLUtesselator::callEnd --> - <var-decl name='callEnd' type-id='type-id-20' visibility='default' filepath='libtess/tess.h' line='100' column='1'/> + <var-decl name='callEnd' type-id='type-id-32' visibility='default' filepath='libtess/tess.h' line='100' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1600'> <!-- void (GLUmesh*)* GLUtesselator::callMesh --> - <var-decl name='callMesh' type-id='type-id-410' visibility='default' filepath='libtess/tess.h' line='101' column='1'/> + <var-decl name='callMesh' type-id='type-id-375' visibility='default' filepath='libtess/tess.h' line='101' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1664'> <!-- GLboolean GLUtesselator::emptyCache --> - <var-decl name='emptyCache' type-id='type-id-45' visibility='default' filepath='libtess/tess.h' line='106' column='1'/> + <var-decl name='emptyCache' type-id='type-id-42' visibility='default' filepath='libtess/tess.h' line='106' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1696'> <!-- int GLUtesselator::cacheCount --> - <var-decl name='cacheCount' type-id='type-id-11' visibility='default' filepath='libtess/tess.h' line='107' column='1'/> + <var-decl name='cacheCount' type-id='type-id-8' visibility='default' filepath='libtess/tess.h' line='107' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='1728'> <!-- CachedVertex GLUtesselator::cache[100] --> - <var-decl name='cache' type-id='type-id-395' visibility='default' filepath='libtess/tess.h' line='108' column='1'/> + <var-decl name='cache' type-id='type-id-312' visibility='default' filepath='libtess/tess.h' line='108' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='27328'> <!-- void (typedef GLenum, void*)* GLUtesselator::callBeginData --> - <var-decl name='callBeginData' type-id='type-id-22' visibility='default' filepath='libtess/tess.h' line='111' column='1'/> + <var-decl name='callBeginData' type-id='type-id-33' visibility='default' filepath='libtess/tess.h' line='111' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='27392'> <!-- void (typedef GLboolean, void*)* GLUtesselator::callEdgeFlagData --> - <var-decl name='callEdgeFlagData' type-id='type-id-411' visibility='default' filepath='libtess/tess.h' line='112' column='1'/> + <var-decl name='callEdgeFlagData' type-id='type-id-376' visibility='default' filepath='libtess/tess.h' line='112' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='27456'> <!-- void (void*, void*)* GLUtesselator::callVertexData --> - <var-decl name='callVertexData' type-id='type-id-412' visibility='default' filepath='libtess/tess.h' line='114' column='1'/> + <var-decl name='callVertexData' type-id='type-id-377' visibility='default' filepath='libtess/tess.h' line='114' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='27520'> <!-- void (void*)* GLUtesselator::callEndData --> - <var-decl name='callEndData' type-id='type-id-23' visibility='default' filepath='libtess/tess.h' line='115' column='1'/> + <var-decl name='callEndData' type-id='type-id-34' visibility='default' filepath='libtess/tess.h' line='115' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='27584'> <!-- void (typedef GLenum, void*)* GLUtesselator::callErrorData --> - <var-decl name='callErrorData' type-id='type-id-22' visibility='default' filepath='libtess/tess.h' line='116' column='1'/> + <var-decl name='callErrorData' type-id='type-id-33' visibility='default' filepath='libtess/tess.h' line='116' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='27648'> <!-- void (GLdouble*, void**, GLfloat*, void**, void*)* GLUtesselator::callCombineData --> - <var-decl name='callCombineData' type-id='type-id-413' visibility='default' filepath='libtess/tess.h' line='117' column='1'/> + <var-decl name='callCombineData' type-id='type-id-378' visibility='default' filepath='libtess/tess.h' line='117' column='1'/> </data-member> <data-member access='public' layout-offset-in-bits='27712'> <!-- jmp_buf GLUtesselator::env --> @@ -9646,1186 +14548,837 @@ </data-member> <data-member access='public' layout-offset-in-bits='29312'> <!-- void* GLUtesselator::polygonData --> - <var-decl name='polygonData' type-id='type-id-25' visibility='default' filepath='libtess/tess.h' line='123' column='1'/> - </data-member> - </class-decl> - <!-- enum TessState --> - <enum-decl name='TessState' filepath='libtess/tess.h' line='47' column='1' id='type-id-401'> - <underlying-type type-id='type-id-9'/> - <enumerator name='T_DORMANT' value='0'/> - <enumerator name='T_IN_POLYGON' value='1'/> - <enumerator name='T_IN_CONTOUR' value='2'/> - </enum-decl> - <!-- struct GLUhalfEdge --> - <class-decl name='GLUhalfEdge' size-in-bits='512' is-struct='yes' visibility='default' filepath='libtess/mesh.h' line='138' column='1' id='type-id-414'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- GLUhalfEdge* GLUhalfEdge::next --> - <var-decl name='next' type-id='type-id-402' visibility='default' filepath='libtess/mesh.h' line='139' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- GLUhalfEdge* GLUhalfEdge::Sym --> - <var-decl name='Sym' type-id='type-id-402' visibility='default' filepath='libtess/mesh.h' line='140' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- GLUhalfEdge* GLUhalfEdge::Onext --> - <var-decl name='Onext' type-id='type-id-402' visibility='default' filepath='libtess/mesh.h' line='141' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- GLUhalfEdge* GLUhalfEdge::Lnext --> - <var-decl name='Lnext' type-id='type-id-402' visibility='default' filepath='libtess/mesh.h' line='142' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- GLUvertex* GLUhalfEdge::Org --> - <var-decl name='Org' type-id='type-id-406' visibility='default' filepath='libtess/mesh.h' line='143' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- GLUface* GLUhalfEdge::Lface --> - <var-decl name='Lface' type-id='type-id-408' visibility='default' filepath='libtess/mesh.h' line='144' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- ActiveRegion* GLUhalfEdge::activeRegion --> - <var-decl name='activeRegion' type-id='type-id-415' visibility='default' filepath='libtess/mesh.h' line='147' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='448'> - <!-- int GLUhalfEdge::winding --> - <var-decl name='winding' type-id='type-id-11' visibility='default' filepath='libtess/mesh.h' line='148' column='1'/> - </data-member> - </class-decl> - <!-- typedef GLUhalfEdge GLUhalfEdge --> - <typedef-decl name='GLUhalfEdge' type-id='type-id-414' filepath='libtess/mesh.h' line='44' column='1' id='type-id-416'/> - <!-- struct GLUvertex --> - <class-decl name='GLUvertex' size-in-bits='640' is-struct='yes' visibility='default' filepath='libtess/mesh.h' line='114' column='1' id='type-id-417'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- GLUvertex* GLUvertex::next --> - <var-decl name='next' type-id='type-id-406' visibility='default' filepath='libtess/mesh.h' line='115' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- GLUvertex* GLUvertex::prev --> - <var-decl name='prev' type-id='type-id-406' visibility='default' filepath='libtess/mesh.h' line='116' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- GLUhalfEdge* GLUvertex::anEdge --> - <var-decl name='anEdge' type-id='type-id-402' visibility='default' filepath='libtess/mesh.h' line='117' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- void* GLUvertex::data --> - <var-decl name='data' type-id='type-id-25' visibility='default' filepath='libtess/mesh.h' line='118' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- GLdouble GLUvertex::coords[3] --> - <var-decl name='coords' type-id='type-id-398' visibility='default' filepath='libtess/mesh.h' line='121' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='448'> - <!-- GLdouble GLUvertex::s --> - <var-decl name='s' type-id='type-id-397' visibility='default' filepath='libtess/mesh.h' line='122' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='512'> - <!-- GLdouble GLUvertex::t --> - <var-decl name='t' type-id='type-id-397' visibility='default' filepath='libtess/mesh.h' line='122' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='576'> - <!-- long int GLUvertex::pqHandle --> - <var-decl name='pqHandle' type-id='type-id-15' visibility='default' filepath='libtess/mesh.h' line='123' column='1'/> - </data-member> - </class-decl> - <!-- typedef GLUvertex GLUvertex --> - <typedef-decl name='GLUvertex' type-id='type-id-417' filepath='libtess/mesh.h' line='42' column='1' id='type-id-418'/> - <!-- struct GLUface --> - <class-decl name='GLUface' size-in-bits='384' is-struct='yes' visibility='default' filepath='libtess/mesh.h' line='126' column='1' id='type-id-419'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- GLUface* GLUface::next --> - <var-decl name='next' type-id='type-id-408' visibility='default' filepath='libtess/mesh.h' line='127' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- GLUface* GLUface::prev --> - <var-decl name='prev' type-id='type-id-408' visibility='default' filepath='libtess/mesh.h' line='128' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- GLUhalfEdge* GLUface::anEdge --> - <var-decl name='anEdge' type-id='type-id-402' visibility='default' filepath='libtess/mesh.h' line='129' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- void* GLUface::data --> - <var-decl name='data' type-id='type-id-25' visibility='default' filepath='libtess/mesh.h' line='130' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- GLUface* GLUface::trail --> - <var-decl name='trail' type-id='type-id-408' visibility='default' filepath='libtess/mesh.h' line='133' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- GLboolean GLUface::marked --> - <var-decl name='marked' type-id='type-id-45' visibility='default' filepath='libtess/mesh.h' line='134' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='328'> - <!-- GLboolean GLUface::inside --> - <var-decl name='inside' type-id='type-id-45' visibility='default' filepath='libtess/mesh.h' line='135' column='1'/> - </data-member> - </class-decl> - <!-- typedef GLUface GLUface --> - <typedef-decl name='GLUface' type-id='type-id-419' filepath='libtess/mesh.h' line='43' column='1' id='type-id-420'/> - <!-- typedef ActiveRegion ActiveRegion --> - <typedef-decl name='ActiveRegion' type-id='type-id-421' filepath='libtess/mesh.h' line='46' column='1' id='type-id-422'/> - <!-- struct ActiveRegion --> - <class-decl name='ActiveRegion' size-in-bits='192' is-struct='yes' visibility='default' filepath='libtess/sweep.h' line='59' column='1' id='type-id-421'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- GLUhalfEdge* ActiveRegion::eUp --> - <var-decl name='eUp' type-id='type-id-402' visibility='default' filepath='libtess/sweep.h' line='60' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- DictListNode* ActiveRegion::nodeUp --> - <var-decl name='nodeUp' type-id='type-id-423' visibility='default' filepath='libtess/sweep.h' line='61' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- int ActiveRegion::windingNumber --> - <var-decl name='windingNumber' type-id='type-id-11' visibility='default' filepath='libtess/sweep.h' line='62' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='160'> - <!-- GLboolean ActiveRegion::inside --> - <var-decl name='inside' type-id='type-id-45' visibility='default' filepath='libtess/sweep.h' line='64' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='168'> - <!-- GLboolean ActiveRegion::sentinel --> - <var-decl name='sentinel' type-id='type-id-45' visibility='default' filepath='libtess/sweep.h' line='65' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='176'> - <!-- GLboolean ActiveRegion::dirty --> - <var-decl name='dirty' type-id='type-id-45' visibility='default' filepath='libtess/sweep.h' line='66' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='184'> - <!-- GLboolean ActiveRegion::fixUpperEdge --> - <var-decl name='fixUpperEdge' type-id='type-id-45' visibility='default' filepath='libtess/sweep.h' line='69' column='1'/> - </data-member> - </class-decl> - <!-- struct DictListNode --> - <class-decl name='DictListNode' size-in-bits='192' is-struct='yes' visibility='default' filepath='libtess/dict.h' line='88' column='1' id='type-id-424'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- DictListKey DictListNode::key --> - <var-decl name='key' type-id='type-id-425' visibility='default' filepath='libtess/dict.h' line='89' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- DictListNode* DictListNode::next --> - <var-decl name='next' type-id='type-id-423' visibility='default' filepath='libtess/dict.h' line='90' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- DictListNode* DictListNode::prev --> - <var-decl name='prev' type-id='type-id-423' visibility='default' filepath='libtess/dict.h' line='91' column='1'/> - </data-member> - </class-decl> - <!-- typedef void* DictListKey --> - <typedef-decl name='DictListKey' type-id='type-id-25' filepath='libtess/dict.h' line='60' column='1' id='type-id-425'/> - <!-- typedef DictListNode DictListNode --> - <typedef-decl name='DictListNode' type-id='type-id-424' filepath='libtess/dict.h' line='62' column='1' id='type-id-426'/> - <!-- typedef GLUmesh GLUmesh --> - <typedef-decl name='GLUmesh' type-id='type-id-427' filepath='libtess/mesh.h' line='40' column='1' id='type-id-428'/> - <!-- struct GLUmesh --> - <class-decl name='GLUmesh' size-in-bits='2048' is-struct='yes' visibility='default' filepath='libtess/mesh.h' line='163' column='1' id='type-id-427'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- GLUvertex GLUmesh::vHead --> - <var-decl name='vHead' type-id='type-id-418' visibility='default' filepath='libtess/mesh.h' line='164' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='640'> - <!-- GLUface GLUmesh::fHead --> - <var-decl name='fHead' type-id='type-id-420' visibility='default' filepath='libtess/mesh.h' line='165' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1024'> - <!-- GLUhalfEdge GLUmesh::eHead --> - <var-decl name='eHead' type-id='type-id-416' visibility='default' filepath='libtess/mesh.h' line='166' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='1536'> - <!-- GLUhalfEdge GLUmesh::eHeadSym --> - <var-decl name='eHeadSym' type-id='type-id-416' visibility='default' filepath='libtess/mesh.h' line='167' column='1'/> - </data-member> - </class-decl> - <!-- typedef DictList DictList --> - <typedef-decl name='DictList' type-id='type-id-429' filepath='libtess/dict.h' line='61' column='1' id='type-id-430'/> - <!-- struct DictList --> - <class-decl name='DictList' size-in-bits='320' is-struct='yes' visibility='default' filepath='libtess/dict.h' line='94' column='1' id='type-id-429'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- DictListNode DictList::head --> - <var-decl name='head' type-id='type-id-426' visibility='default' filepath='libtess/dict.h' line='95' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- void* DictList::frame --> - <var-decl name='frame' type-id='type-id-25' visibility='default' filepath='libtess/dict.h' line='96' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- int (void*, typedef DictListKey, typedef DictListKey)* DictList::leq --> - <var-decl name='leq' type-id='type-id-431' visibility='default' filepath='libtess/dict.h' line='97' column='1'/> - </data-member> - </class-decl> - <!-- typedef PriorityQSort PriorityQSort --> - <typedef-decl name='PriorityQSort' type-id='type-id-432' filepath='libtess/priorityq.h' line='95' column='1' id='type-id-433'/> - <!-- struct PriorityQSort --> - <class-decl name='PriorityQSort' size-in-bits='448' is-struct='yes' visibility='default' filepath='libtess/priorityq.h' line='97' column='1' id='type-id-432'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- PriorityQHeap* PriorityQSort::heap --> - <var-decl name='heap' type-id='type-id-434' visibility='default' filepath='libtess/priorityq.h' line='98' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- PQSortKey* PriorityQSort::keys --> - <var-decl name='keys' type-id='type-id-435' visibility='default' filepath='libtess/priorityq.h' line='99' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- PQSortKey** PriorityQSort::order --> - <var-decl name='order' type-id='type-id-436' visibility='default' filepath='libtess/priorityq.h' line='100' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- PQSortHandle PriorityQSort::size --> - <var-decl name='size' type-id='type-id-437' visibility='default' filepath='libtess/priorityq.h' line='101' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- PQSortHandle PriorityQSort::max --> - <var-decl name='max' type-id='type-id-437' visibility='default' filepath='libtess/priorityq.h' line='101' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- int PriorityQSort::initialized --> - <var-decl name='initialized' type-id='type-id-11' visibility='default' filepath='libtess/priorityq.h' line='102' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- int (typedef PQSortKey, typedef PQSortKey)* PriorityQSort::leq --> - <var-decl name='leq' type-id='type-id-438' visibility='default' filepath='libtess/priorityq.h' line='103' column='1'/> - </data-member> - </class-decl> - <!-- typedef PriorityQHeap PriorityQHeap --> - <typedef-decl name='PriorityQHeap' type-id='type-id-439' filepath='libtess/priorityq-heap.h' line='81' column='1' id='type-id-440'/> - <!-- struct PriorityQHeap --> - <class-decl name='PriorityQHeap' size-in-bits='448' is-struct='yes' visibility='default' filepath='libtess/priorityq-heap.h' line='86' column='1' id='type-id-439'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- PQnode* PriorityQHeap::nodes --> - <var-decl name='nodes' type-id='type-id-441' visibility='default' filepath='libtess/priorityq-heap.h' line='87' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- PQhandleElem* PriorityQHeap::handles --> - <var-decl name='handles' type-id='type-id-442' visibility='default' filepath='libtess/priorityq-heap.h' line='88' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='128'> - <!-- long int PriorityQHeap::size --> - <var-decl name='size' type-id='type-id-15' visibility='default' filepath='libtess/priorityq-heap.h' line='89' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- long int PriorityQHeap::max --> - <var-decl name='max' type-id='type-id-15' visibility='default' filepath='libtess/priorityq-heap.h' line='89' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='256'> - <!-- PQHeapHandle PriorityQHeap::freeList --> - <var-decl name='freeList' type-id='type-id-443' visibility='default' filepath='libtess/priorityq-heap.h' line='90' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='320'> - <!-- int PriorityQHeap::initialized --> - <var-decl name='initialized' type-id='type-id-11' visibility='default' filepath='libtess/priorityq-heap.h' line='91' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='384'> - <!-- int (typedef PQHeapKey, typedef PQHeapKey)* PriorityQHeap::leq --> - <var-decl name='leq' type-id='type-id-444' visibility='default' filepath='libtess/priorityq-heap.h' line='92' column='1'/> - </data-member> - </class-decl> - <!-- typedef __anonymous_struct__ PQnode --> - <typedef-decl name='PQnode' type-id='type-id-445' filepath='libtess/priorityq-heap.h' line='83' column='1' id='type-id-446'/> - <!-- struct {PQHeapHandle handle;} --> - <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-446' visibility='default' filepath='libtess/priorityq-heap.h' line='83' column='1' id='type-id-445'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- PQHeapHandle handle --> - <var-decl name='handle' type-id='type-id-443' visibility='default' filepath='libtess/priorityq-heap.h' line='83' column='1'/> - </data-member> - </class-decl> - <!-- typedef long int PQHeapHandle --> - <typedef-decl name='PQHeapHandle' type-id='type-id-15' filepath='libtess/priorityq-heap.h' line='80' column='1' id='type-id-443'/> - <!-- typedef __anonymous_struct__1 PQhandleElem --> - <typedef-decl name='PQhandleElem' type-id='type-id-447' filepath='libtess/priorityq-heap.h' line='84' column='1' id='type-id-448'/> - <!-- struct {PQHeapKey key; PQHeapHandle node;} --> - <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-448' visibility='default' filepath='libtess/priorityq-heap.h' line='84' column='1' id='type-id-447'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- PQHeapKey key --> - <var-decl name='key' type-id='type-id-449' visibility='default' filepath='libtess/priorityq-heap.h' line='84' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='64'> - <!-- PQHeapHandle node --> - <var-decl name='node' type-id='type-id-443' visibility='default' filepath='libtess/priorityq-heap.h' line='84' column='1'/> - </data-member> - </class-decl> - <!-- struct __jmp_buf_tag --> - <class-decl name='__jmp_buf_tag' size-in-bits='1600' is-struct='yes' visibility='default' filepath='/usr/include/setjmp.h' line='36' column='1' id='type-id-191'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- __jmp_buf __jmp_buf_tag::__jmpbuf --> - <var-decl name='__jmpbuf' type-id='type-id-215' visibility='default' filepath='/usr/include/setjmp.h' line='41' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='512'> - <!-- int __jmp_buf_tag::__mask_was_saved --> - <var-decl name='__mask_was_saved' type-id='type-id-11' visibility='default' filepath='/usr/include/setjmp.h' line='42' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='576'> - <!-- __sigset_t __jmp_buf_tag::__saved_mask --> - <var-decl name='__saved_mask' type-id='type-id-216' visibility='default' filepath='/usr/include/setjmp.h' line='43' column='1'/> - </data-member> - </class-decl> - <!-- typedef void* PQHeapKey --> - <typedef-decl name='PQHeapKey' type-id='type-id-25' filepath='libtess/priorityq-heap.h' line='79' column='1' id='type-id-449'/> - <!-- typedef PQHeapKey PQSortKey --> - <typedef-decl name='PQSortKey' type-id='type-id-449' filepath='libtess/priorityq.h' line='93' column='1' id='type-id-450'/> - <!-- typedef PQHeapHandle PQSortHandle --> - <typedef-decl name='PQSortHandle' type-id='type-id-443' filepath='libtess/priorityq.h' line='94' column='1' id='type-id-437'/> - <!-- typedef float GLfloat --> - <typedef-decl name='GLfloat' type-id='type-id-28' filepath='../../../include/GL/gl.h' line='160' column='1' id='type-id-32'/> - <!-- typedef CachedVertex CachedVertex --> - <typedef-decl name='CachedVertex' type-id='type-id-451' filepath='libtess/tess.h' line='57' column='1' id='type-id-394'/> - <!-- struct CachedVertex --> - <class-decl name='CachedVertex' size-in-bits='256' is-struct='yes' visibility='default' filepath='libtess/tess.h' line='54' column='1' id='type-id-451'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- GLdouble CachedVertex::coords[3] --> - <var-decl name='coords' type-id='type-id-398' visibility='default' filepath='libtess/tess.h' line='55' column='1'/> - </data-member> - <data-member access='public' layout-offset-in-bits='192'> - <!-- void* CachedVertex::data --> - <var-decl name='data' type-id='type-id-25' visibility='default' filepath='libtess/tess.h' line='56' column='1'/> - </data-member> - </class-decl> - <!-- typedef __jmp_buf_tag[1] jmp_buf --> - <typedef-decl name='jmp_buf' type-id='type-id-187' filepath='/usr/include/setjmp.h' line='49' column='1' id='type-id-156'/> - <!-- typedef long int[8] __jmp_buf --> - <typedef-decl name='__jmp_buf' type-id='type-id-222' filepath='/usr/include/bits/setjmp.h' line='32' column='1' id='type-id-215'/> - <!-- typedef __anonymous_struct__2 __sigset_t --> - <typedef-decl name='__sigset_t' type-id='type-id-223' filepath='/usr/include/bits/sigset.h' line='32' column='1' id='type-id-216'/> - <!-- struct {unsigned long int __val[16];} --> - <class-decl name='__anonymous_struct__2' size-in-bits='1024' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-216' visibility='default' filepath='/usr/include/bits/sigset.h' line='30' column='1' id='type-id-223'> - <data-member access='public' layout-offset-in-bits='0'> - <!-- unsigned long int __val[16] --> - <var-decl name='__val' type-id='type-id-224' visibility='default' filepath='/usr/include/bits/sigset.h' line='31' column='1'/> + <var-decl name='polygonData' type-id='type-id-35' visibility='default' filepath='libtess/tess.h' line='123' column='1'/> </data-member> </class-decl> <!-- ActiveRegion* --> - <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-415'/> + <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-348'/> <!-- DictList* --> - <pointer-type-def type-id='type-id-430' size-in-bits='64' id='type-id-404'/> + <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-371'/> <!-- DictListNode* --> - <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-423'/> + <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/> <!-- GLUface* --> - <pointer-type-def type-id='type-id-420' size-in-bits='64' id='type-id-408'/> + <pointer-type-def type-id='type-id-340' size-in-bits='64' id='type-id-347'/> <!-- GLUhalfEdge* --> - <pointer-type-def type-id='type-id-416' size-in-bits='64' id='type-id-402'/> + <pointer-type-def type-id='type-id-342' size-in-bits='64' id='type-id-346'/> <!-- GLUmesh* --> - <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-403'/> + <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-370'/> <!-- GLUtesselator* --> - <pointer-type-def type-id='type-id-400' size-in-bits='64' id='type-id-452'/> + <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-379'/> <!-- GLUvertex* --> - <pointer-type-def type-id='type-id-418' size-in-bits='64' id='type-id-406'/> + <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-345'/> <!-- GLfloat* --> - <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-61'/> + <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-45'/> <!-- PQSortKey* --> - <pointer-type-def type-id='type-id-450' size-in-bits='64' id='type-id-435'/> + <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-365'/> <!-- PQSortKey** --> - <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/> + <pointer-type-def type-id='type-id-365' size-in-bits='64' id='type-id-366'/> <!-- PQhandleElem* --> - <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-442'/> + <pointer-type-def type-id='type-id-355' size-in-bits='64' id='type-id-358'/> <!-- PQnode* --> - <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-441'/> + <pointer-type-def type-id='type-id-353' size-in-bits='64' id='type-id-357'/> <!-- PriorityQHeap* --> - <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-434'/> + <pointer-type-def type-id='type-id-352' size-in-bits='64' id='type-id-364'/> <!-- PriorityQSort* --> - <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-405'/> + <pointer-type-def type-id='type-id-363' size-in-bits='64' id='type-id-372'/> <!-- int (typedef PQHeapKey, typedef PQHeapKey)* --> - <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-444'/> + <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-359'/> <!-- int (typedef PQSortKey, typedef PQSortKey)* --> - <pointer-type-def type-id='type-id-454' size-in-bits='64' id='type-id-438'/> + <pointer-type-def type-id='type-id-381' size-in-bits='64' id='type-id-367'/> <!-- int (void*, typedef DictListKey, typedef DictListKey)* --> - <pointer-type-def type-id='type-id-455' size-in-bits='64' id='type-id-431'/> + <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-334'/> <!-- void (GLUmesh*)* --> - <pointer-type-def type-id='type-id-456' size-in-bits='64' id='type-id-410'/> + <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-375'/> <!-- void (GLdouble*, void**, GLfloat*, void**)* --> - <pointer-type-def type-id='type-id-457' size-in-bits='64' id='type-id-407'/> + <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-373'/> <!-- void (GLdouble*, void**, GLfloat*, void**, void*)* --> - <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-413'/> + <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-378'/> <!-- void (typedef GLboolean)* --> - <pointer-type-def type-id='type-id-459' size-in-bits='64' id='type-id-409'/> + <pointer-type-def type-id='type-id-386' size-in-bits='64' id='type-id-374'/> <!-- void (typedef GLboolean, void*)* --> - <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-411'/> + <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-376'/> <!-- void (typedef GLenum)* --> - <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-31'/> <!-- void (typedef GLenum, void*)* --> - <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-22'/> + <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-33'/> <!-- void (void*)* --> - <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-23'/> + <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-34'/> <!-- void (void*, void*)* --> - <pointer-type-def type-id='type-id-461' size-in-bits='64' id='type-id-412'/> + <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-377'/> <!-- void** --> - <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-163'/> - <!-- void gluTessProperty(GLUtesselator*, GLenum, GLdouble) --> - <function-decl name='gluTessProperty' mangled-name='gluTessProperty' filepath='libtess/tess.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessProperty'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='201' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='which' filepath='libtess/tess.c' line='201' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='value' filepath='libtess/tess.c' line='201' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluGetTessProperty(GLUtesselator*, GLenum, GLdouble*) --> - <function-decl name='gluGetTessProperty' mangled-name='gluGetTessProperty' filepath='libtess/tess.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluGetTessProperty'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='240' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='which' filepath='libtess/tess.c' line='240' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='value' filepath='libtess/tess.c' line='240' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluTessNormal(GLUtesselator*, GLdouble, GLdouble, GLdouble) --> - <function-decl name='gluTessNormal' mangled-name='gluTessNormal' filepath='libtess/tess.c' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessNormal'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='268' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='x' filepath='libtess/tess.c' line='268' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='y' filepath='libtess/tess.c' line='268' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='z' filepath='libtess/tess.c' line='268' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluTessCallback(GLUtesselator*, GLenum, _GLUfuncptr) --> - <function-decl name='gluTessCallback' mangled-name='gluTessCallback' filepath='libtess/tess.c' line='276' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessCallback'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='276' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='which' filepath='libtess/tess.c' line='276' column='1'/> - <!-- parameter of type 'typedef _GLUfuncptr' --> - <parameter type-id='type-id-60' name='fn' filepath='libtess/tess.c' line='276' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluTessEndContour(GLUtesselator*) --> - <function-decl name='gluTessEndContour' mangled-name='gluTessEndContour' filepath='libtess/tess.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessEndContour'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='493' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluTessBeginContour(GLUtesselator*) --> - <function-decl name='gluTessBeginContour' mangled-name='gluTessBeginContour' filepath='libtess/tess.c' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessBeginContour'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='476' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluNextContour(GLUtesselator*, GLenum) --> - <function-decl name='gluNextContour' mangled-name='gluNextContour' filepath='libtess/tess.c' line='620' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNextContour'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='620' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libtess/tess.c' line='620' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluTessBeginPolygon(GLUtesselator*, void*) --> - <function-decl name='gluTessBeginPolygon' mangled-name='gluTessBeginPolygon' filepath='libtess/tess.c' line='462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessBeginPolygon'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='462' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='data' filepath='libtess/tess.c' line='462' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluBeginPolygon(GLUtesselator*) --> - <function-decl name='gluBeginPolygon' mangled-name='gluBeginPolygon' filepath='libtess/tess.c' line='611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBeginPolygon'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='611' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluTessEndPolygon(GLUtesselator*) --> - <function-decl name='gluTessEndPolygon' mangled-name='gluTessEndPolygon' filepath='libtess/tess.c' line='500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessEndPolygon'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='500' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluEndPolygon(GLUtesselator*) --> - <function-decl name='gluEndPolygon' mangled-name='gluEndPolygon' filepath='libtess/tess.c' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluEndPolygon'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='628' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluTessVertex(GLUtesselator*, GLdouble*, void*) --> - <function-decl name='gluTessVertex' mangled-name='gluTessVertex' filepath='libtess/tess.c' line='415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessVertex'> - <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='415' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='coords' filepath='libtess/tess.c' line='415' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='data' filepath='libtess/tess.c' line='415' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> + <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-191'/> + <!-- GLUtesselator* gluNewTess() --> + <function-decl name='gluNewTess' mangled-name='gluNewTess' filepath='libtess/tess.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNewTess'> + <!-- GLUtesselator* --> + <return type-id='type-id-379'/> </function-decl> <!-- void gluDeleteTess(GLUtesselator*) --> <function-decl name='gluDeleteTess' mangled-name='gluDeleteTess' filepath='libtess/tess.c' line='193' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluDeleteTess'> <!-- parameter of type 'GLUtesselator*' --> - <parameter type-id='type-id-452' name='tess' filepath='libtess/tess.c' line='193' column='1'/> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='193' column='1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> - <!-- GLUtesselator* gluNewTess() --> - <function-decl name='gluNewTess' mangled-name='gluNewTess' filepath='libtess/tess.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNewTess'> - <!-- GLUtesselator* --> - <return type-id='type-id-452'/> + <!-- void gluTessProperty(GLUtesselator*, GLenum, GLdouble) --> + <function-decl name='gluTessProperty' mangled-name='gluTessProperty' filepath='libtess/tess.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessProperty'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='201' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='which' filepath='libtess/tess.c' line='201' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='value' filepath='libtess/tess.c' line='201' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> </function-decl> - <!-- GLdouble* --> - <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-462'/> + <!-- void gluGetTessProperty(GLUtesselator*, GLenum, GLdouble*) --> + <function-decl name='gluGetTessProperty' mangled-name='gluGetTessProperty' filepath='libtess/tess.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluGetTessProperty'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='240' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='which' filepath='libtess/tess.c' line='240' column='1'/> + <!-- parameter of type 'GLdouble*' --> + <parameter type-id='type-id-392' name='value' filepath='libtess/tess.c' line='240' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluTessNormal(GLUtesselator*, GLdouble, GLdouble, GLdouble) --> + <function-decl name='gluTessNormal' mangled-name='gluTessNormal' filepath='libtess/tess.c' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessNormal'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='268' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='x' filepath='libtess/tess.c' line='268' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='y' filepath='libtess/tess.c' line='268' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='z' filepath='libtess/tess.c' line='268' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluTessCallback(GLUtesselator*, GLenum, _GLUfuncptr) --> + <function-decl name='gluTessCallback' mangled-name='gluTessCallback' filepath='libtess/tess.c' line='276' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessCallback'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='276' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='which' filepath='libtess/tess.c' line='276' column='1'/> + <!-- parameter of type 'typedef _GLUfuncptr' --> + <parameter type-id='type-id-37' name='fn' filepath='libtess/tess.c' line='276' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluTessVertex(GLUtesselator*, GLdouble*, void*) --> + <function-decl name='gluTessVertex' mangled-name='gluTessVertex' filepath='libtess/tess.c' line='415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessVertex'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='415' column='1'/> + <!-- parameter of type 'GLdouble*' --> + <parameter type-id='type-id-392' name='coords' filepath='libtess/tess.c' line='415' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35' name='data' filepath='libtess/tess.c' line='415' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluTessBeginPolygon(GLUtesselator*, void*) --> + <function-decl name='gluTessBeginPolygon' mangled-name='gluTessBeginPolygon' filepath='libtess/tess.c' line='462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessBeginPolygon'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='462' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35' name='data' filepath='libtess/tess.c' line='462' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluTessBeginContour(GLUtesselator*) --> + <function-decl name='gluTessBeginContour' mangled-name='gluTessBeginContour' filepath='libtess/tess.c' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessBeginContour'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='476' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluTessEndContour(GLUtesselator*) --> + <function-decl name='gluTessEndContour' mangled-name='gluTessEndContour' filepath='libtess/tess.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessEndContour'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='493' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluTessEndPolygon(GLUtesselator*) --> + <function-decl name='gluTessEndPolygon' mangled-name='gluTessEndPolygon' filepath='libtess/tess.c' line='500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessEndPolygon'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='500' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluBeginPolygon(GLUtesselator*) --> + <function-decl name='gluBeginPolygon' mangled-name='gluBeginPolygon' filepath='libtess/tess.c' line='611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBeginPolygon'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='611' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluNextContour(GLUtesselator*, GLenum) --> + <function-decl name='gluNextContour' mangled-name='gluNextContour' filepath='libtess/tess.c' line='620' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluNextContour'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='620' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='type' filepath='libtess/tess.c' line='620' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> + <!-- void gluEndPolygon(GLUtesselator*) --> + <function-decl name='gluEndPolygon' mangled-name='gluEndPolygon' filepath='libtess/tess.c' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluEndPolygon'> + <!-- parameter of type 'GLUtesselator*' --> + <parameter type-id='type-id-379' name='tess' filepath='libtess/tess.c' line='628' column='1'/> + <!-- void --> + <return type-id='type-id-14'/> + </function-decl> <!-- int (PQHeapKey, PQHeapKey) --> - <function-type size-in-bits='64' id='type-id-453'> + <function-type size-in-bits='64' id='type-id-380'> <!-- parameter of type 'typedef PQHeapKey' --> - <parameter type-id='type-id-449'/> + <parameter type-id='type-id-349'/> <!-- parameter of type 'typedef PQHeapKey' --> - <parameter type-id='type-id-449'/> + <parameter type-id='type-id-349'/> <!-- int --> - <return type-id='type-id-11'/> + <return type-id='type-id-8'/> </function-type> <!-- int (PQSortKey, PQSortKey) --> - <function-type size-in-bits='64' id='type-id-454'> + <function-type size-in-bits='64' id='type-id-381'> <!-- parameter of type 'typedef PQSortKey' --> - <parameter type-id='type-id-450'/> + <parameter type-id='type-id-360'/> <!-- parameter of type 'typedef PQSortKey' --> - <parameter type-id='type-id-450'/> + <parameter type-id='type-id-360'/> <!-- int --> - <return type-id='type-id-11'/> + <return type-id='type-id-8'/> </function-type> <!-- int (void*, DictListKey, DictListKey) --> - <function-type size-in-bits='64' id='type-id-455'> + <function-type size-in-bits='64' id='type-id-382'> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- parameter of type 'typedef DictListKey' --> - <parameter type-id='type-id-425'/> + <parameter type-id='type-id-328'/> <!-- parameter of type 'typedef DictListKey' --> - <parameter type-id='type-id-425'/> + <parameter type-id='type-id-328'/> <!-- int --> - <return type-id='type-id-11'/> + <return type-id='type-id-8'/> </function-type> <!-- void (GLUmesh*) --> - <function-type size-in-bits='64' id='type-id-456'> + <function-type size-in-bits='64' id='type-id-383'> <!-- parameter of type 'GLUmesh*' --> - <parameter type-id='type-id-403'/> + <parameter type-id='type-id-370'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> <!-- void (GLdouble*, void**, GLfloat*, void**) --> - <function-type size-in-bits='64' id='type-id-457'> + <function-type size-in-bits='64' id='type-id-384'> <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462'/> + <parameter type-id='type-id-392'/> <!-- parameter of type 'void**' --> - <parameter type-id='type-id-163'/> + <parameter type-id='type-id-191'/> <!-- parameter of type 'GLfloat*' --> - <parameter type-id='type-id-61'/> + <parameter type-id='type-id-45'/> <!-- parameter of type 'void**' --> - <parameter type-id='type-id-163'/> + <parameter type-id='type-id-191'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> <!-- void (GLdouble*, void**, GLfloat*, void**, void*) --> - <function-type size-in-bits='64' id='type-id-458'> + <function-type size-in-bits='64' id='type-id-385'> <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462'/> + <parameter type-id='type-id-392'/> <!-- parameter of type 'void**' --> - <parameter type-id='type-id-163'/> + <parameter type-id='type-id-191'/> <!-- parameter of type 'GLfloat*' --> - <parameter type-id='type-id-61'/> + <parameter type-id='type-id-45'/> <!-- parameter of type 'void**' --> - <parameter type-id='type-id-163'/> + <parameter type-id='type-id-191'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> <!-- void (GLboolean) --> - <function-type size-in-bits='64' id='type-id-459'> + <function-type size-in-bits='64' id='type-id-386'> <!-- parameter of type 'typedef GLboolean' --> - <parameter type-id='type-id-45'/> + <parameter type-id='type-id-42'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> <!-- void (GLboolean, void*) --> - <function-type size-in-bits='64' id='type-id-460'> + <function-type size-in-bits='64' id='type-id-387'> <!-- parameter of type 'typedef GLboolean' --> - <parameter type-id='type-id-45'/> + <parameter type-id='type-id-42'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> <!-- void (GLenum) --> - <function-type size-in-bits='64' id='type-id-39'> + <function-type size-in-bits='64' id='type-id-388'> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59'/> + <parameter type-id='type-id-36'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> <!-- void (GLenum, void*) --> - <function-type size-in-bits='64' id='type-id-40'> + <function-type size-in-bits='64' id='type-id-389'> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59'/> + <parameter type-id='type-id-36'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> <!-- void (void*) --> - <function-type size-in-bits='64' id='type-id-41'> + <function-type size-in-bits='64' id='type-id-390'> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> <!-- void (void*, void*) --> - <function-type size-in-bits='64' id='type-id-461'> + <function-type size-in-bits='64' id='type-id-391'> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25'/> + <parameter type-id='type-id-35'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-type> - <!-- typedef double GLdouble --> - <typedef-decl name='GLdouble' type-id='type-id-463' filepath='../../../include/GL/gl.h' line='162' column='1' id='type-id-397'/> - <!-- double --> - <type-decl name='double' size-in-bits='64' id='type-id-463'/> + <!-- void () --> + <function-type size-in-bits='64' id='type-id-393'> + <!-- void --> + <return type-id='type-id-14'/> + </function-type> </abi-instr> <abi-instr address-size='64' path='libutil/error.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C99'> <!-- unsigned char --> - <type-decl name='unsigned char' size-in-bits='8' id='type-id-91'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-394'/> <!-- unsigned int --> - <type-decl name='unsigned int' size-in-bits='32' id='type-id-92'/> - <!-- typedef unsigned char GLubyte --> - <typedef-decl name='GLubyte' type-id='type-id-91' filepath='../../../include/GL/gl.h' line='156' column='1' id='type-id-464'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-224'/> <!-- typedef unsigned int GLenum --> - <typedef-decl name='GLenum' type-id='type-id-92' filepath='../../../include/GL/gl.h' line='149' column='1' id='type-id-59'/> + <typedef-decl name='GLenum' type-id='type-id-224' filepath='../../../include/GL/gl.h' line='149' column='1' id='type-id-36'/> + <!-- typedef unsigned char GLubyte --> + <typedef-decl name='GLubyte' type-id='type-id-394' filepath='../../../include/GL/gl.h' line='156' column='1' id='type-id-395'/> <!-- const GLubyte --> - <qualified-type-def type-id='type-id-464' const='yes' id='type-id-465'/> + <qualified-type-def type-id='type-id-395' const='yes' id='type-id-396'/> <!-- const GLubyte* --> - <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/> + <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/> <!-- const GLubyte* gluErrorString(GLenum) --> <function-decl name='gluErrorString' mangled-name='gluErrorString' filepath='libutil/error.c' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluErrorString'> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='errorCode' filepath='libutil/error.c' line='66' column='1'/> + <parameter type-id='type-id-36' name='errorCode' filepath='libutil/error.c' line='66' column='1'/> <!-- const GLubyte* --> - <return type-id='type-id-466'/> + <return type-id='type-id-397'/> </function-decl> </abi-instr> <abi-instr address-size='64' path='libutil/mipmap.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C99'> <!-- int --> - <type-decl name='int' size-in-bits='32' id='type-id-11'/> - <!-- void --> - <type-decl name='void' id='type-id-12'/> + <type-decl name='int' size-in-bits='32' id='type-id-8'/> <!-- typedef int GLint --> - <typedef-decl name='GLint' type-id='type-id-11' filepath='../../../include/GL/gl.h' line='155' column='1' id='type-id-63'/> + <typedef-decl name='GLint' type-id='type-id-8' filepath='../../../include/GL/gl.h' line='155' column='1' id='type-id-50'/> <!-- typedef int GLsizei --> - <typedef-decl name='GLsizei' type-id='type-id-11' filepath='../../../include/GL/gl.h' line='159' column='1' id='type-id-467'/> + <typedef-decl name='GLsizei' type-id='type-id-8' filepath='../../../include/GL/gl.h' line='159' column='1' id='type-id-398'/> <!-- void* --> - <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-25'/> - <!-- GLint gluBuild3DMipmaps(GLenum, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, void*) --> - <function-decl name='gluBuild3DMipmaps' mangled-name='gluBuild3DMipmaps' filepath='libutil/mipmap.c' line='8482' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild3DMipmaps'> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='target' filepath='libutil/mipmap.c' line='8482' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='internalFormat' filepath='libutil/mipmap.c' line='8482' column='1'/> - <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='width' filepath='libutil/mipmap.c' line='8483' column='1'/> - <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='height' filepath='libutil/mipmap.c' line='8483' column='1'/> - <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='depth' filepath='libutil/mipmap.c' line='8483' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='format' filepath='libutil/mipmap.c' line='8484' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libutil/mipmap.c' line='8484' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='data' filepath='libutil/mipmap.c' line='8484' column='1'/> - <!-- typedef GLint --> - <return type-id='type-id-63'/> - </function-decl> - <!-- GLint gluBuild3DMipmapLevels(GLenum, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLint, GLint, GLint, void*) --> - <function-decl name='gluBuild3DMipmapLevels' mangled-name='gluBuild3DMipmapLevels' filepath='libutil/mipmap.c' line='8444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild3DMipmapLevels'> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='target' filepath='libutil/mipmap.c' line='8444' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='internalFormat' filepath='libutil/mipmap.c' line='8444' column='1'/> - <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='width' filepath='libutil/mipmap.c' line='8445' column='1'/> - <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='height' filepath='libutil/mipmap.c' line='8445' column='1'/> - <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='depth' filepath='libutil/mipmap.c' line='8445' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='format' filepath='libutil/mipmap.c' line='8446' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libutil/mipmap.c' line='8446' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='userLevel' filepath='libutil/mipmap.c' line='8447' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='baseLevel' filepath='libutil/mipmap.c' line='8447' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='maxLevel' filepath='libutil/mipmap.c' line='8447' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='data' filepath='libutil/mipmap.c' line='8448' column='1'/> - <!-- typedef GLint --> - <return type-id='type-id-63'/> - </function-decl> + <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-35'/> <!-- GLint gluScaleImage(GLenum, GLsizei, GLsizei, GLenum, void*, GLsizei, GLsizei, GLenum, void*) --> <function-decl name='gluScaleImage' mangled-name='gluScaleImage' filepath='libutil/mipmap.c' line='3498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluScaleImage'> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='format' filepath='libutil/mipmap.c' line='3498' column='1'/> + <parameter type-id='type-id-36' name='format' filepath='libutil/mipmap.c' line='3498' column='1'/> <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='widthin' filepath='libutil/mipmap.c' line='3498' column='1'/> + <parameter type-id='type-id-398' name='widthin' filepath='libutil/mipmap.c' line='3498' column='1'/> <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='heightin' filepath='libutil/mipmap.c' line='3498' column='1'/> + <parameter type-id='type-id-398' name='heightin' filepath='libutil/mipmap.c' line='3498' column='1'/> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='typein' filepath='libutil/mipmap.c' line='3499' column='1'/> + <parameter type-id='type-id-36' name='typein' filepath='libutil/mipmap.c' line='3499' column='1'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='datain' filepath='libutil/mipmap.c' line='3499' column='1'/> + <parameter type-id='type-id-35' name='datain' filepath='libutil/mipmap.c' line='3499' column='1'/> <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='widthout' filepath='libutil/mipmap.c' line='3500' column='1'/> + <parameter type-id='type-id-398' name='widthout' filepath='libutil/mipmap.c' line='3500' column='1'/> <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='heightout' filepath='libutil/mipmap.c' line='3500' column='1'/> + <parameter type-id='type-id-398' name='heightout' filepath='libutil/mipmap.c' line='3500' column='1'/> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='typeout' filepath='libutil/mipmap.c' line='3500' column='1'/> + <parameter type-id='type-id-36' name='typeout' filepath='libutil/mipmap.c' line='3500' column='1'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='dataout' filepath='libutil/mipmap.c' line='3501' column='1'/> + <parameter type-id='type-id-35' name='dataout' filepath='libutil/mipmap.c' line='3501' column='1'/> <!-- typedef GLint --> - <return type-id='type-id-63'/> - </function-decl> - <!-- GLint gluBuild1DMipmaps(GLenum, GLint, GLsizei, GLenum, GLenum, void*) --> - <function-decl name='gluBuild1DMipmaps' mangled-name='gluBuild1DMipmaps' filepath='libutil/mipmap.c' line='3672' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild1DMipmaps'> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='target' filepath='libutil/mipmap.c' line='3672' column='1'/> - <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='internalFormat' filepath='libutil/mipmap.c' line='3672' column='1'/> - <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='width' filepath='libutil/mipmap.c' line='3672' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='format' filepath='libutil/mipmap.c' line='3673' column='1'/> - <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libutil/mipmap.c' line='3673' column='1'/> - <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='data' filepath='libutil/mipmap.c' line='3674' column='1'/> - <!-- typedef GLint --> - <return type-id='type-id-63'/> + <return type-id='type-id-50'/> </function-decl> <!-- GLint gluBuild1DMipmapLevels(GLenum, GLint, GLsizei, GLenum, GLenum, GLint, GLint, GLint, void*) --> <function-decl name='gluBuild1DMipmapLevels' mangled-name='gluBuild1DMipmapLevels' filepath='libutil/mipmap.c' line='3643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild1DMipmapLevels'> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='target' filepath='libutil/mipmap.c' line='3643' column='1'/> + <parameter type-id='type-id-36' name='target' filepath='libutil/mipmap.c' line='3643' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='internalFormat' filepath='libutil/mipmap.c' line='3643' column='1'/> + <parameter type-id='type-id-50' name='internalFormat' filepath='libutil/mipmap.c' line='3643' column='1'/> <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='width' filepath='libutil/mipmap.c' line='3644' column='1'/> + <parameter type-id='type-id-398' name='width' filepath='libutil/mipmap.c' line='3644' column='1'/> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='format' filepath='libutil/mipmap.c' line='3645' column='1'/> + <parameter type-id='type-id-36' name='format' filepath='libutil/mipmap.c' line='3645' column='1'/> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libutil/mipmap.c' line='3645' column='1'/> + <parameter type-id='type-id-36' name='type' filepath='libutil/mipmap.c' line='3645' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='userLevel' filepath='libutil/mipmap.c' line='3646' column='1'/> + <parameter type-id='type-id-50' name='userLevel' filepath='libutil/mipmap.c' line='3646' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='baseLevel' filepath='libutil/mipmap.c' line='3646' column='1'/> + <parameter type-id='type-id-50' name='baseLevel' filepath='libutil/mipmap.c' line='3646' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='maxLevel' filepath='libutil/mipmap.c' line='3646' column='1'/> + <parameter type-id='type-id-50' name='maxLevel' filepath='libutil/mipmap.c' line='3646' column='1'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='data' filepath='libutil/mipmap.c' line='3647' column='1'/> + <parameter type-id='type-id-35' name='data' filepath='libutil/mipmap.c' line='3647' column='1'/> <!-- typedef GLint --> - <return type-id='type-id-63'/> + <return type-id='type-id-50'/> </function-decl> - <!-- GLint gluBuild2DMipmaps(GLenum, GLint, GLsizei, GLsizei, GLenum, GLenum, void*) --> - <function-decl name='gluBuild2DMipmaps' mangled-name='gluBuild2DMipmaps' filepath='libutil/mipmap.c' line='4584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild2DMipmaps'> + <!-- GLint gluBuild1DMipmaps(GLenum, GLint, GLsizei, GLenum, GLenum, void*) --> + <function-decl name='gluBuild1DMipmaps' mangled-name='gluBuild1DMipmaps' filepath='libutil/mipmap.c' line='3672' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild1DMipmaps'> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='target' filepath='libutil/mipmap.c' line='4584' column='1'/> + <parameter type-id='type-id-36' name='target' filepath='libutil/mipmap.c' line='3672' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='internalFormat' filepath='libutil/mipmap.c' line='4584' column='1'/> + <parameter type-id='type-id-50' name='internalFormat' filepath='libutil/mipmap.c' line='3672' column='1'/> <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='width' filepath='libutil/mipmap.c' line='4585' column='1'/> - <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='height' filepath='libutil/mipmap.c' line='4585' column='1'/> + <parameter type-id='type-id-398' name='width' filepath='libutil/mipmap.c' line='3672' column='1'/> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='format' filepath='libutil/mipmap.c' line='4586' column='1'/> + <parameter type-id='type-id-36' name='format' filepath='libutil/mipmap.c' line='3673' column='1'/> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libutil/mipmap.c' line='4586' column='1'/> + <parameter type-id='type-id-36' name='type' filepath='libutil/mipmap.c' line='3673' column='1'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='data' filepath='libutil/mipmap.c' line='4587' column='1'/> + <parameter type-id='type-id-35' name='data' filepath='libutil/mipmap.c' line='3674' column='1'/> <!-- typedef GLint --> - <return type-id='type-id-63'/> + <return type-id='type-id-50'/> </function-decl> <!-- GLint gluBuild2DMipmapLevels(GLenum, GLint, GLsizei, GLsizei, GLenum, GLenum, GLint, GLint, GLint, void*) --> <function-decl name='gluBuild2DMipmapLevels' mangled-name='gluBuild2DMipmapLevels' filepath='libutil/mipmap.c' line='4552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild2DMipmapLevels'> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='target' filepath='libutil/mipmap.c' line='4552' column='1'/> + <parameter type-id='type-id-36' name='target' filepath='libutil/mipmap.c' line='4552' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='internalFormat' filepath='libutil/mipmap.c' line='4552' column='1'/> + <parameter type-id='type-id-50' name='internalFormat' filepath='libutil/mipmap.c' line='4552' column='1'/> <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='width' filepath='libutil/mipmap.c' line='4553' column='1'/> + <parameter type-id='type-id-398' name='width' filepath='libutil/mipmap.c' line='4553' column='1'/> <!-- parameter of type 'typedef GLsizei' --> - <parameter type-id='type-id-467' name='height' filepath='libutil/mipmap.c' line='4553' column='1'/> + <parameter type-id='type-id-398' name='height' filepath='libutil/mipmap.c' line='4553' column='1'/> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='format' filepath='libutil/mipmap.c' line='4554' column='1'/> + <parameter type-id='type-id-36' name='format' filepath='libutil/mipmap.c' line='4554' column='1'/> <!-- parameter of type 'typedef GLenum' --> - <parameter type-id='type-id-59' name='type' filepath='libutil/mipmap.c' line='4554' column='1'/> + <parameter type-id='type-id-36' name='type' filepath='libutil/mipmap.c' line='4554' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='userLevel' filepath='libutil/mipmap.c' line='4555' column='1'/> + <parameter type-id='type-id-50' name='userLevel' filepath='libutil/mipmap.c' line='4555' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='baseLevel' filepath='libutil/mipmap.c' line='4555' column='1'/> + <parameter type-id='type-id-50' name='baseLevel' filepath='libutil/mipmap.c' line='4555' column='1'/> <!-- parameter of type 'typedef GLint' --> - <parameter type-id='type-id-63' name='maxLevel' filepath='libutil/mipmap.c' line='4555' column='1'/> + <parameter type-id='type-id-50' name='maxLevel' filepath='libutil/mipmap.c' line='4555' column='1'/> <!-- parameter of type 'void*' --> - <parameter type-id='type-id-25' name='data' filepath='libutil/mipmap.c' line='4556' column='1'/> + <parameter type-id='type-id-35' name='data' filepath='libutil/mipmap.c' line='4556' column='1'/> <!-- typedef GLint --> - <return type-id='type-id-63'/> + <return type-id='type-id-50'/> </function-decl> + <!-- GLint gluBuild2DMipmaps(GLenum, GLint, GLsizei, GLsizei, GLenum, GLenum, void*) --> + <function-decl name='gluBuild2DMipmaps' mangled-name='gluBuild2DMipmaps' filepath='libutil/mipmap.c' line='4584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild2DMipmaps'> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='target' filepath='libutil/mipmap.c' line='4584' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='internalFormat' filepath='libutil/mipmap.c' line='4584' column='1'/> + <!-- parameter of type 'typedef GLsizei' --> + <parameter type-id='type-id-398' name='width' filepath='libutil/mipmap.c' line='4585' column='1'/> + <!-- parameter of type 'typedef GLsizei' --> + <parameter type-id='type-id-398' name='height' filepath='libutil/mipmap.c' line='4585' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='format' filepath='libutil/mipmap.c' line='4586' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='type' filepath='libutil/mipmap.c' line='4586' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35' name='data' filepath='libutil/mipmap.c' line='4587' column='1'/> + <!-- typedef GLint --> + <return type-id='type-id-50'/> + </function-decl> + <!-- GLint gluBuild3DMipmapLevels(GLenum, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLint, GLint, GLint, void*) --> + <function-decl name='gluBuild3DMipmapLevels' mangled-name='gluBuild3DMipmapLevels' filepath='libutil/mipmap.c' line='8444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild3DMipmapLevels'> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='target' filepath='libutil/mipmap.c' line='8444' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='internalFormat' filepath='libutil/mipmap.c' line='8444' column='1'/> + <!-- parameter of type 'typedef GLsizei' --> + <parameter type-id='type-id-398' name='width' filepath='libutil/mipmap.c' line='8445' column='1'/> + <!-- parameter of type 'typedef GLsizei' --> + <parameter type-id='type-id-398' name='height' filepath='libutil/mipmap.c' line='8445' column='1'/> + <!-- parameter of type 'typedef GLsizei' --> + <parameter type-id='type-id-398' name='depth' filepath='libutil/mipmap.c' line='8445' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='format' filepath='libutil/mipmap.c' line='8446' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='type' filepath='libutil/mipmap.c' line='8446' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='userLevel' filepath='libutil/mipmap.c' line='8447' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='baseLevel' filepath='libutil/mipmap.c' line='8447' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='maxLevel' filepath='libutil/mipmap.c' line='8447' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35' name='data' filepath='libutil/mipmap.c' line='8448' column='1'/> + <!-- typedef GLint --> + <return type-id='type-id-50'/> + </function-decl> + <!-- GLint gluBuild3DMipmaps(GLenum, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, void*) --> + <function-decl name='gluBuild3DMipmaps' mangled-name='gluBuild3DMipmaps' filepath='libutil/mipmap.c' line='8482' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluBuild3DMipmaps'> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='target' filepath='libutil/mipmap.c' line='8482' column='1'/> + <!-- parameter of type 'typedef GLint' --> + <parameter type-id='type-id-50' name='internalFormat' filepath='libutil/mipmap.c' line='8482' column='1'/> + <!-- parameter of type 'typedef GLsizei' --> + <parameter type-id='type-id-398' name='width' filepath='libutil/mipmap.c' line='8483' column='1'/> + <!-- parameter of type 'typedef GLsizei' --> + <parameter type-id='type-id-398' name='height' filepath='libutil/mipmap.c' line='8483' column='1'/> + <!-- parameter of type 'typedef GLsizei' --> + <parameter type-id='type-id-398' name='depth' filepath='libutil/mipmap.c' line='8483' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='format' filepath='libutil/mipmap.c' line='8484' column='1'/> + <!-- parameter of type 'typedef GLenum' --> + <parameter type-id='type-id-36' name='type' filepath='libutil/mipmap.c' line='8484' column='1'/> + <!-- parameter of type 'void*' --> + <parameter type-id='type-id-35' name='data' filepath='libutil/mipmap.c' line='8484' column='1'/> + <!-- typedef GLint --> + <return type-id='type-id-50'/> + </function-decl> + <!-- void --> + <type-decl name='void' id='type-id-14'/> </abi-instr> <abi-instr address-size='64' path='libutil/project.c' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C99'> <!-- double --> - <type-decl name='double' size-in-bits='64' id='type-id-463'/> + <type-decl name='double' size-in-bits='64' id='type-id-399'/> <!-- typedef double GLdouble --> - <typedef-decl name='GLdouble' type-id='type-id-463' filepath='../../../include/GL/gl.h' line='162' column='1' id='type-id-397'/> + <typedef-decl name='GLdouble' type-id='type-id-399' filepath='../../../include/GL/gl.h' line='162' column='1' id='type-id-314'/> <!-- typedef double GLclampd --> - <typedef-decl name='GLclampd' type-id='type-id-463' filepath='../../../include/GL/gl.h' line='163' column='1' id='type-id-468'/> + <typedef-decl name='GLclampd' type-id='type-id-399' filepath='../../../include/GL/gl.h' line='163' column='1' id='type-id-400'/> <!-- GLdouble* --> - <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-462'/> + <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-392'/> <!-- GLint* --> - <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-469'/> + <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-401'/> <!-- const GLdouble --> - <qualified-type-def type-id='type-id-397' const='yes' id='type-id-470'/> + <qualified-type-def type-id='type-id-314' const='yes' id='type-id-402'/> <!-- const GLdouble* --> - <pointer-type-def type-id='type-id-470' size-in-bits='64' id='type-id-471'/> + <pointer-type-def type-id='type-id-402' size-in-bits='64' id='type-id-403'/> <!-- const GLint --> - <qualified-type-def type-id='type-id-63' const='yes' id='type-id-90'/> + <qualified-type-def type-id='type-id-50' const='yes' id='type-id-404'/> <!-- const GLint* --> - <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/> - <!-- GLint gluProject(GLdouble, GLdouble, GLdouble, const GLdouble*, const GLdouble*, const GLint*, GLdouble*, GLdouble*, GLdouble*) --> - <function-decl name='gluProject' mangled-name='gluProject' filepath='libutil/project.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluProject'> + <pointer-type-def type-id='type-id-404' size-in-bits='64' id='type-id-47'/> + <!-- void gluOrtho2D(GLdouble, GLdouble, GLdouble, GLdouble) --> + <function-decl name='gluOrtho2D' mangled-name='gluOrtho2D' filepath='libutil/project.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluOrtho2D'> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='objx' filepath='libutil/project.c' line='234' column='1'/> + <parameter type-id='type-id-314' name='left' filepath='libutil/project.c' line='57' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='objy' filepath='libutil/project.c' line='234' column='1'/> + <parameter type-id='type-id-314' name='right' filepath='libutil/project.c' line='57' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='objz' filepath='libutil/project.c' line='234' column='1'/> - <!-- parameter of type 'const GLdouble*' --> - <parameter type-id='type-id-471' name='modelMatrix' filepath='libutil/project.c' line='235' column='1'/> - <!-- parameter of type 'const GLdouble*' --> - <parameter type-id='type-id-471' name='projMatrix' filepath='libutil/project.c' line='236' column='1'/> - <!-- parameter of type 'const GLint*' --> - <parameter type-id='type-id-62' name='viewport' filepath='libutil/project.c' line='237' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='winx' filepath='libutil/project.c' line='238' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='winy' filepath='libutil/project.c' line='238' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='winz' filepath='libutil/project.c' line='238' column='1'/> - <!-- typedef GLint --> - <return type-id='type-id-63'/> - </function-decl> - <!-- GLint gluUnProject(GLdouble, GLdouble, GLdouble, const GLdouble*, const GLdouble*, const GLint*, GLdouble*, GLdouble*, GLdouble*) --> - <function-decl name='gluUnProject' mangled-name='gluUnProject' filepath='libutil/project.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluUnProject'> + <parameter type-id='type-id-314' name='bottom' filepath='libutil/project.c' line='57' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='winx' filepath='libutil/project.c' line='269' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='winy' filepath='libutil/project.c' line='269' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='winz' filepath='libutil/project.c' line='269' column='1'/> - <!-- parameter of type 'const GLdouble*' --> - <parameter type-id='type-id-471' name='modelMatrix' filepath='libutil/project.c' line='270' column='1'/> - <!-- parameter of type 'const GLdouble*' --> - <parameter type-id='type-id-471' name='projMatrix' filepath='libutil/project.c' line='271' column='1'/> - <!-- parameter of type 'const GLint*' --> - <parameter type-id='type-id-62' name='viewport' filepath='libutil/project.c' line='272' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='objx' filepath='libutil/project.c' line='273' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='objy' filepath='libutil/project.c' line='273' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='objz' filepath='libutil/project.c' line='273' column='1'/> - <!-- typedef GLint --> - <return type-id='type-id-63'/> - </function-decl> - <!-- GLint gluUnProject4(GLdouble, GLdouble, GLdouble, GLdouble, const GLdouble*, const GLdouble*, const GLint*, GLclampd, GLclampd, GLdouble*, GLdouble*, GLdouble*, GLdouble*) --> - <function-decl name='gluUnProject4' mangled-name='gluUnProject4' filepath='libutil/project.c' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluUnProject4'> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='winx' filepath='libutil/project.c' line='308' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='winy' filepath='libutil/project.c' line='308' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='winz' filepath='libutil/project.c' line='308' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='clipw' filepath='libutil/project.c' line='308' column='1'/> - <!-- parameter of type 'const GLdouble*' --> - <parameter type-id='type-id-471' name='modelMatrix' filepath='libutil/project.c' line='309' column='1'/> - <!-- parameter of type 'const GLdouble*' --> - <parameter type-id='type-id-471' name='projMatrix' filepath='libutil/project.c' line='310' column='1'/> - <!-- parameter of type 'const GLint*' --> - <parameter type-id='type-id-62' name='viewport' filepath='libutil/project.c' line='311' column='1'/> - <!-- parameter of type 'typedef GLclampd' --> - <parameter type-id='type-id-468' name='nearVal' filepath='libutil/project.c' line='312' column='1'/> - <!-- parameter of type 'typedef GLclampd' --> - <parameter type-id='type-id-468' name='farVal' filepath='libutil/project.c' line='312' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='objx' filepath='libutil/project.c' line='313' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='objy' filepath='libutil/project.c' line='313' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='objz' filepath='libutil/project.c' line='313' column='1'/> - <!-- parameter of type 'GLdouble*' --> - <parameter type-id='type-id-462' name='objw' filepath='libutil/project.c' line='314' column='1'/> - <!-- typedef GLint --> - <return type-id='type-id-63'/> - </function-decl> - <!-- void gluPickMatrix(GLdouble, GLdouble, GLdouble, GLdouble, GLint*) --> - <function-decl name='gluPickMatrix' mangled-name='gluPickMatrix' filepath='libutil/project.c' line='348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluPickMatrix'> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='x' filepath='libutil/project.c' line='348' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='y' filepath='libutil/project.c' line='348' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='deltax' filepath='libutil/project.c' line='348' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='deltay' filepath='libutil/project.c' line='348' column='1'/> - <!-- parameter of type 'GLint*' --> - <parameter type-id='type-id-469' name='viewport' filepath='libutil/project.c' line='349' column='1'/> + <parameter type-id='type-id-314' name='top' filepath='libutil/project.c' line='57' column='1'/> <!-- void --> - <return type-id='type-id-12'/> - </function-decl> - <!-- void gluLookAt(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble) --> - <function-decl name='gluLookAt' mangled-name='gluLookAt' filepath='libutil/project.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluLookAt'> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='eyex' filepath='libutil/project.c' line='108' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='eyey' filepath='libutil/project.c' line='108' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='eyez' filepath='libutil/project.c' line='108' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='centerx' filepath='libutil/project.c' line='108' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='centery' filepath='libutil/project.c' line='109' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='centerz' filepath='libutil/project.c' line='109' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='upx' filepath='libutil/project.c' line='109' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='upy' filepath='libutil/project.c' line='109' column='1'/> - <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='upz' filepath='libutil/project.c' line='110' column='1'/> - <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> <!-- void gluPerspective(GLdouble, GLdouble, GLdouble, GLdouble) --> <function-decl name='gluPerspective' mangled-name='gluPerspective' filepath='libutil/project.c' line='65' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluPerspective'> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='fovy' filepath='libutil/project.c' line='65' column='1'/> + <parameter type-id='type-id-314' name='fovy' filepath='libutil/project.c' line='65' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='aspect' filepath='libutil/project.c' line='65' column='1'/> + <parameter type-id='type-id-314' name='aspect' filepath='libutil/project.c' line='65' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='zNear' filepath='libutil/project.c' line='65' column='1'/> + <parameter type-id='type-id-314' name='zNear' filepath='libutil/project.c' line='65' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='zFar' filepath='libutil/project.c' line='65' column='1'/> + <parameter type-id='type-id-314' name='zFar' filepath='libutil/project.c' line='65' column='1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> </function-decl> - <!-- void gluOrtho2D(GLdouble, GLdouble, GLdouble, GLdouble) --> - <function-decl name='gluOrtho2D' mangled-name='gluOrtho2D' filepath='libutil/project.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluOrtho2D'> + <!-- void gluLookAt(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble) --> + <function-decl name='gluLookAt' mangled-name='gluLookAt' filepath='libutil/project.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluLookAt'> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='left' filepath='libutil/project.c' line='57' column='1'/> + <parameter type-id='type-id-314' name='eyex' filepath='libutil/project.c' line='108' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='right' filepath='libutil/project.c' line='57' column='1'/> + <parameter type-id='type-id-314' name='eyey' filepath='libutil/project.c' line='108' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='bottom' filepath='libutil/project.c' line='57' column='1'/> + <parameter type-id='type-id-314' name='eyez' filepath='libutil/project.c' line='108' column='1'/> <!-- parameter of type 'typedef GLdouble' --> - <parameter type-id='type-id-397' name='top' filepath='libutil/project.c' line='57' column='1'/> + <parameter type-id='type-id-314' name='centerx' filepath='libutil/project.c' line='108' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='centery' filepath='libutil/project.c' line='109' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='centerz' filepath='libutil/project.c' line='109' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='upx' filepath='libutil/project.c' line='109' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='upy' filepath='libutil/project.c' line='109' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='upz' filepath='libutil/project.c' line='110' column='1'/> <!-- void --> - <return type-id='type-id-12'/> + <return type-id='type-id-14'/> + </function-decl> + <!-- GLint gluProject(GLdouble, GLdouble, GLdouble, const GLdouble*, const GLdouble*, const GLint*, GLdouble*, GLdouble*, GLdouble*) --> + <function-decl name='gluProject' mangled-name='gluProject' filepath='libutil/project.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluProject'> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='objx' filepath='libutil/project.c' line='234' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='objy' filepath='libutil/project.c' line='234' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='objz' filepath='libutil/project.c' line='234' column='1'/> + <!-- parameter of type 'const GLdouble*' --> + <parameter type-id='type-id-403' name='modelMatrix' filepath='libutil/project.c' line='235' column='1'/> + <!-- parameter of type 'const GLdouble*' --> + <parameter type-id='type-id-403' name='projMatrix' filepath='libutil/project.c' line='236' column='1'/> + <!-- parameter of type 'const GLint*' --> + <parameter type-id='type-id-47' name='viewport' filepath='libutil/project.c' line='237' column='1'/> + <!-- parameter of type 'GLdouble*' --> + <parameter type-id='type-id-392' name='winx' filepath='libutil/project.c' line='238' column='1'/> + <!-- parameter of type 'GLdouble*' --> + <parameter type-id='type-id-392' name='winy' filepath='libutil/project.c' line='238' column='1'/> + <!-- parameter of type 'GLdouble*' --> + <parameter type-id='type-id-392' name='winz' filepath='libutil/project.c' line='238' column='1'/> + <!-- typedef GLint --> + <return type-id='type-id-50'/> + </function-decl> + <!-- GLint gluUnProject(GLdouble, GLdouble, GLdouble, const GLdouble*, const GLdouble*, const GLint*, GLdouble*, GLdouble*, GLdouble*) --> + <function-decl name='gluUnProject' mangled-name='gluUnProject' filepath='libutil/project.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluUnProject'> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='winx' filepath='libutil/project.c' line='269' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='winy' filepath='libutil/project.c' line='269' column='1'/> + <!-- parameter of type 'typedef GLdouble' --> + <parameter type-id='type-id-314' name='winz' filepath='libutil/project.c' line='269' column='1'/> + <!-- parameter of type 'const GLdouble*' --> + <parameter type-id='type-id-403' name='modelMatrix' filepath='libutil/project.c' line='270' column='1'/> + <!-- parameter of type 'const GLdouble*' --> + <parameter type-id='type-id-403' name='projMatrix' filepath='libutil/project.c' line='271' column='1'/> + <!-- parameter of type 'const GLint*' --> + <parameter type-id='type-id-47' name='viewport' filepath='libutil/project.c' line='272' column='1'/> + <!-- parameter of type 'GLdouble*' --> + <parameter type-id='type-id-392' name='objx' filepath='libutil/project.c' line='273' column='1'/> + <!-- parameter of type 'GLdouble*' --> + <parameter type-id='type-id-392' name='objy' filepath='libutil/project.c' line='273' column='1'/> + <!-- parameter of type 'GLdouble*' --> + <parameter type-id='type-id-392' name='objz' filepath='libutil/project.c' line='273' column='1'/> + <!-- typedef GLint --> + <return type-id='type-id-50'/> + </function-decl> + <!-- GLint gluUnProject4(GLdouble, GLdouble, GLdouble, GLdouble, const GLdouble*, const GLdouble*, cons