Skip to content

Commit 58d27e7

Browse files
committed
Upgrade LLVM to v15.
1 parent 20a9bd2 commit 58d27e7

File tree

11 files changed

+38
-22
lines changed

11 files changed

+38
-22
lines changed
Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
#!/bin/bash
22

3+
# Add official LLVM repositories
4+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
5+
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" | sudo tee /etc/apt/sources.list.d/llvm.list
6+
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" | sudo tee -a /etc/apt/sources.list.d/llvm.list
7+
sudo apt-get update
8+
39
# Install required packages for CodeCompass build
4-
sudo apt-get install -y git cmake make g++ libboost-all-dev llvm-11-dev clang-11 \
5-
libclang-11-dev odb libodb-dev default-jdk libssl-dev \
10+
sudo apt-get install -y git cmake make g++ libboost-all-dev \
11+
llvm-15-dev clang-15 libclang-15-dev odb \
12+
libodb-dev default-jdk libssl-dev \
613
libgraphviz-dev libmagic-dev libgit2-dev ctags doxygen libgtest-dev npm libldap2-dev

.github/scripts/ubuntu-22.04/setup_build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Install required packages for CodeCompass build
44
sudo apt install git cmake make g++ libboost-all-dev \
5-
llvm-11-dev clang-11 libclang-11-dev \
5+
llvm-15-dev clang-15 libclang-15-dev \
66
gcc-11-plugin-dev thrift-compiler libthrift-dev \
77
default-jdk libssl-dev libgraphviz-dev libmagic-dev libgit2-dev exuberant-ctags doxygen \
88
libldap2-dev libgtest-dev

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ jobs:
137137
-DCMAKE_INSTALL_PREFIX=$HOME/${{ matrix.os }}/${{ matrix.db }}/cc-install
138138
-DDATABASE=$DB_TYPE
139139
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
140-
-DLLVM_DIR=/usr/lib/llvm-11/cmake
141-
-DClang_DIR=/usr/lib/cmake/clang-11
140+
-DLLVM_DIR=/usr/lib/llvm-15/cmake
141+
-DClang_DIR=/usr/lib/cmake/clang-15
142142
-DTEST_DB=$DB_CONNSTRING
143143
144144
- name: Build

.gitlab/build-deps.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,9 @@ export PATH=$DEPS_INSTALL_RUNTIME_DIR/python-install/bin:$PATH
250250

251251
if [ ! -f $DEPS_INSTALL_RUNTIME_DIR/llvm-install/bin/clang ]; then
252252
cd $PACKAGES_DIR
253-
wget --no-verbose --no-clobber https://github.com/llvm/llvm-project/archive/llvmorg-11.1.0.tar.gz
254-
tar -xf llvmorg-11.1.0.tar.gz
255-
mv llvm-project-llvmorg-11.1.0 llvm-project
253+
wget --no-verbose --no-clobber https://github.com/llvm/llvm-project/archive/llvmorg-15.0.7.tar.gz
254+
tar -xf llvmorg-15.0.7.tar.gz
255+
mv llvm-project-llvmorg-15.0.7 llvm-project
256256
mkdir llvm-project/build
257257
cd llvm-project/build
258258

@@ -264,7 +264,7 @@ if [ ! -f $DEPS_INSTALL_RUNTIME_DIR/llvm-install/bin/clang ]; then
264264
-DLLVM_ENABLE_RTTI=ON
265265

266266
make install --quiet --jobs $(nproc)
267-
rm -f $PACKAGES_DIR/llvmorg-11.1.0.tar.gz
267+
rm -f $PACKAGES_DIR/llvmorg-15.0.7.tar.gz
268268
else
269269
echo "Found LLVM/Clang in cache."
270270
fi

doc/deps.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ be installed from the official repository of the given Linux distribution.
1515
is required. (Alternatively, you can compile with Clang.)
1616
- **`gcc-X`, `gcc-X-plugin-dev`**: For building ODB.
1717
- **`libboost-all-dev`**: Boost can be used during the development.
18-
- **`llvm-11-dev`**, **`clang-11`**, **`libclang-11-dev`**: C++ parser uses
18+
- **`llvm-15-dev`**, **`clang-15`**, **`libclang-15-dev`**: C++ parser uses
1919
LLVM/Clang for parsing the source code.
2020
- **`odb`**, **`libodb-dev`**: For persistence ODB can be used which is an
2121
Object Relation Mapping (ORM) system.
@@ -52,9 +52,18 @@ known issues.
5252

5353
#### Ubuntu 20.04 ("Focal Fossa") LTS
5454

55+
The standard Ubuntu Focal package repository contains only LLCM/Clang version 12,
56+
which is not sufficient for CodeCompass, as at least version 15 is required.
57+
Therefore LLVM and Clang should be installed from the official LLVM repositories:
58+
5559
```bash
60+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
61+
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" | sudo tee /etc/apt/sources.list.d/llvm.list
62+
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" | sudo -a tee /etc/apt/sources.list.d/llvm.list
63+
sudo apt-get update
64+
5665
sudo apt install git cmake make g++ libboost-all-dev \
57-
llvm-11-dev clang-11 libclang-11-dev \
66+
llvm-15-dev clang-15 libclang-15-dev \
5867
odb libodb-dev \
5968
default-jdk libssl-dev libgraphviz-dev libmagic-dev libgit2-dev ctags doxygen \
6069
libldap2-dev libgtest-dev
@@ -64,7 +73,7 @@ sudo apt install git cmake make g++ libboost-all-dev \
6473

6574
```bash
6675
sudo apt install git cmake make g++ libboost-all-dev \
67-
llvm-11-dev clang-11 libclang-11-dev \
76+
llvm-15-dev clang-15 libclang-15-dev \
6877
gcc-11-plugin-dev thrift-compiler libthrift-dev \
6978
default-jdk libssl-dev libgraphviz-dev libmagic-dev libgit2-dev exuberant-ctags doxygen \
7079
libldap2-dev libgtest-dev
@@ -269,8 +278,8 @@ cmake .. \
269278
-DCMAKE_INSTALL_PREFIX=<CodeCompass_install_dir> \
270279
-DDATABASE=<database_type> \
271280
-DCMAKE_BUILD_TYPE=<build_type> \
272-
-DLLVM_DIR=/usr/lib/llvm-11/cmake \
273-
-DClang_DIR=/usr/lib/cmake/clang-11
281+
-DLLVM_DIR=/usr/lib/llvm-15/cmake \
282+
-DClang_DIR=/usr/lib/cmake/clang-15
274283

275284
# To specify linker for building CodeCompass use
276285
# -DCODECOMPASS_LINKER=<path_to_linker>

docker/dev/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ RUN set -x && apt-get update -qq \
2626
libmagic-dev \
2727
libsqlite3-dev \
2828
libssl-dev \
29-
llvm-11 clang-11 llvm-11-dev libclang-11-dev \
29+
llvm-15 clang-15 llvm-15-dev libclang-15-dev \
3030
thrift-compiler libthrift-dev \
3131
postgresql-server-dev-14 \
3232
postgresql-14 && \
@@ -70,8 +70,8 @@ ENV DATABASE=sqlite \
7070
TEST_WORKSPACE=/CodeCompass/test_workspace \
7171
TEST_DB="sqlite:database=$TEST_WORKSPACE/cc_test.sqlite" \
7272
WITH_AUTH="plain;ldap" \
73-
LLVM_DIR=/usr/lib/llvm-11/cmake \
74-
Clang_DIR=/usr/lib/cmake/clang-11 \
73+
LLVM_DIR=/usr/lib/llvm-15/cmake \
74+
Clang_DIR=/usr/lib/cmake/clang-15 \
7575
CMAKE_PREFIX_PATH=/opt/odb
7676

7777
ENV PATH="$INSTALL_DIR/bin:/opt/odb/bin:$PATH"

docker/runtime/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ RUN set -x && apt-get update -qq && \
5555
apt-get install -qq --yes --no-install-recommends \
5656
curl ca-certificates gnupg \
5757
wget \
58-
llvm-11 \
58+
llvm-15 \
5959
libboost-filesystem-dev libboost-log-dev libboost-program-options-dev \
6060
default-jre \
6161
libgit2-dev \

docker/web/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ARG DEBIAN_FRONTEND=noninteractive
1717

1818
RUN set -x && apt-get update -qq \
1919
&& apt-get install -qqy --no-install-recommends \
20-
llvm-11 \
20+
llvm-15 \
2121
libboost-filesystem-dev libboost-log-dev libboost-program-options-dev \
2222
libsqlite3-dev \
2323
postgresql-server-dev-14 \

plugins/cpp/parser/src/clangastvisitor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1735,7 +1735,7 @@ class ClangASTVisitor : public clang::RecursiveASTVisitor<ClangASTVisitor>
17351735
clang::DynTypedNodeList parents
17361736
= _astContext.getParents(*expr_);
17371737

1738-
const clang::ast_type_traits::DynTypedNode& parent = parents[0];
1738+
const clang::DynTypedNode& parent = parents[0];
17391739

17401740
if (const clang::BinaryOperator* op = parent.get<clang::BinaryOperator>())
17411741
{

plugins/cpp/parser/src/ppincludecallback.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void PPIncludeCallback::InclusionDirective(
6161
clang::StringRef fileName_,
6262
bool,
6363
clang::CharSourceRange filenameRange_,
64-
const clang::FileEntry*,
64+
clang::Optional<clang::FileEntryRef>,
6565
clang::StringRef searchPath_,
6666
clang::StringRef,
6767
const clang::Module*,

plugins/cpp/parser/src/ppincludecallback.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class PPIncludeCallback : public clang::PPCallbacks
3838
clang::StringRef FileName,
3939
bool IsAngled,
4040
clang::CharSourceRange FilenameRange,
41-
const clang::FileEntry *File,
41+
clang::Optional<clang::FileEntryRef> File,
4242
clang::StringRef SearchPath,
4343
clang::StringRef RelativePath,
4444
const clang::Module *Imported,

0 commit comments

Comments
 (0)