Size: a a a

Compiler Development

2020 January 02

E

Eugene in Compiler Development
Alexey Veselovsky
без экспериментирования ты спеку не напишешь. нужен материал основываясь на котором потом можно будет и спеку написать
это означает нехватку знаний у писателя спецификаций, а это проблема в процессе разработки — разработку доверили неспециалистам, значит вероятность успеха стремится к нулю
источник

E

EgorBo in Compiler Development
@maxgraey закинул код в консольапп в вижле 2019, скомпилил с дампом асма:
?test@@YA_KXZ PROC          ; test, COMDAT
; File C:\prj\JitBug-master\JitBug-master\ConsoleApplication1\ConsoleApplication1.cpp
; Line 16
 mov  rax, -81984429704859120      ; fedcbb9876543210H
; Line 17
 ret  0
источник

E

EgorBo in Compiler Development
всё работает
источник

M

MaxGraey in Compiler Development
Вот так работает:
https://godbolt.org/z/jHXqYq
источник

E

EgorBo in Compiler Development
у меня /O2
источник

E

Eugene in Compiler Development
6502 — это же процессор из Apple-II, неужели кому-то ещё актуально, что там за код для него генерируется?
источник

E

EgorBo in Compiler Development
и нет, я не менял код - взял из твоего твитта
источник

M

MaxGraey in Compiler Development
EgorBo
у меня /O2
Да, там нужно /O2 писать вместо -O2 как у GCC и Clang. В этом и была проблема
источник

M

MaxGraey in Compiler Development
Я уже твитнул насчет флага
источник

E

EgorBo in Compiler Development
угу, сравниватели нанооптимизаций забывают часто это когда сравнивают компиляторы
источник

M

MaxGraey in Compiler Development
Ну я об это например не знал) Так как работал последний раз с MSVC лет 10 назад и естественно из под студии, так что как там ключи формировались без понятия был как тогда так и сейчас)
источник

E

EgorBo in Compiler Development
но панику же развели сразу какую :D
источник

E

EgorBo in Compiler Development
я по правде говоря тоже редко юзаю msvc, в основном кланг
источник

MM

Mikhail Maltsev in Compiler Development
Eugene
экспериментирование означает, что разработчик не знает, что ему нужно сделать, поэтому пусть он сначала напишет правильную спецификацию, а потом уже пишет код
Это пусть ведущие разработчики в проекте решают, а не авторы компиляторов.
источник

MM

Mikhail Maltsev in Compiler Development
Телефон же мне не указывает типа "на мой взгляд этот разговор не нужен, отменяю вызов"
источник

E

Eugene in Compiler Development
телефон видит, что номер в чёрной книге, и не пропускает вызов — так же должен и компилятор поступать — видит, что указано не допускать забытые переменные — и сообщает об ошибке
источник

MM

Mikhail Maltsev in Compiler Development
Eugene
телефон видит, что номер в чёрной книге, и не пропускает вызов — так же должен и компилятор поступать — видит, что указано не допускать забытые переменные — и сообщает об ошибке
Если указывает разработчик, то соглашусь. Но если наоборот, к примеру, Самсунг за меня составляет какой-то черный список - для меня звучит как дичь
источник

AK

Andrei Kurosh in Compiler Development
FORTRAN ONE LOVE
Когда число неиспользуемых переменных переваливает за полторы тысячи на функцию, становится неприкольно
Это нужно ловить специальным линтером с тысячей подобных настроек, но не на уровне языка
источник

FO

FORTRAN ONE LOVE in Compiler Development
Andrei Kurosh
Это нужно ловить специальным линтером с тысячей подобных настроек, но не на уровне языка
Проще в компилер имплементировать. С возможностью их выключения. :-)
источник

AK

Andrei Kurosh in Compiler Development
FORTRAN ONE LOVE
Проще в компилер имплементировать. С возможностью их выключения. :-)
Почему вы думаете, что это будет проще? )
источник