commit:     bc6c68c71d8ac4ff9a4f21397b3a85b94acdfda0
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon May 15 19:05:16 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon May 15 19:34:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc6c68c7

dev-util/bpftrace: drop 0.16.0-r1, 0.16.0-r2, 0.17.0-r3, 0.17.0-r4

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild        |  92 -----
 dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild        |  93 -----
 dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild        |  97 -----
 dev-util/bpftrace/bpftrace-0.17.0-r4.ebuild        |  97 -----
 .../files/bpftrace-0.16.0-install-libs.patch       | 210 ----------
 .../files/bpftrace-0.16.0-opaquepointer.patch      | 450 ---------------------
 6 files changed, 1039 deletions(-)

diff --git a/dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild 
b/dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild
deleted file mode 100644
index 3f624490bfe6..000000000000
--- a/dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=16
-
-inherit llvm linux-info cmake
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/iovisor/bpftrace";
-MY_PV="${PV//_/}"
-SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> 
${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# remove keywords until build works:
-# https://github.com/iovisor/bpftrace/issues/2349
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="fuzzing test"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
-       >=dev-libs/libbpf-1.0:=
-       >=dev-util/bcc-0.25.0:=
-       <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
-       <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
-       sys-libs/binutils-libs:=
-       virtual/libelf:=
-"
-DEPEND="
-       ${COMMON_DEPEND}
-       dev-libs/cereal:=
-       test? ( dev-cpp/gtest )
-"
-BDEPEND="
-       app-arch/xz-utils
-       sys-devel/flex
-       sys-devel/bison
-       virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
-       /usr/lib.*/libbpftraceresources.so
-       /usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
-       "${FILESDIR}/bpftrace-0.16.0-install-libs.patch"
-       "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
-       "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
-)
-
-pkg_pretend() {
-       local CONFIG_CHECK="
-               ~BPF
-               ~BPF_EVENTS
-               ~BPF_JIT
-               ~BPF_SYSCALL
-               ~FTRACE_SYSCALLS
-               ~HAVE_EBPF_JIT
-       "
-
-       check_extra_config
-}
-
-pkg_setup() {
-       llvm_pkg_setup
-}
-
-src_configure() {
-       local mycmakeargs=(
-               -DSTATIC_LINKING:BOOL=OFF
-               # bug 809362, 754648
-               -DBUILD_TESTING:BOOL=$(usex test)
-               -DBUILD_FUZZ:BOOL=$(usex fuzzing)
-               -DENABLE_MAN:BOOL=OFF
-       )
-
-       cmake_src_configure
-}
-
-src_install() {
-       cmake_src_install
-       # bug 809362
-       dostrip -x /usr/bin/bpftrace
-       doman man/man8/*.?
-}

diff --git a/dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild 
b/dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild
deleted file mode 100644
index dca9044e1ff0..000000000000
--- a/dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=16
-
-inherit llvm linux-info cmake
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/iovisor/bpftrace";
-MY_PV="${PV//_/}"
-SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> 
${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# remove keywords until build works:
-# https://github.com/iovisor/bpftrace/issues/2349
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="fuzzing test"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
-       >=dev-libs/libbpf-1.0:=
-       >=dev-util/bcc-0.25.0:=
-       <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
-       <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
-       sys-libs/binutils-libs:=
-       virtual/libelf:=
-"
-DEPEND="
-       ${COMMON_DEPEND}
-       dev-libs/cereal:=
-       test? ( dev-cpp/gtest )
-"
-BDEPEND="
-       app-arch/xz-utils
-       sys-devel/flex
-       sys-devel/bison
-       virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
-       /usr/lib.*/libbpftraceresources.so
-       /usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
-       "${FILESDIR}/bpftrace-0.16.0-install-libs.patch"
-       "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
-       "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
-       "${FILESDIR}/bpftrace-0.16.0-opaquepointer.patch"
-)
-
-pkg_pretend() {
-       local CONFIG_CHECK="
-               ~BPF
-               ~BPF_EVENTS
-               ~BPF_JIT
-               ~BPF_SYSCALL
-               ~FTRACE_SYSCALLS
-               ~HAVE_EBPF_JIT
-       "
-
-       check_extra_config
-}
-
-pkg_setup() {
-       llvm_pkg_setup
-}
-
-src_configure() {
-       local mycmakeargs=(
-               -DSTATIC_LINKING:BOOL=OFF
-               # bug 809362, 754648
-               -DBUILD_TESTING:BOOL=$(usex test)
-               -DBUILD_FUZZ:BOOL=$(usex fuzzing)
-               -DENABLE_MAN:BOOL=OFF
-       )
-
-       cmake_src_configure
-}
-
-src_install() {
-       cmake_src_install
-       # bug 809362
-       dostrip -x /usr/bin/bpftrace
-       doman man/man8/*.?
-}

diff --git a/dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild 
b/dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild
deleted file mode 100644
index 161c441420f7..000000000000
--- a/dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=16
-
-inherit llvm linux-info cmake
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/iovisor/bpftrace";
-MY_PV="${PV//_/}"
-SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> 
${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# remove keywords until build works:
-# https://github.com/iovisor/bpftrace/issues/2349
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="fuzzing test"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
-       >=dev-libs/libbpf-1.1:=
-       >=dev-util/bcc-0.25.0:=
-       >=sys-devel/llvm-10:=[llvm_targets_BPF(+)]
-       >=sys-devel/clang-10:=
-       <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
-       <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
-       sys-libs/binutils-libs:=
-       virtual/libelf:=
-"
-DEPEND="
-       ${COMMON_DEPEND}
-       dev-libs/cereal:=
-       test? ( dev-cpp/gtest )
-"
-BDEPEND="
-       app-arch/xz-utils
-       sys-devel/flex
-       sys-devel/bison
-       virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
-       /usr/lib.*/libbpftraceresources.so
-       /usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
-       "${FILESDIR}/bpftrace-0.17.0-install-libs.patch"
-       "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
-       "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
-       "${FILESDIR}/bpftrace-0.17.0-llvm-16.patch"
-       "${FILESDIR}/bpftrace-0.17.0-use-std-optional.patch"
-)
-
-pkg_pretend() {
-       local CONFIG_CHECK="
-               ~BPF
-               ~BPF_EVENTS
-               ~BPF_JIT
-               ~BPF_SYSCALL
-               ~FTRACE_SYSCALLS
-               ~HAVE_EBPF_JIT
-       "
-
-       check_extra_config
-}
-
-pkg_setup() {
-       llvm_pkg_setup
-}
-
-src_configure() {
-       local mycmakeargs=(
-               -DSTATIC_LINKING:BOOL=OFF
-               # bug 809362, 754648
-               -DBUILD_TESTING:BOOL=$(usex test)
-               -DBUILD_FUZZ:BOOL=$(usex fuzzing)
-               -DENABLE_MAN:BOOL=OFF
-               -DUSE_SYSTEM_BPF_BCC:BOOL=ON
-       )
-
-       cmake_src_configure
-}
-
-src_install() {
-       cmake_src_install
-       # bug 809362
-       dostrip -x /usr/bin/bpftrace
-       doman man/man8/*.?
-}

diff --git a/dev-util/bpftrace/bpftrace-0.17.0-r4.ebuild 
b/dev-util/bpftrace/bpftrace-0.17.0-r4.ebuild
deleted file mode 100644
index 21b7e21bf0fd..000000000000
--- a/dev-util/bpftrace/bpftrace-0.17.0-r4.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=16
-
-inherit llvm linux-info cmake
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/iovisor/bpftrace";
-MY_PV="${PV//_/}"
-SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> 
${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# remove keywords until build works:
-# https://github.com/iovisor/bpftrace/issues/2349
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="fuzzing test"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
-       >=dev-libs/libbpf-1.1:=
-       >=dev-util/bcc-0.25.0:=
-       >=sys-devel/llvm-10[llvm_targets_BPF(+)]
-       >=sys-devel/clang-10
-       <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
-       <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
-       sys-libs/binutils-libs:=
-       virtual/libelf:=
-"
-DEPEND="
-       ${COMMON_DEPEND}
-       dev-libs/cereal:=
-       test? ( dev-cpp/gtest )
-"
-BDEPEND="
-       app-arch/xz-utils
-       sys-devel/flex
-       sys-devel/bison
-       virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
-       /usr/lib.*/libbpftraceresources.so
-       /usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
-       "${FILESDIR}/bpftrace-0.17.0-install-libs.patch"
-       "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
-       "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
-       "${FILESDIR}/bpftrace-0.17.0-llvm-16.patch"
-       "${FILESDIR}/bpftrace-0.17.0-use-std-optional.patch"
-)
-
-pkg_pretend() {
-       local CONFIG_CHECK="
-               ~BPF
-               ~BPF_EVENTS
-               ~BPF_JIT
-               ~BPF_SYSCALL
-               ~FTRACE_SYSCALLS
-               ~HAVE_EBPF_JIT
-       "
-
-       check_extra_config
-}
-
-pkg_setup() {
-       llvm_pkg_setup
-}
-
-src_configure() {
-       local mycmakeargs=(
-               -DSTATIC_LINKING:BOOL=OFF
-               # bug 809362, 754648
-               -DBUILD_TESTING:BOOL=$(usex test)
-               -DBUILD_FUZZ:BOOL=$(usex fuzzing)
-               -DENABLE_MAN:BOOL=OFF
-               -DUSE_SYSTEM_BPF_BCC:BOOL=ON
-       )
-
-       cmake_src_configure
-}
-
-src_install() {
-       cmake_src_install
-       # bug 809362
-       dostrip -x /usr/bin/bpftrace
-       doman man/man8/*.?
-}

diff --git a/dev-util/bpftrace/files/bpftrace-0.16.0-install-libs.patch 
b/dev-util/bpftrace/files/bpftrace-0.16.0-install-libs.patch
deleted file mode 100644
index 290c1065b2ce..000000000000
--- a/dev-util/bpftrace/files/bpftrace-0.16.0-install-libs.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e63bc83c..ada1d370 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -114,9 +114,10 @@ find_package(FLEX REQUIRED)
- bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc 
VERBOSE)
- flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc)
- add_flex_bison_dependency(flex_lexer bison_parser)
--add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
--target_compile_options(parser PRIVATE "-w")
--target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
-+add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} 
${FLEX_flex_lexer_OUTPUTS})
-+target_compile_options(bpftraceparser PRIVATE "-w")
-+target_include_directories(bpftraceparser PUBLIC src src/ast 
${CMAKE_BINARY_DIR})
-+install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- include(CheckSymbolExists)
- set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
-diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
-index a95c60a1..f5c4d676 100644
---- a/resources/CMakeLists.txt
-+++ b/resources/CMakeLists.txt
-@@ -1,6 +1,7 @@
--add_library(resources headers.cpp)
-+add_library(bpftraceresources headers.cpp)
- 
--target_include_directories(resources PUBLIC ../src)
-+target_include_directories(bpftraceresources PUBLIC ../src)
-+install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- function(embed_headers output)
-   file(WRITE ${output} "#include \"headers.h\"\n\nnamespace bpftrace {\n")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 09b8c1e0..b9e9ac44 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -42,7 +42,7 @@ add_library(runtime
-   ${BFD_DISASM_SRC}
- )
- # Ensure flex+bison outputs are built first
--add_dependencies(runtime parser)
-+add_dependencies(runtime bpftraceparser)
- 
- add_library(libbpftrace
-   build_info.cpp
-@@ -59,6 +59,7 @@ add_executable(${BPFTRACE}
- )
- 
- install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR})
-+install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- target_link_libraries(${BPFTRACE} libbpftrace)
- 
- if (BUILD_FUZZ)
-@@ -111,6 +112,7 @@ target_include_directories(runtime PRIVATE 
${CMAKE_BINARY_DIR})
- target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src)
- target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
- target_compile_definitions(runtime PRIVATE ${BPFTRACE_FLAGS})
-+install(TARGETS runtime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- target_compile_definitions(libbpftrace PRIVATE ${BPFTRACE_FLAGS})
- 
- # Linking
-@@ -123,7 +125,8 @@ if(STATIC_LINKING)
- endif(STATIC_LINKING)
- 
- 
--target_link_libraries(libbpftrace parser resources runtime aot ast arch 
cxxdemangler_llvm)
-+target_link_libraries(libbpftrace bpftraceparser bpftraceresources
-+  runtime aot bpftraceast bpftracearch cxxdemangler_llvm)
- 
- if (LIBBPF_BTF_DUMP_FOUND)
-   target_link_libraries(runtime ${LIBBPF_LIBRARIES})
-@@ -168,6 +171,7 @@ if(STATIC_LINKING)
-   target_link_libraries(runtime LIBELF)
- else()
-   target_link_libraries(runtime ${LIBELF_LIBRARIES})
-+  target_link_libraries(runtime ${LIBBPF_LIBRARIES})
- endif(STATIC_LINKING)
- 
- if (LIBDW_FOUND)
-diff --git a/src/aot/CMakeLists.txt b/src/aot/CMakeLists.txt
-index c776d204..a1d0d75e 100644
---- a/src/aot/CMakeLists.txt
-+++ b/src/aot/CMakeLists.txt
-@@ -1,8 +1,9 @@
- add_library(aot aot.cpp)
--add_dependencies(aot parser)
-+add_dependencies(aot bpftraceparser)
- target_include_directories(aot PUBLIC ${CMAKE_SOURCE_DIR}/src)
- target_include_directories(aot PUBLIC ${CMAKE_BINARY_DIR})
- target_compile_definitions(aot PRIVATE ${BPFTRACE_FLAGS})
-+install(TARGETS aot LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- # Only build aotrt if supported bcc is used
- # 
(https://github.com/iovisor/bcc/commit/719191867a25ce07dc96f7faf9b8ccedadc7ec44)
-@@ -11,7 +12,7 @@ if(NOT LIBBCC_BPF_CONTAINS_RUNTIME)
- endif()
- 
- add_executable(bpftrace-aotrt aot_main.cpp)
--target_link_libraries(bpftrace-aotrt aot runtime arch ast_defs 
cxxdemangler_stdlib)
-+target_link_libraries(bpftrace-aotrt aot runtime bpftracearch ast_defs 
cxxdemangler_stdlib)
- install(TARGETS bpftrace-aotrt DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- if(LIBPCAP_FOUND)
-diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
-index 127c3528..4e05d40a 100644
---- a/src/arch/CMakeLists.txt
-+++ b/src/arch/CMakeLists.txt
-@@ -1,17 +1,19 @@
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
--    add_library(arch aarch64.cpp)
-+    add_library(bpftracearch aarch64.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR
-        CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
--    add_library(arch ppc64.cpp)
-+    add_library(bpftracearch ppc64.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "s390" OR
-        CMAKE_SYSTEM_PROCESSOR STREQUAL "s390x")
--    add_library(arch s390.cpp)
-+    add_library(bpftracearch s390.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
--    add_library(arch x86_64.cpp)
-+    add_library(bpftracearch x86_64.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips64")
--    add_library(arch mips64.cpp)
-+    add_library(bpftracearch mips64.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
--    add_library(arch riscv64.cpp)
-+    add_library(bpftracearch riscv64.cpp)
- else()
-   message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
- endif()
-+
-+install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
-index 014295cd..c35f6ac6 100644
---- a/src/ast/CMakeLists.txt
-+++ b/src/ast/CMakeLists.txt
-@@ -1,6 +1,6 @@
- add_library(ast_defs ast.cpp)
- 
--add_library(ast
-+add_library(bpftraceast
-   async_event_types.cpp
-   attachpoint_parser.cpp
-   int_parser.cpp
-@@ -20,11 +20,13 @@ add_library(ast
- target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src)
- target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
- target_include_directories(ast_defs PUBLIC ${CMAKE_BINARY_DIR})
--target_link_libraries(ast ast_defs arch bpforc parser)
-+target_link_libraries(bpftraceast ast_defs bpftracearch bpforc bpftraceparser)
-+install(TARGETS ast_defs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
--add_dependencies(ast_defs parser)
-+add_dependencies(ast_defs bpftraceparser)
- 
--target_compile_definitions(ast PRIVATE ${BPFTRACE_FLAGS})
-+target_compile_definitions(bpftraceast PRIVATE ${BPFTRACE_FLAGS})
- 
- if (STATIC_LINKING)
-   set(clang_libs
-@@ -55,11 +57,11 @@ if (STATIC_LINKING)
- 
- 
-   if(EMBED_USE_LLVM)
--    target_link_libraries(ast "-Wl,--start-group" 
${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} 
"-Wl,--end-group")
-+    target_link_libraries(bpftraceast "-Wl,--start-group" 
${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} 
"-Wl,--end-group")
-   else()
-     llvm_map_components_to_libnames(llvm_libs ${llvm_lib_names})
--    target_link_libraries(ast ${clang_libs})
--    target_link_libraries(ast ${llvm_libs})
-+    target_link_libraries(bpftraceast ${clang_libs})
-+    target_link_libraries(bpftraceast ${llvm_libs})
-   endif()
- 
-   if(STATIC_LIBC)
-@@ -69,13 +71,13 @@ if (STATIC_LINKING)
- else()
-   find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS})
-   if(found_LLVM)
--    target_link_libraries(ast LLVM)
-+    target_link_libraries(bpftraceast LLVM)
-   else()
-     llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit 
orcjit ${LLVM_TARGETS_TO_BUILD})
-     llvm_expand_dependencies(llvm_libs ${_llvm_libs})
--    target_link_libraries(ast ${llvm_libs})
-+    target_link_libraries(bpftraceast ${llvm_libs})
-   endif()
--  target_link_libraries(ast libclang)
-+  target_link_libraries(bpftraceast libclang)
- endif()
- 
- add_subdirectory(bpforc)
-diff --git a/src/ast/bpforc/CMakeLists.txt b/src/ast/bpforc/CMakeLists.txt
-index 3f6dbefa..8ccfbb2b 100644
---- a/src/ast/bpforc/CMakeLists.txt
-+++ b/src/ast/bpforc/CMakeLists.txt
-@@ -1 +1,2 @@
- add_library(bpforc bpforc.cpp)
-+install(TARGETS bpforc LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/src/cxxdemangler/CMakeLists.txt b/src/cxxdemangler/CMakeLists.txt
-index 04cfcdd9..5677aa4b 100644
---- a/src/cxxdemangler/CMakeLists.txt
-+++ b/src/cxxdemangler/CMakeLists.txt
-@@ -1,2 +1,4 @@
- add_library(cxxdemangler_stdlib cxxdemangler_stdlib.cpp)
- add_library(cxxdemangler_llvm cxxdemangler_llvm.cpp)
-+install(TARGETS cxxdemangler_stdlib LIBRARY DESTINATION 
${CMAKE_INSTALL_LIBDIR})
-+install(TARGETS cxxdemangler_llvm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

diff --git a/dev-util/bpftrace/files/bpftrace-0.16.0-opaquepointer.patch 
b/dev-util/bpftrace/files/bpftrace-0.16.0-opaquepointer.patch
deleted file mode 100644
index 656bf0f6a639..000000000000
--- a/dev-util/bpftrace/files/bpftrace-0.16.0-opaquepointer.patch
+++ /dev/null
@@ -1,450 +0,0 @@
-commit a8665b2ef3199e82fd2ad076c1f07f1af2ec9272
-Author: Viktor Malik <viktor.ma...@gmail.com>
-Date:   Mon Oct 10 14:26:38 2022 +0200
-
-    IR builder: get rid of getPointerElementType calls
-    
-    Usage of Value::getPointerElementType is deprecated and will be dropped
-    in LLVM 16 [1].
-    
-    There are several places where we use this method:
-    - function (value) calls - the called function type is usually
-      available, so just pass it to createCall, the only exception is
-      CreateProbeReadStr which must have been refactored
-    - getting the type of alloca instruction - there is a dedicated
-      AllocaInst::getAllocatedType method that can be used instead
-    - strncmp - pass sizes of the strings to CreateStrncmp to be able to get
-      the correct string type (which is array of uint8)
-    
-    [1] https://llvm.org/docs/OpaquePointers.html
-
-diff --git a/src/ast/irbuilderbpf.cpp b/src/ast/irbuilderbpf.cpp
-index 09ae1c5e..da120ba1 100644
---- a/src/ast/irbuilderbpf.cpp
-+++ b/src/ast/irbuilderbpf.cpp
-@@ -291,17 +291,16 @@ CallInst 
*IRBuilderBPF::CreateHelperCall(libbpf::bpf_func_id func_id,
-   Constant *helper_func = ConstantExpr::getCast(Instruction::IntToPtr,
-                                                 getInt64(func_id),
-                                                 helper_ptr_type);
--  return createCall(helper_func, args, Name);
-+  return createCall(helper_type, helper_func, args, Name);
- }
- 
--CallInst *IRBuilderBPF::createCall(Value *callee,
-+CallInst *IRBuilderBPF::createCall(FunctionType *callee_type,
-+                                   Value *callee,
-                                    ArrayRef<Value *> args,
-                                    const Twine &Name)
- {
- #if LLVM_VERSION_MAJOR >= 11
--  auto *calleePtrType = cast<PointerType>(callee->getType());
--  auto *calleeType = 
cast<FunctionType>(calleePtrType->getPointerElementType());
--  return CreateCall(calleeType, callee, args, Name);
-+  return CreateCall(callee_type, callee, args, Name);
- #else
-   return CreateCall(callee, args, Name);
- #endif
-@@ -310,7 +309,7 @@ CallInst *IRBuilderBPF::createCall(Value *callee,
- CallInst *IRBuilderBPF::CreateBpfPseudoCallId(int mapid)
- {
-   Function *pseudo_func = module_.getFunction("llvm.bpf.pseudo");
--  return createCall(pseudo_func,
-+  return CreateCall(pseudo_func,
-                     { getInt64(BPF_PSEUDO_MAP_FD), getInt64(mapid) },
-                     "pseudo");
- }
-@@ -349,7 +348,8 @@ CallInst *IRBuilderBPF::createMapLookup(int mapid, Value 
*key)
-       Instruction::IntToPtr,
-       getInt64(libbpf::BPF_FUNC_map_lookup_elem),
-       lookup_func_ptr_type);
--  return createCall(lookup_func, { map_ptr, key }, "lookup_elem");
-+  return createCall(
-+      lookup_func_type, lookup_func, { map_ptr, key }, "lookup_elem");
- }
- 
- CallInst *IRBuilderBPF::CreateGetJoinMap(Value *ctx, const location &loc)
-@@ -400,8 +400,7 @@ Value *IRBuilderBPF::CreateMapLookupElem(Value *ctx,
-     CREATE_MEMCPY(value, call, type.GetSize(), 1);
-   else
-   {
--    assert(value->getType()->isPointerTy() &&
--           (value->getType()->getPointerElementType() == getInt64Ty()));
-+    assert(value->getAllocatedType() == getInt64Ty());
-     // createMapLookup  returns an u8*
-     auto *cast = CreatePointerCast(call, value->getType(), "cast");
-     CreateStore(CreateLoad(getInt64Ty(), cast), value);
-@@ -451,7 +450,8 @@ void IRBuilderBPF::CreateMapUpdateElem(Value *ctx,
-       Instruction::IntToPtr,
-       getInt64(libbpf::BPF_FUNC_map_update_elem),
-       update_func_ptr_type);
--  CallInst *call = createCall(update_func,
-+  CallInst *call = createCall(update_func_type,
-+                              update_func,
-                               { map_ptr, key, val, flags },
-                               "update_elem");
-   CreateHelperErrorCond(ctx, call, libbpf::BPF_FUNC_map_update_elem, loc);
-@@ -475,7 +475,8 @@ void IRBuilderBPF::CreateMapDeleteElem(Value *ctx,
-       Instruction::IntToPtr,
-       getInt64(libbpf::BPF_FUNC_map_delete_elem),
-       delete_func_ptr_type);
--  CallInst *call = createCall(delete_func, { map_ptr, key }, "delete_elem");
-+  CallInst *call = createCall(
-+      delete_func_type, delete_func, { map_ptr, key }, "delete_elem");
-   CreateHelperErrorCond(ctx, call, libbpf::BPF_FUNC_map_delete_elem, loc);
- }
- 
-@@ -501,72 +502,53 @@ void IRBuilderBPF::CreateProbeRead(Value *ctx,
-   Constant *proberead_func = ConstantExpr::getCast(Instruction::IntToPtr,
-                                                    getInt64(read_fn),
-                                                    proberead_func_ptr_type);
--  CallInst *call = createCall(proberead_func,
-+  CallInst *call = createCall(proberead_func_type,
-+                              proberead_func,
-                               { dst, size, src },
-                               probeReadHelperName(read_fn));
-   CreateHelperErrorCond(ctx, call, read_fn, loc);
- }
- 
--Constant *IRBuilderBPF::createProbeReadStrFn(llvm::Type *dst,
--                                             llvm::Type *src,
--                                             AddrSpace as)
--{
--  assert(src && (src->isIntegerTy() || src->isPointerTy()));
--  // int bpf_probe_read_str(void *dst, int size, const void *unsafe_ptr)
--  FunctionType *probereadstr_func_type = FunctionType::get(
--      getInt64Ty(), { dst, getInt32Ty(), src }, false);
--  PointerType *probereadstr_func_ptr_type = PointerType::get(
--      probereadstr_func_type, 0);
--  return ConstantExpr::getCast(Instruction::IntToPtr,
--                               getInt64(selectProbeReadHelper(as, true)),
--                               probereadstr_func_ptr_type);
--}
--
- CallInst *IRBuilderBPF::CreateProbeReadStr(Value *ctx,
--                                           AllocaInst *dst,
-+                                           Value *dst,
-                                            size_t size,
-                                            Value *src,
-                                            AddrSpace as,
-                                            const location &loc)
- {
--  assert(ctx && ctx->getType() == getInt8PtrTy());
-   return CreateProbeReadStr(ctx, dst, getInt32(size), src, as, loc);
- }
- 
- CallInst *IRBuilderBPF::CreateProbeReadStr(Value *ctx,
-                                            Value *dst,
--                                           size_t size,
--                                           Value *src,
--                                           AddrSpace as,
--                                           const location &loc)
--{
--  assert(ctx && ctx->getType() == getInt8PtrTy());
--  Constant *fn = createProbeReadStrFn(dst->getType(), src->getType(), as);
--  auto read_fn = selectProbeReadHelper(as, true);
--  CallInst *call = createCall(fn,
--                              { dst, getInt32(size), src },
--                              probeReadHelperName(read_fn));
--  CreateHelperErrorCond(ctx, call, read_fn, loc);
--  return call;
--}
--
--CallInst *IRBuilderBPF::CreateProbeReadStr(Value *ctx,
--                                           AllocaInst *dst,
-                                            llvm::Value *size,
-                                            Value *src,
-                                            AddrSpace as,
-                                            const location &loc)
- {
-   assert(ctx && ctx->getType() == getInt8PtrTy());
--  assert(dst && dst->getAllocatedType()->isArrayTy() &&
--         dst->getAllocatedType()->getArrayElementType() == getInt8Ty());
-   assert(size && size->getType()->isIntegerTy());
-+  if (auto *dst_alloca = dyn_cast<AllocaInst>(dst))
-+  {
-+    assert(dst_alloca->getAllocatedType()->isArrayTy() &&
-+           dst_alloca->getAllocatedType()->getArrayElementType() ==
-+               getInt8Ty());
-+  }
- 
--  auto *size_i32 = CreateIntCast(size, getInt32Ty(), false);
-+  auto *size_i32 = size;
-+  if (size_i32->getType()->getScalarSizeInBits() != 32)
-+    size_i32 = CreateIntCast(size_i32, getInt32Ty(), false);
- 
--  Constant *fn = createProbeReadStrFn(dst->getType(), src->getType(), as);
-   auto read_fn = selectProbeReadHelper(as, true);
--  CallInst *call = createCall(fn,
-+  // int bpf_probe_read_str(void *dst, int size, const void *unsafe_ptr)
-+  FunctionType *probereadstr_func_type = FunctionType::get(
-+      getInt64Ty(), { dst->getType(), getInt32Ty(), src->getType() }, false);
-+  PointerType *probereadstr_func_ptr_type = PointerType::get(
-+      probereadstr_func_type, 0);
-+  Constant *probereadstr_callee = ConstantExpr::getCast(
-+      Instruction::IntToPtr, getInt64(read_fn), probereadstr_func_ptr_type);
-+  CallInst *call = createCall(probereadstr_func_type,
-+                              probereadstr_callee,
-                               { dst, size_i32, src },
-                               probeReadHelperName(read_fn));
-   CreateHelperErrorCond(ctx, call, read_fn, loc);
-@@ -725,8 +707,10 @@ Value *IRBuilderBPF::CreateUSDTReadArgument(Value *ctx,
-   return result;
- }
- 
--Value *IRBuilderBPF::CreateStrncmp(Value *val1,
--                                   Value *val2,
-+Value *IRBuilderBPF::CreateStrncmp(Value *str1,
-+                                   uint64_t str1_size,
-+                                   Value *str2,
-+                                   uint64_t str2_size,
-                                    uint64_t n,
-                                    bool inverse)
- {
-@@ -755,40 +739,21 @@ Value *IRBuilderBPF::CreateStrncmp(Value *val1,
-   // Check if the compared strings are literals.
-   // If so, we can avoid storing the literal in memory.
-   std::optional<std::string> literal1;
--  if (auto constString1 = dyn_cast<ConstantDataArray>(val1))
-+  if (auto constString1 = dyn_cast<ConstantDataArray>(str1))
-     literal1 = constString1->getAsString();
--  else if (isa<ConstantAggregateZero>(val1))
-+  else if (isa<ConstantAggregateZero>(str1))
-     literal1 = "";
-   else
-     literal1 = std::nullopt;
- 
-   std::optional<std::string> literal2;
--  if (auto constString2 = dyn_cast<ConstantDataArray>(val2))
-+  if (auto constString2 = dyn_cast<ConstantDataArray>(str2))
-     literal2 = constString2->getAsString();
--  else if (isa<ConstantAggregateZero>(val2))
-+  else if (isa<ConstantAggregateZero>(str2))
-     literal2 = "";
-   else
-     literal2 = std::nullopt;
- 
--  auto *val1p = dyn_cast<PointerType>(val1->getType());
--  auto *val2p = dyn_cast<PointerType>(val2->getType());
--#ifndef NDEBUG
--  if (!literal1)
--  {
--    assert(val1p);
--    assert(val1p->getPointerElementType()->isArrayTy() &&
--           val1p->getPointerElementType()->getArrayElementType() ==
--               getInt8Ty());
--  }
--  if (!literal2)
--  {
--    assert(val2p);
--    assert(val2p->getPointerElementType()->isArrayTy() &&
--           val2p->getPointerElementType()->getArrayElementType() ==
--               getInt8Ty());
--  }
--#endif
--
-   Function *parent = GetInsertBlock()->getParent();
-   AllocaInst *store = CreateAllocaBPF(getInt1Ty(), "strcmp.result");
-   BasicBlock *str_ne = BasicBlock::Create(module_.getContext(),
-@@ -815,8 +780,8 @@ Value *IRBuilderBPF::CreateStrncmp(Value *val1,
-       l = getInt8(literal1->c_str()[i]);
-     else
-     {
--      auto *ptr_l = CreateGEP(val1p->getPointerElementType(),
--                              val1,
-+      auto *ptr_l = CreateGEP(ArrayType::get(getInt8Ty(), str1_size),
-+                              str1,
-                               { getInt32(0), getInt32(i) });
-       l = CreateLoad(getInt8Ty(), ptr_l);
-     }
-@@ -826,8 +791,8 @@ Value *IRBuilderBPF::CreateStrncmp(Value *val1,
-       r = getInt8(literal2->c_str()[i]);
-     else
-     {
--      auto *ptr_r = CreateGEP(val2p->getPointerElementType(),
--                              val2,
-+      auto *ptr_r = CreateGEP(ArrayType::get(getInt8Ty(), str2_size),
-+                              str2,
-                               { getInt32(0), getInt32(i) });
-       r = CreateLoad(getInt8Ty(), ptr_r);
-     }
-@@ -987,11 +952,9 @@ void IRBuilderBPF::CreateGetCurrentComm(Value *ctx,
-                                         size_t size,
-                                         const location &loc)
- {
--  assert(buf->getType()->getPointerElementType()->isArrayTy() &&
--         buf->getType()->getPointerElementType()->getArrayNumElements() >=
--             size &&
--         buf->getType()->getPointerElementType()->getArrayElementType() ==
--             getInt8Ty());
-+  assert(buf->getAllocatedType()->isArrayTy() &&
-+         buf->getAllocatedType()->getArrayNumElements() >= size &&
-+         buf->getAllocatedType()->getArrayElementType() == getInt8Ty());
- 
-   // long bpf_get_current_comm(char *buf, int size_of_buf)
-   // Return: 0 on success or negative error
-@@ -1070,7 +1033,7 @@ void IRBuilderBPF::CreateSignal(Value *ctx, Value *sig, 
const location &loc)
-       Instruction::IntToPtr,
-       getInt64(libbpf::BPF_FUNC_send_signal),
-       signal_func_ptr_type);
--  CallInst *call = createCall(signal_func, { sig }, "signal");
-+  CallInst *call = createCall(signal_func_type, signal_func, { sig }, 
"signal");
-   CreateHelperErrorCond(ctx, call, libbpf::BPF_FUNC_send_signal, loc);
- }
- 
-@@ -1084,7 +1047,7 @@ void IRBuilderBPF::CreateOverrideReturn(Value *ctx, 
Value *rc)
-   Constant *override_func = ConstantExpr::getCast(Instruction::IntToPtr,
-       getInt64(libbpf::BPF_FUNC_override_return),
-       override_func_ptr_type);
--  createCall(override_func, { ctx, rc }, "override");
-+  createCall(override_func_type, override_func, { ctx, rc }, "override");
- }
- 
- CallInst *IRBuilderBPF::CreateSkbOutput(Value *skb,
-@@ -1119,7 +1082,8 @@ CallInst *IRBuilderBPF::CreateSkbOutput(Value *skb,
-       Instruction::IntToPtr,
-       getInt64(libbpf::BPF_FUNC_skb_output),
-       skb_output_func_ptr_type);
--  CallInst *call = createCall(skb_output_func,
-+  CallInst *call = createCall(skb_output_func_type,
-+                              skb_output_func,
-                               { skb, map_ptr, flags, data, size_val },
-                               "skb_output");
-   return call;
-@@ -1328,7 +1292,8 @@ void IRBuilderBPF::CreateSeqPrintf(Value *ctx,
-                           CreateGEP(getInt64Ty(), meta, getInt64(0)),
-                           "seq");
- 
--  CallInst *call = createCall(seq_printf_func,
-+  CallInst *call = createCall(seq_printf_func_type,
-+                              seq_printf_func,
-                               { seq, fmt, fmt_size, data, data_len },
-                               "seq_printf");
-   CreateHelperErrorCond(ctx, call, libbpf::BPF_FUNC_seq_printf, loc);
-diff --git a/src/ast/irbuilderbpf.h b/src/ast/irbuilderbpf.h
-index b6a06778..19b28180 100644
---- a/src/ast/irbuilderbpf.h
-+++ b/src/ast/irbuilderbpf.h
-@@ -106,17 +106,11 @@ public:
-       bool isVolatile = false,
-       std::optional<AddrSpace> addrSpace = std::nullopt);
-   CallInst *CreateProbeReadStr(Value *ctx,
--                               AllocaInst *dst,
-+                               Value *dst,
-                                llvm::Value *size,
-                                Value *src,
-                                AddrSpace as,
-                                const location &loc);
--  CallInst *CreateProbeReadStr(Value *ctx,
--                               AllocaInst *dst,
--                               size_t size,
--                               Value *src,
--                               AddrSpace as,
--                               const location &loc);
-   CallInst *CreateProbeReadStr(Value *ctx,
-                                Value *dst,
-                                size_t size,
-@@ -131,7 +125,12 @@ public:
-                                 pid_t pid,
-                                 AddrSpace as,
-                                 const location &loc);
--  Value *CreateStrncmp(Value *val1, Value *val2, uint64_t n, bool inverse);
-+  Value *CreateStrncmp(Value *str1,
-+                       uint64_t str1_size,
-+                       Value *str2,
-+                       uint64_t str2_size,
-+                       uint64_t n,
-+                       bool inverse);
-   CallInst *CreateGetNs(bool boot_time, const location &loc);
-   CallInst *CreateGetPidTgid(const location &loc);
-   CallInst *CreateGetCurrentCgroupId(const location &loc);
-@@ -147,7 +146,10 @@ public:
-                              ArrayRef<Value *> args,
-                              const Twine &Name,
-                              const location *loc = nullptr);
--  CallInst   *createCall(Value *callee, ArrayRef<Value *> args, const Twine 
&Name);
-+  CallInst *createCall(FunctionType *callee_type,
-+                       Value *callee,
-+                       ArrayRef<Value *> args,
-+                       const Twine &Name);
-   void        CreateGetCurrentComm(Value *ctx, AllocaInst *buf, size_t size, 
const location& loc);
-   void CreatePerfEventOutput(Value *ctx,
-                              Value *data,
-@@ -205,9 +207,6 @@ private:
-                                 AddrSpace as,
-                                 const location &loc);
-   CallInst *createMapLookup(int mapid, Value *key);
--  Constant *createProbeReadStrFn(llvm::Type *dst,
--                                 llvm::Type *src,
--                                 AddrSpace as);
-   libbpf::bpf_func_id selectProbeReadHelper(AddrSpace as, bool str);
- 
-   llvm::Type *getKernelPointerStorageTy();
-diff --git a/src/ast/passes/codegen_llvm.cpp b/src/ast/passes/codegen_llvm.cpp
-index d4a5e1c7..0703d196 100644
---- a/src/ast/passes/codegen_llvm.cpp
-+++ b/src/ast/passes/codegen_llvm.cpp
-@@ -1152,8 +1152,12 @@ void CodegenLLVM::visit(Call &call)
-     auto left_string = getString(left_arg);
-     auto right_string = getString(right_arg);
- 
--    expr_ = b_.CreateStrncmp(
--        left_string.first, right_string.first, size, false);
-+    expr_ = b_.CreateStrncmp(left_string.first,
-+                             left_string.second,
-+                             right_string.first,
-+                             right_string.second,
-+                             size,
-+                             false);
-   }
-   else if (call.func == "override")
-   {
-@@ -1284,8 +1288,7 @@ void CodegenLLVM::visit(Variable &var)
-   else
-   {
-     auto *var_alloca = variables_[var.ident];
--    expr_ = b_.CreateLoad(var_alloca->getType()->getPointerElementType(),
--                          var_alloca);
-+    expr_ = b_.CreateLoad(var_alloca->getAllocatedType(), var_alloca);
-   }
- }
- 
-@@ -1325,7 +1328,12 @@ void CodegenLLVM::binop_string(Binop &binop)
-   auto right_string = getString(binop.right);
- 
-   size_t len = std::min(left_string.second, right_string.second);
--  expr_ = b_.CreateStrncmp(left_string.first, right_string.first, len, 
inverse);
-+  expr_ = b_.CreateStrncmp(left_string.first,
-+                           left_string.second,
-+                           right_string.first,
-+                           right_string.second,
-+                           len,
-+                           inverse);
- }
- 
- void CodegenLLVM::binop_buf(Binop &binop)
-@@ -1349,7 +1357,12 @@ void CodegenLLVM::binop_buf(Binop &binop)
- 
-   size_t len = std::min(binop.left->type.GetSize(),
-                         binop.right->type.GetSize());
--  expr_ = b_.CreateStrncmp(left_string, right_string, len, inverse);
-+  expr_ = b_.CreateStrncmp(left_string,
-+                           binop.left->type.GetSize(),
-+                           right_string,
-+                           binop.right->type.GetSize(),
-+                           len,
-+                           inverse);
- }
- 
- void CodegenLLVM::binop_int(Binop &binop)
-@@ -3498,9 +3511,8 @@ void CodegenLLVM::createIncDec(Unop &unop)
-   else if (unop.expr->is_variable)
-   {
-     Variable &var = static_cast<Variable &>(*unop.expr);
--    Value *oldval = b_.CreateLoad(
--        variables_[var.ident]->getType()->getPointerElementType(),
--        variables_[var.ident]);
-+    Value *oldval = b_.CreateLoad(variables_[var.ident]->getAllocatedType(),
-+                                  variables_[var.ident]);
-     Value *newval;
-     if (is_increment)
-       newval = b_.CreateAdd(oldval, b_.GetIntSameSize(step, oldval));


Reply via email to