Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Balyasov Ivan. Lab 2 - var 4 (new branch) #23

Closed
wants to merge 200 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
200 commits
Select commit Hold shift + click to select a range
84e732d
kulikov lab1 (#1)
AveZorgen Mar 4, 2024
5a86d17
Иванов Никита ФИ3. Лабораторная работа № 1. (#2)
Atikin-NT Mar 10, 2024
d6f98a1
Zakharov Artem. Lab 1. Option 4. (#4)
un1i Mar 14, 2024
dc4b1b7
Sharapov Georgiy. First Lab. (#3)
nol0n Mar 15, 2024
84d74da
Kuznetsov Artyom (Laboratory work №1 option №1) (#5)
Kuznetsov-Artyom Mar 15, 2024
d54cd5d
Soloninko Andrey. Lab №1, var 1 (#7)
Manymoera Mar 15, 2024
847c794
Fix clang-format check (#11)
aobolensk Mar 15, 2024
a2de4ee
Volodin Evgeniy. Lab №1. Option №1. (#9)
evldn Mar 15, 2024
8ac9ea3
Sadikov Damir. Lab №1. Var 3 (#12)
Damlrca Mar 17, 2024
9631799
Fix for Volodin Evgeniy. Lab №1. Option №1. (#14)
evldn Mar 17, 2024
74dd97f
Fix clang-format error code (#23)
aobolensk Mar 17, 2024
e47fbee
Turn back clang-format's output in check log (#25)
m-ly4 Mar 18, 2024
8f9a2ad
Korablev Nikita. Lab №1. Option №4. (#8)
NikitaKorablev Mar 18, 2024
579a90c
Bodrov Daniil. Lab 1. Task 1 (#21)
overinvest Mar 18, 2024
c4295cb
Kulagin Aleksandr / lab1 / var 2 (#24)
mahbhlddnhakkh Mar 18, 2024
a9aa535
Kostin Artem. Lab #1. Var 3. (#15)
aartyomm Mar 18, 2024
e894020
Fixed CMakeFiles for Korablev Nikita's plugin (#30)
NikitaKorablev Mar 18, 2024
618a1e9
Первая лабораторная, вариант 1, Бендюжко Татьяна (#16)
Tatiana567 Mar 18, 2024
a8f384e
Polozov Vladislav Lab1 Var3 (#10)
Mortus19 Mar 18, 2024
b1d0b2d
Durandin Vladimir. Lab №1. Option №2 (#20)
Sturmannn Mar 18, 2024
28c5e02
Petrov Maksim. Lab 1. Var 3. (#19)
soileks Mar 18, 2024
765beff
Ivan_Vasilev_lab_1_var_3 (#22)
AdAndRoll Mar 19, 2024
d1fe1c0
Kulagin Aleksandr / lab1 / var 2 IMPROVEMENT (#33)
mahbhlddnhakkh Mar 19, 2024
ca90c8b
Shishkina Valeriya. Lab #1. Var #1. (#18)
ShLera04 Mar 19, 2024
eb203b6
Kulaev Evgeny. Laboratory work №1. Option №2 (#6)
zcotti Mar 19, 2024
3bc0b3b
Alexseev Danila. 1 lab option №3 (#17)
lxvdnl Mar 19, 2024
352b34e
Nogin Denis. Lab 1. Task 2. (#26)
Gr0miLa Mar 21, 2024
be5582a
Savotina Valeria, Lab №1, var: 2. (#27)
Savotina Mar 21, 2024
c7a2671
Veselov Ilya lab 1 var 1 (#36)
spells39 Mar 21, 2024
548556e
Veselov Mikhail. Lab 1. Var 4. (#32)
Puchiglass Mar 21, 2024
c8455cf
Lysanova Julia, 1 lab, 3 var (#43)
bliiinch Mar 21, 2024
cf70176
Kostanyan Arsen. Lab 1, Var 1. (#29)
arkostaa Mar 23, 2024
fcdc419
Kosarev Egor. Lab1.Var2 (#34)
EgorKosarevv Mar 24, 2024
57bd3d9
Borovkov Sergey Lab1, Var 4 (#45)
slx52 Mar 24, 2024
4557f2e
Pushkarev Ilya. Lab 1. Var 2. (#50)
oleg212 Mar 24, 2024
3ba7aee
Prokofev Kirill Lab1 Var4 (#49)
Kirill23323 Mar 24, 2024
83338b0
Kruglov Alexey. Lab 1. Var 4. (#46)
KrYackI Mar 24, 2024
cd9ba08
Balyasov Ivan. Lab 1 - var 4. (#31)
DiPirs Mar 25, 2024
5faeb92
Safronov mikhail. Lab 1. Var 1. (#41)
yourd8ne Mar 26, 2024
a6141d3
Kazantsev Evgeny. Lab 1, var 3. (#40)
neotouch1 Mar 28, 2024
f5dec44
Kuznetsov Artyom lab2 (option 1) (#54)
Kuznetsov-Artyom Mar 29, 2024
02bf4e0
kulikov lab2 var 3 (#53)
AveZorgen Mar 29, 2024
7ce4ca1
Sharapov Georgiy. Lab 2. (#56)
nol0n Mar 30, 2024
0a52e2c
Vetoshnikova Ekaterina Lab 1 Var 1 (#52)
Veto1234-ii Mar 31, 2024
0dfebda
Suren Simonyan, Lab 1, Var 2 (#35)
SSuren4ik Mar 31, 2024
eed52ff
Soloninko Andrey. Lab 2, opt. 1 (#63)
Manymoera Mar 31, 2024
a4da973
Kruglov Alexey. Lab 2. Var 4 (#68)
KrYackI Apr 1, 2024
31d01a6
Kulagin Aleksandr / lab 2 / var 2 (#59)
mahbhlddnhakkh Apr 1, 2024
c7dc20d
Ivanov Nikita. Lab 2. Var 3. (#61)
Atikin-NT Apr 2, 2024
ad34ab5
Kostanyan Arsen. Lab 2. Var 1 (#69)
arkostaa Apr 2, 2024
56bbfb2
Volodin Evgeniy. Lab №2. Option №1. (#70)
evldn Apr 2, 2024
49080ee
Kostin Artem. Lab #2. Var 3. (#71)
aartyomm Apr 2, 2024
636c020
Hotfix for failed tests (#84)
m-ly4 Apr 3, 2024
19863c5
Бендюжко лабораторная 2 вариант 1 (#80)
Tatiana567 Apr 3, 2024
54c7b12
Polozov Vladislav Lab 2. Var 3. (#78)
Mortus19 Apr 3, 2024
b109db4
Alexseev Danila lab2 var3 (#66)
lxvdnl Apr 3, 2024
3043877
Zakharov Artem. Lab 2. Option 4. (#81)
un1i Apr 3, 2024
e0c8ef5
Sadikov Damir. Lab 2. Var 3 (#73)
Damlrca Apr 3, 2024
f39e0d3
Korablev Nikita. Lab №2. Option №4. (#76)
NikitaKorablev Apr 4, 2024
695977c
Ionova Ekaterina / Lab 2 / Var 1 (#77)
IonovvA Apr 4, 2024
94e3377
Bodrov Daniil. Lab 2. Var 1. Instrument Function Pass (#87)
overinvest Apr 5, 2024
66b2dfb
Veselov Mikhail / Lab 2 / Option 4 (#74)
Puchiglass Apr 5, 2024
38d81c1
Travin Maksim / Lab 1 / var 2 (#72)
TMworking Apr 14, 2024
35dceb1
Prokofev Kirill lab2 var4 (#92)
Kirill23323 Apr 14, 2024
c76fdd6
Petrov Maksim. Lab 2. Var 3 (#95)
soileks Apr 14, 2024
3e470bf
Vyunov Danila. Lab 2. Option 2. (#79)
vyunolbek Apr 16, 2024
315e9f8
Durandin Vladimir. Lab 2. Option 2. (#94)
Sturmannn Apr 17, 2024
d0c2323
Shishkina Valeriya. Lab#2. Var#1 (#96)
ShLera04 Apr 19, 2024
26f878c
Sredneva Anastasiya. Lab 2. Var 3. (#97)
nastosimys Apr 23, 2024
81cffa6
Fix deps for veselov's plugin for lab2 (#112)
m-ly4 Apr 24, 2024
51979bd
Simonyan Suren. Lab 2. Var 2 (#98)
SSuren4ik Apr 24, 2024
eb75858
Sharapov Georgiy. Lab 3. Option 1. (#100)
nol0n Apr 25, 2024
3f58f8f
Kulikov Artem. Lab 3. Var 1 (#99)
AveZorgen Apr 25, 2024
90d7dd9
add patch (#117)
Savotina Apr 25, 2024
cfb90b2
Kuznetsov Artyom lab 3 (option 1) (#103)
Kuznetsov-Artyom Apr 25, 2024
1fc92a6
Ivanov Nikita. Lab 3. Option 1. (#101)
Atikin-NT Apr 26, 2024
737c0b1
Zakharov Artem. Lab 3. Option 2. (#102)
un1i Apr 26, 2024
70b2040
Volodin Evgeniy. Lab №3 Option №1. (#108)
evldn Apr 26, 2024
640a869
Fix help in 1st lab
arkostaa Apr 26, 2024
760fdc1
Pushkarev Ilya \ Lab2 \ Var 2 (#88)
oleg212 Apr 26, 2024
e483027
Veselov Mikhail / Lab 3 / Option 2 (#121)
Puchiglass Apr 26, 2024
a26b6b4
Soloninko Andrey. Lab 3, opt 1 (#118)
Manymoera Apr 26, 2024
976488e
Бендюжко лабораторная 3 вариант 1 (#110)
Tatiana567 Apr 26, 2024
77fbc2c
Shishkina Valeriya. Lab #3. Var #2 (#124)
ShLera04 Apr 26, 2024
7beebbf
Savotina Valeria, Lab №3, var: 2 (#120)
Savotina Apr 26, 2024
ffa132b
Bodrov Daniil. Lab 3. Var 2 (#114)
overinvest Apr 27, 2024
6cc58c3
Nogin Denis. Lab 3. Task 2. (#115)
Gr0miLa Apr 27, 2024
088292b
Kulaev Evgeny. Laboratory work №3 Option №2 (#116)
zcotti Apr 27, 2024
0a861b8
Petrov Maksim. Lab 3. Option 1 (#106)
soileks Apr 28, 2024
cad1311
Kostin Artem. Lab #3. Var 1. (#119)
aartyomm Apr 29, 2024
77348a6
third (#125)
vyunolbek Apr 29, 2024
2fc0f42
Kosarev Egor, lab 3, opt 2
EgorKosarevv Apr 29, 2024
5e96e69
Sadikov Damir. Lab 3. Var 1 (#135)
Damlrca May 1, 2024
57afc2c
Kozyreva Ekaterina. Lab 3. Option 1. (#127)
E-Kozyreva May 2, 2024
e5ce822
Polozov Vladislav Lab 3 , Option 1 (#128)
Mortus19 May 2, 2024
dceed36
Bonyuk Peter. Lab 2. Option 3 (#132)
PetrBonyuk May 11, 2024
0c15109
Sredneva Anastasiya. Lab 1. Var 3. (#67)
nastosimys May 11, 2024
e1ea55f
Simonyan Suren. Lab 3. Var 2 (#111)
SSuren4ik May 11, 2024
2bab5f8
Kurdina Julia. Lab 1. Var 3 (#65)
JKurdina May 12, 2024
36afcac
Kurdina Julia. Lab 2. Var 3. (#140)
JKurdina May 12, 2024
f7e10e3
Durandin Vladimir. Lab 3. Option 2. (#105)
Sturmannn May 13, 2024
05d0793
Vasilev Ivan. Lab2. Var 3 (#86)
AdAndRoll May 13, 2024
e236c46
Vetoshnikova Ekaterina lab2 var1 (#104)
Veto1234-ii May 18, 2024
908d914
Zakharov Artem. Lab 4. Option 4. (#143)
un1i May 18, 2024
cda0de1
Bonyuk Peter. Lab 1. Option 3. (#136)
PetrBonyuk May 18, 2024
158a900
Safarov Nurlan. Laboratory work №1. Option №4. (#141)
safarov-nm May 18, 2024
e70f404
Kosarev Egor. Lab 2. Option 2. (#107)
EgorKosarevv May 18, 2024
1dd7cac
Mortina Anastasiya Lab1 Var1 (#48)
NastyaMortina May 18, 2024
068c69a
Sredneva Anastasiya. Lab 3. Var 1. (#133)
nastosimys May 18, 2024
b5c61db
Mortina Anastasiya Lab2 Var1 (#149)
NastyaMortina May 18, 2024
ee01bb5
Kostanyan Arsen. Lab 4. Option 4. (#147)
arkostaa May 19, 2024
b3d8a9f
Safarov Nurlan. Laboratory work №2. Option №4. (#142)
safarov-nm May 19, 2024
100f832
Kulaev Evgeny. Laboratory work №4 Option №2 (#152)
zcotti May 19, 2024
26fb9a4
Bodrov Daniil. Lab 4. Option 4. (#160)
overinvest May 19, 2024
9042d43
Kruglov Alexey. Lab3. Option 2. (#158)
KrYackI May 19, 2024
e8113fa
Alexseev Danila. Lab 4. Opt 2. (#162)
lxvdnl May 19, 2024
83b9932
Sharapov Georgiy. Lab 4. Option 1. (#144)
nol0n May 19, 2024
901ca41
Kulagin Aleksandr / lab 4 / var 2 (#159)
mahbhlddnhakkh May 19, 2024
97b3e1c
Vasilev Ivan lab3 option 1 (#151)
AdAndRoll May 20, 2024
f561ad5
lab4 (#163)
Kirill23323 May 20, 2024
794c363
Safarov Nurlan. Laboratory work №4. Option №4. (#157)
safarov-nm May 20, 2024
f36d729
Borovkov Sergey. Lab 2. Option 4. (#146)
slx52 May 20, 2024
e08e388
Lebedeva Ksenia Lab1 Var4 (#164)
ks2k23 May 20, 2024
2b9a970
Savotina Valeria, Lab №4, var: 2 (#161)
Savotina May 20, 2024
837d107
Akopyan Zal lab4 opt1 (#153)
akopyanzal May 21, 2024
c846eed
Pushkarev Ilya / lab4 / option 1 (#170)
oleg212 May 21, 2024
f8e6b09
Бендюжко лабораторная 4 вариант 1 (#174)
Tatiana567 May 21, 2024
7fb8739
Kosarev Egor. Lab 4. Option 2 (#173)
EgorKosarevv May 21, 2024
9bae5d3
Suren Simonyan Lab4 Var2 (#175)
SSuren4ik May 21, 2024
e8294c4
Kruglov Alexey. Lab 4. Option 4. (#176)
KrYackI May 21, 2024
02368cb
Revert "Kosarev Egor. Lab 4. Option 2 (#173)" (#180)
m-ly4 May 21, 2024
2322329
Revert "Suren Simonyan Lab4 Var2 (#175)" (#181)
aobolensk May 21, 2024
33e4797
Simonyan Suren Lab4 Var2 (Remark) (#184)
SSuren4ik May 22, 2024
7a6e0a7
Kosarev Egor. Lab4. Option 2 (fix tests) (#186)
EgorKosarevv May 22, 2024
e90e878
Lebedeva Ksenia Lab4 Var4 (#166)
ks2k23 May 22, 2024
fbbf265
Pushkarev Ilya / lab 3 / opt 1 (#177)
oleg212 May 22, 2024
3b8800e
Veselov Mikhail Lab 4 Opt 4 (#185)
Puchiglass May 22, 2024
28fa852
Nogin Denis. Lab 4. Task 2. (#148)
Gr0miLa May 22, 2024
d9ed673
Kurdina Julia. Lab 4. Var 3. (#191)
JKurdina May 24, 2024
87c538f
Vasilev Ivan Lab 4 option 3 (#179)
AdAndRoll May 24, 2024
bdd5e2d
Travin Maksim. Lab4. Task 2. (#193)
TMworking May 24, 2024
ae99b50
Sredneva Anastasiya. Lab 4. Var 3. (#194)
nastosimys May 25, 2024
bb1585e
Akopyan Zal. Lab 1. Var 2. (#44)
akopyanzal May 25, 2024
b8d4faf
Kostanyan Arsen. Lab 3. Var 2. (#195)
arkostaa May 26, 2024
a5d9df0
Travin Maksim. Lab 3. Task 2 (#190)
TMworking May 26, 2024
87099b1
Polozov Vladislav lab4 var 3 (#202)
Mortus19 May 26, 2024
c442ffc
Korablev Nikita. Lab 3. Option 2. (#192)
NikitaKorablev May 26, 2024
f06f4b4
Akopyan Zal lab2 var2 (#197)
akopyanzal May 26, 2024
483c1b3
Safronov Mikhail. Lab2. Var 1. (#189)
yourd8ne May 27, 2024
2491f14
Ulyanov Daniil Lab1 Var4 (#198)
UlyanovDaniil May 27, 2024
4724a4f
first_attem (#134)
neotouch1 May 27, 2024
a487fa6
Lebedeva Ksenia Lab2 Var4 (#165)
ks2k23 May 27, 2024
c9abdad
Veselov Ilya lab 2 var 1 (#89)
spells39 May 28, 2024
246ba1b
Safarov Nurlan. Laboratory work №3. Option №2. (#210)
safarov-nm May 28, 2024
d0e68a8
Sadikov Damir. Lab 4. Var 3 (#211)
Damlrca May 28, 2024
c05aa3b
Isaev Dmitriy Lab 1 Var 2 (#218)
4isper May 29, 2024
d4c510a
Mortina Anastasiya Lab4 Var1 (#214)
NastyaMortina May 29, 2024
0275818
Bonyuk Peter. Lab 3. Option 2. (#216)
PetrBonyuk May 30, 2024
afea516
Korablev Nikita. Lab 4. Option 4. (#223)
NikitaKorablev May 30, 2024
b87096c
v1.0 (#227)
4isper May 30, 2024
a7fd1c2
Kurdina Julia. Lab 3. Var 1. (#220)
JKurdina May 30, 2024
e98310d
Akopyan Zal lab3 var1 (#233)
akopyanzal May 30, 2024
d9bc26b
Isaev Dmitriy Lab 3 Var 2 (#222)
4isper May 30, 2024
e3ecab5
Lebedeva Ksenia Lab3 Var2 (#228)
ks2k23 May 30, 2024
8623f6b
Kashirin Alexander Lab 2 Var 4 (#200)
AlexanderVladislavovich May 30, 2024
9592355
Vetoshnikova Ekaterina lab3 var1 (#221)
Veto1234-ii May 30, 2024
8fbc90b
Kalinin Alexandr Lab 2 Var 3 (#215)
KalininA1 May 30, 2024
002b9c7
Travin Maksim. Lab2. Task 2 (#225)
TMworking May 30, 2024
823d22f
Kazantsev Evgeny Lab2. var3 (#82)
neotouch1 May 30, 2024
3d170c2
Kozyreva Ekaterina. Lab 2. Option 1. (#85)
E-Kozyreva May 30, 2024
08cbc6d
Borovkov Sergey. Lab 3. Option 1. (#155)
slx52 May 30, 2024
afc905a
Kalnin Alexandr Lab1 Var 3 (#212)
KalininA1 May 30, 2024
f6c9d68
Mortina Anastasiya Lab3 Var1 (#235)
NastyaMortina May 31, 2024
d0c4a3d
Bonyuk Peter. Lab 4. Option 2. (#171)
PetrBonyuk Jun 1, 2024
5d0b514
Veselov Ilya. Lab 4. Option 4. (#207)
spells39 Jun 1, 2024
495d6a4
Ulyanov Daniil Lab2 Var4 (#240)
UlyanovDaniil Jun 1, 2024
6de9558
Veselov Ilya. Lab 3. Option 2. (#205)
spells39 Jun 1, 2024
311db70
Kashirin Alexander Lab1 Var 4 (#199)
AlexanderVladislavovich Jun 1, 2024
98adaa2
Ulyanov Daniil Lab3 Var2 (#241)
UlyanovDaniil Jun 1, 2024
eb41284
first commit (#217)
slx52 Jun 1, 2024
0250d95
Ulyanov Daniil Lab4 Var4 (#242)
UlyanovDaniil Jun 2, 2024
982e2e6
Kozyreva Ekaterina. Lab 4. Option 1. (#232)
E-Kozyreva Jun 2, 2024
0d25383
Kozyreva Ekaterina. Lab 1. Option 1 (#47)
E-Kozyreva Jun 2, 2024
517c0d9
Vyunov Danila. Lab 4. Option 2. (#230)
vyunolbek Jun 2, 2024
5b51071
Vetoshnikova Ekaterina Lab4 Var1 (#231)
Veto1234-ii Jun 2, 2024
e275fe8
Kalinin Alexandr Lab 3 Var 2 (#237)
KalininA1 Jun 2, 2024
e38cef7
Kalinin Alexandr Lab 4 Var 2 (#234)
KalininA1 Jun 2, 2024
35ff8d5
Vyunov Danila Lab1 (Option 2) (#37)
vyunolbek Jun 2, 2024
8920db7
Safronov mikhail lab3 (#250)
yourd8ne Jun 7, 2024
4b59e6c
Safronov Mikhail. Lab 4 (#251)
yourd8ne Jun 8, 2024
9cf89a2
new brach, fix test
DiPirs Sep 21, 2024
650238b
fix test
DiPirs Sep 21, 2024
a742d63
fix test 2.0
DiPirs Sep 21, 2024
c953121
fix 3.0
DiPirs Sep 21, 2024
0aeb110
add str
DiPirs Sep 21, 2024
a1a910a
fix
DiPirs Sep 22, 2024
d76b077
fix cmd sinc
DiPirs Sep 28, 2024
cf1cb73
try fix
DiPirs Sep 28, 2024
3865626
try fix test
DiPirs Sep 28, 2024
6c0db36
try fix test x2
DiPirs Sep 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/nn-cmplr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ jobs:
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLDB_INCLUDE_TESTS=OFF \
-DCMAKE_C_COMPILER_LAUNCHER=sccache \
-DLLVM_TARGETS_TO_BUILD=X86 \
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache \
${{ inputs.extra_cmake_args }}
ninja -C "$builddir" all
5 changes: 4 additions & 1 deletion .github/workflows/nn-cmplr-tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install clang-format
run: |
sudo apt-get install -y clang-format
- name: Run clang-format
run: |
git-clang-format --diff `git merge-base ${GITHUB_SHA} ${GITHUB_BASE_REF}`
git-clang-format --diff `git merge-base ${GITHUB_SHA} origin/${GITHUB_BASE_REF}` ${GITHUB_SHA} 2>&1 | tee log.txt
exit `grep -c diff log.txt`
clang-tidy:
runs-on: ubuntu-latest
steps:
Expand Down
1 change: 1 addition & 0 deletions clang/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,7 @@ add_subdirectory(runtime)

option(CLANG_BUILD_EXAMPLES "Build CLANG example programs by default." OFF)
add_subdirectory(examples)
add_subdirectory(labs)

if(APPLE)
# this line is needed as a cleanup to ensure that any CMakeCaches with the old
Expand Down
9 changes: 9 additions & 0 deletions clang/labs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FILE(GLOB children RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*)
FOREACH(child ${children})
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${child})
add_subdirectory(${child})
ENDIF()
ENDFOREACH()

set(CLANG_TEST_DEPS ${CLANG_TEST_DEPS} PARENT_SCOPE)
message("CLANG_TEST_DEPS ${CLANG_TEST_DEPS}")
10 changes: 10 additions & 0 deletions clang/labs/lab1/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
if(CLANG_PLUGIN_SUPPORT)
FILE(GLOB children RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*)
FOREACH(child ${children})
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${child})
add_subdirectory(${child})
ENDIF()
ENDFOREACH()

set(CLANG_TEST_DEPS ${CLANG_TEST_DEPS} PARENT_SCOPE)
endif()
91 changes: 91 additions & 0 deletions clang/labs/lab1/akopyan_zal/AddAttrAlwaysInline.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/FrontendPluginRegistry.h"
#include "llvm/Support/raw_ostream.h"

namespace {
class AlwaysInlineVisitor
: public clang::RecursiveASTVisitor<AlwaysInlineVisitor> {
public:
explicit AlwaysInlineVisitor(clang::ASTContext *context_)
: context(context_) {}
bool VisitFunctionDecl(clang::FunctionDecl *decl) {
if (decl->isFunctionOrFunctionTemplate() &&
!decl->hasAttr<clang::AlwaysInlineAttr>()) {
auto body = decl->getBody();
if (body && !containsConditionalStatement(body)) {
auto loc = decl->getSourceRange();
if (loc.isValid()) {
decl->addAttr(
clang::AlwaysInlineAttr::Create(*context, loc.getBegin()));
}
}
}
return true;
}

private:
bool containsConditionalStatement(clang::Stmt *S) {
if (!S) {
return false;
}

if (llvm::isa<clang::IfStmt>(S) || llvm::isa<clang::SwitchStmt>(S) ||
llvm::isa<clang::WhileStmt>(S) || llvm::isa<clang::DoStmt>(S) ||
llvm::isa<clang::ForStmt>(S)) {
return true;
}

for (clang::Stmt *Child : S->children()) {
if (containsConditionalStatement(Child)) {
return true;
}
}

return false;
}

private:
clang::ASTContext *context;
};

class AlwaysInlineConsumer : public clang::ASTConsumer {
public:
explicit AlwaysInlineConsumer(clang::ASTContext *сontext)
: visitor(сontext) {}

bool HandleTopLevelDecl(clang::DeclGroupRef groupDecl) override {
for (clang::Decl *Decl : groupDecl) {
visitor.TraverseDecl(Decl);
}
return true;
}

private:
AlwaysInlineVisitor visitor;
};

class AlwaysInlinePlugin final : public clang::PluginASTAction {
public:
std::unique_ptr<clang::ASTConsumer>
CreateASTConsumer(clang::CompilerInstance &ci, llvm::StringRef) override {
return std::make_unique<AlwaysInlineConsumer>(&ci.getASTContext());
}

bool ParseArgs(const clang::CompilerInstance &ci,
const std::vector<std::string> &args) override {
for (const auto &arg : args) {
if (arg == "--help") {
llvm::outs() << "Applies the always_inline attribute to functions that "
"don't contain conditional statements\n";
}
}
return true;
}
};
} // namespace

static clang::FrontendPluginRegistry::Add<AlwaysInlinePlugin>
X("always-inline", "Applies the always_inline attribute to functions that "
"don't contain conditional statements");
14 changes: 14 additions & 0 deletions clang/labs/lab1/akopyan_zal/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
add_llvm_library(AlwaysInlinePluginAkopyan MODULE AddAttrAlwaysInline.cpp PLUGIN_TOOL clang)

if(WIN32 OR CYGWIN)
set(LLVM_LINK_COMPONENTS
Support
)
clang_target_link_libraries(AlwaysInlinePluginAkopyan PRIVATE
clangAST
clangBasic
clangFrontend
)
endif()

set(CLANG_TEST_DEPS "AlwaysInlinePluginAkopyan" ${CLANG_TEST_DEPS} PARENT_SCOPE)
14 changes: 14 additions & 0 deletions clang/labs/lab1/alexseev_danila/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
add_llvm_library(depWarningPluginAlexseev MODULE deprecatedWarning.cpp PLUGIN_TOOL clang)

if(WIN32 OR CYGWIN)
set(LLVM_LINK_COMPONENTS
Support
)
clang_target_link_libraries(depWarningPluginAlexseev PRIVATE
clangAST
clangBasic
clangFrontend
)
endif()

set(CLANG_TEST_DEPS "depWarningPluginAlexseev" ${CLANG_TEST_DEPS} PARENT_SCOPE)
66 changes: 66 additions & 0 deletions clang/labs/lab1/alexseev_danila/deprecatedWarning.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/FrontendPluginRegistry.h"

using namespace clang;

class DepFuncVisitor : public RecursiveASTVisitor<DepFuncVisitor> {
private:
ASTContext *Context;
std::string ExcludeFunc;

public:
explicit DepFuncVisitor(ASTContext *Context, std::string ExcludeFunc)
: Context(Context), ExcludeFunc(ExcludeFunc) {}

bool VisitFunctionDecl(FunctionDecl *Func) {
if (Func->getNameInfo().getAsString().find("deprecated") !=
std::string::npos &&
Func->getNameInfo().getAsString() != ExcludeFunc) {
DiagnosticsEngine &Diags = Context->getDiagnostics();
size_t CustomDiagID =
Diags.getCustomDiagID(DiagnosticsEngine::Warning,
"Function contains 'deprecated' in its name");
Diags.Report(Func->getLocation(), CustomDiagID)
<< Func->getNameInfo().getAsString();
}
return true;
}
};

class DepFuncConsumer : public ASTConsumer {
std::string ExcludeFunc;

public:
explicit DepFuncConsumer(std::string ExcludeFunc)
: ExcludeFunc(ExcludeFunc) {}

void HandleTranslationUnit(ASTContext &Context) override {
DepFuncVisitor Visitor(&Context, ExcludeFunc);
Visitor.TraverseDecl(Context.getTranslationUnitDecl());
}
};

class DepFuncPlugin : public PluginASTAction {
protected:
std::string ExcludeFunc = "";

std::unique_ptr<ASTConsumer>
CreateASTConsumer(CompilerInstance &Compiler,
llvm::StringRef InFile) override {
return std::make_unique<DepFuncConsumer>(ExcludeFunc);
}
bool ParseArgs(const CompilerInstance &Compiler,
const std::vector<std::string> &Args) override {
for (unsigned i = 0, e = Args.size(); i != e; ++i) {
if (Args[i].substr(0, 9) == "-exclude=") {
ExcludeFunc = Args[i].substr(9);
}
}
return true;
}
};

static FrontendPluginRegistry::Add<DepFuncPlugin> X("deprecated-warning",
"deprecated warning");
14 changes: 14 additions & 0 deletions clang/labs/lab1/balyasov_ivan/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
add_llvm_library(LabRenameIdenPlugin MODULE rename_identifiers.cpp PLUGIN_TOOL clang)

if(WIN32 OR CYGWIN)
set(LLVM_LINK_COMPONENTS
Support
)
clang_target_link_libraries(LabRenameIdenPlugin PRIVATE
clangAST
clangBasic
clangFrontend
)
endif()

set(CLANG_TEST_DEPS "LabRenameIdenPlugin" ${CLANG_TEST_DEPS} PARENT_SCOPE)
Loading