Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#168 closed ожидаются исправления (задача сдана)

Проверьте, пожалуйста, ДЗ #6

Reported by: cherkasov.andrey Owned by: Vladimir Rutsky
Priority: проверка Milestone:
Component: HA#6 bind Version:
Keywords: Cc: a.y.cherkasov@…

Description


Change History (8)

comment:1 Changed 7 years ago by cpptester

Type: ожидается проверкаожидаются исправления

Tested revision 1057 by cherkasov.andrey.

Main tests

test

stage

result

info

log

comp_all_sufficient.cpp

gcc62

WARNING

comp_all_sufficient-gcc62.log

clang

SUCCESS

comp_include_guard.cpp

gcc62

WARNING

comp_include_guard-gcc62.log

clang

SUCCESS

comp_placeholders_linkage.cpp

gcc62

WARNING

comp_placeholders_linkage-gcc62.log

clang

SUCCESS

run_lvalue_store.cpp

gcc62

WARNING

run_lvalue_store-gcc62.log

run

SUCCESS

valgrind

SUCCESS

run_lvalue_store-valgrind.log

gcc62-asan

WARNING

run_lvalue_store-gcc62-asan.log

asan

SUCCESS

clang-san

SUCCESS

san

SUCCESS

run_lvalue_store2.cpp

gcc62

WARNING

run_lvalue_store2-gcc62.log

run

SUCCESS

valgrind

SUCCESS

run_lvalue_store2-valgrind.log

gcc62-asan

WARNING

run_lvalue_store2-gcc62-asan.log

asan

SUCCESS

clang-san

SUCCESS

san

SUCCESS

run_lvalue_store2_const.cpp

gcc62

WARNING

run_lvalue_store2_const-gcc62.log

run

SUCCESS

valgrind

SUCCESS

run_lvalue_store2_const-valgrind.log

gcc62-asan

WARNING

run_lvalue_store2_const-gcc62-asan.log

asan

SUCCESS

clang-san

SUCCESS

san

SUCCESS

run_pass_rvalue.cpp

gcc62

WARNING

run_pass_rvalue-gcc62.log

run

SUCCESS

valgrind

SUCCESS

run_pass_rvalue-valgrind.log

gcc62-asan

WARNING

run_pass_rvalue-gcc62-asan.log

asan

SUCCESS

clang-san

SUCCESS

san

SUCCESS

Common header used in some tests: common.h

comment:2 Changed 7 years ago by cpptester

Tested revision 1058 by cherkasov.andrey.

All tests passed. Good job!

comment:3 Changed 7 years ago by cherkasov.andrey

Type: ожидаются исправленияожидается проверка

comment:4 Changed 7 years ago by Vladimir Rutsky

Type: ожидается проверкаожидаются исправления

Замечания:

Замечания:

  1. Объявляя таким образом placeholder-ы, вы нарушаете ODR при использовании bind.hpp в нескольких единицах трансляции:
 Placeholder<1> _1;
 Placeholder<2> _2;

Попробуйте скомпилировать один выполняемый файл, слинкованный из двух cpp:

// part1.cpp
#include "bind.hpp"

int main()
{
}
// part2.cpp
#include "bind.hpp"
$ g++ -Wall -std=c++14 part1.cpp part2.cpp 
/tmp/ccej5H9I.o:(.bss+0x0): multiple definition of `fn::_1'
/tmp/ccC3BMNh.o:(.bss+0x0): first defined here
/tmp/ccej5H9I.o:(.bss+0x1): multiple definition of `fn::_2'
/tmp/ccC3BMNh.o:(.bss+0x1): first defined here
collect2: error: ld returned 1 exit status

Исправьте, пожалуйста, в ближайшее время.

comment:5 Changed 7 years ago by cpptester

Tested revision 1062 by cherkasov.andrey.

All tests passed. Good job!

comment:6 Changed 7 years ago by Vladimir Rutsky

Андрей, __attribute__((unused)) это GCC специфичная вещь, используйте решение, допустимое Стандартом.

Например, вы можете использовать анонимный namespace, что эквивалентно вашему решению, но не приводит к предупреждениям.

Также вы можете сделать плейсхолдеры константными.

comment:7 Changed 7 years ago by Vladimir Rutsky

Resolution: задача сдана
Status: newclosed

Работа зачтена, но с минусом (вы не до конца исправили ошибку с плейсхолдерами, а все дедлайны прошли).

comment:8 Changed 7 years ago by Vladimir Rutsky

Milestone: ha6-deadline

Milestone ha6-deadline deleted

Note: See TracTickets for help on using tickets.