Кресты / Говнокод #23836 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
#include <xmmintrin.h>

void crasher() {
    constexpr __m128 w = {1,2,3,4};
    asm ("addps %[w], %[w]" : : [w] ""(w));
}

Крашим GCC
https://ideone.com/iIAN0i

Запостил: Antervis Antervis, (Updated )

Комментарии (58) RSS

  • https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84625 - отрепортил

    Кстати в clang мне тоже есть что зарепортить(накопилось кое-какой хуиты), но они там для регистрации требуют чтоб я куда-то что-то писал и говорил свой full name, так что обойдутся
    https://bugs.llvm.org/
    New user self-registration is disabled due to spam. For an account please email bugs-admin@lists.llvm.org with your e-mail address and full name.
    Ответить
    • > with your e-mail address and full name.

      Забей, напиши на это мыло сразу описание багов.
      Ответить
    • Not a Bug, Wontfix, kokokoko.
      gcc-way, хуле.

      Может стоило выхлоп краша приложить?
      Ответить
      • В принципе я согласен с решением. Не тратить время на какую-то непонятную никому ненужную хуйню. Лучше пойти пофиксить реальные баги.

        P.S. А где там wontfix? Вроде и патч уже есть.
        Ответить
        • Упдате. Я истолковал его первые 2 коммента как простое нежелание это фиксить.
          Ответить
  • Кого ебет ваше "gcc"? Кто на этом "С" еще пишет?
    Ответить
        • Гугл, яндекс, фейсбук, вконтакте, оракл, майкрософт
          Хуйня корочи
          Ответить
        • Если мне надо считать байт по адресу 123, установить ему в единичку флажок в третьем бите и записать его обратно, то зачем мне C++?
          Ответить
          • А вот если тебе понадобится этот флажок убрать по выходу из функции - С++ уже пригодится.
            Ответить
                • ну если сравнивать последние плюсы с сями то наверное в полторы тысячи:)

                  Я вообще с треском перехожу на новые стандарты. Я помню что долго очень не пользовался VLA и декларировал перменные вверху функции, хотя на дворе уже давно был C99
                  Ответить
              • мне кажется, есть специальное слово для таких ситуаций. Как там оно? Неосилятор, вроде
                Ответить
                • Давай, давай, а ну, давай,
                  Меня шмонай ты, вертухай,
                  Да загляни под юбочку,
                  Да посмотри на булочки.
                  Понюхай попку носиком,
                  Прикинься, киса, пёсиком,
                  Вот в этом вся и разница,
                  Кто хочет, а кто дразнится.

                  ©Любимая группа мамки админа
                  Ответить
    • Линукс на сях написан - у плюсовиков когда они видят костыль агрегации вместо наследования и макросные псевдофункции вместо функций на шаблонах, хендловое псевдоООП глаза начинают сочится кровью, а сфинктер срочно начинает требовать охлаждения.
      Ответить
      • > костыль агрегации вместо наследования

        Костыль — это в другую сторону.

        > сфинктер срочно начинает требовать охлаждения

        Если у тебя пригорает, не нужно на всех плюсовиков распространять. Если виртуальные интерфейсы в паре мест в ядре нужны, проще там «ООП» вручную навернуть.
        Ответить
      • Вообще-то агрегация это когда N объектов имеют интерфейс Foo, и ты создаешь объект с интерфейсом Foo который последовательно делегирует вызов всем этим объекам

        Это частный случай делегирования, так что говорить правильнее о делегирование vs наследование.

        Так что делегирование почти всегда лучше наследования, это известно даже в ООП мире. В некоторых ЯПах даже сахар для этого есть.
        Ответить
            • Это не значит что наследование не нужно - просто когда среди полей структуры даже видишь указатели на функции которые надо инициализировать чтоб что-то там сделать с поправкой на сей костыль, то понимаешь что в таком возрасте с онанизмом завязывают и заводят девушек нужна хотя-бы начальная поддержка ООП.
              Ответить
                • Ну в этом случае реализация метода неотделима от объекта к которому она применяется - так что я за ООП.
                  Ответить
                  • Оказывается, есть что-то более раздражающее, чем адепты Rust, которые гордо заявляют, как переписывание на расте решает все проблемы.
                    Это адепты ООП, которые утверждают, что умышленное неиспользование ООП — это фатальный недостаток.
                    Ответить
                    • Умышленное неиспользование ООП? Нет, правильнее сказать, умышленное не использование инструментов поддерживающих ООП, при использовании самой концепции ООП.
                      Ответить
                      • Поддержка ООП науровне языка имеет две проблемы:

                        1) она усложняет код. Понять во что скомпилируется процедурный код куда проще, чем понять что случится в случае вызова виртуального метода с динамическим диспатчем (таблицы методов, то-сё).

                        НЕКОТОРЫЕ считают что чем код проще -- тем лучше.

                        2) Почти все реализации ООП в мейнстримовых языках уёбищны, и это вызывает стойкое отвращение у НЕКОТОРЫХ.

                        А так же: наличие/отсутствие ООП сахара в языке очень слабо влияет на качество кода и качество API. Это очень странно, я сам с начала в это не верил, но теперь отчетливо вижу что 90% кода вокруг меня и 90% API -- полное говно. И не важно: процедурно это говно или с классами, методами и конструкторами.

                        Оставшиеся 10% разделены примерно поровну между процедурным и ООПшным стилем.

                        Продумать хорошую иерархию классов -- сложно, большинство говнокодеров с этим не справляются, и в результате у них получается ебучее месиво, а благодаря ООП к тому же еще и сложное.
                        Лучше бы процедурно написали, ейбогу:)
                        Ответить
                        • Давай, давай, а ну, давай,
                          Меня шмонай ты, вертухай,
                          Да загляни под юбочку,
                          Да посмотри на булочки.
                          Понюхай попку носиком,
                          Прикинься, киса, пёсиком,
                          Вот в этом вся и разница,
                          Кто хочет, а кто дразнится.

                          ©Любимая группа мамки админа
                          Ответить
                        • Давай, давай, а ну, давай,
                          Меня шмонай ты, вертухай,
                          Да загляни под юбочку,
                          Да посмотри на булочки.
                          Понюхай попку носиком,
                          Прикинься, киса, пёсиком,
                          Вот в этом вся и разница,
                          Кто хочет, а кто дразнится.

                          ©Любимая группа мамки админа
                          Ответить
      • > плюсовиков когда они видят костыль агрегации вместо наследования

        Наследование само по себе один здоровенный костыль.
        Вроде 2к18, а еще все от ООП не выздоровели.
        Ответить
        • Если не использовать его как костыль, то очень многое подподает как раз под него..

          объекты, которые обмениваются сообщениями — это мы;)
          Ответить
          • А еще _иногда_ мы чистые функции, хотя бываем и с побочными эффектами.
            Часто мы конечные автоматы, причем недетерминированные, потому что из одного и того же настроения можем перейти в совсем разные.
            Часто у нас НАКАПЛИВАЕТСЯ, так что мы автоматы со стеком (или "с магазином"), и наконец у нас есть достаточно свободно адресумый мозг (хотя и не бесконечный, к сожалению), а значит мы -- машины тюринга.
            Ответить
        • Функциональщекштоле? Что из ваших ваших новых прогрессивных концепций доступно в pure C?
          Ответить
          • >Функциональщекштоле?

            И это было сказано человеку, который здесь ГОДАМИ обсирал хацкелизм.

            >Что из ваших ваших новых прогрессивных концепций доступно в pure C?

            Да всё, если так разобраться. Просто все использовали эти «новые», «прогрессивные» концепции задолго до, даже не зная что насколько они новые и прогрессивные.

            Иммутабельность, итераторы (ленивые списки), указатели на функции — функцию можно передать как аргумент, итд.
            Ответить
              • >Бьёт - значит любит

                Безусловно. Это ж извечный конфликт, постулированный еще Ницше.
                Чтобы что-то толково обсирать — нужно в нём как следует разобраться.
                Ответить
                • В обычном мире просто так обсирают. И только на ГК джентльмены живут по заветам Ницше.
                  Без шуток, часто удивляюсь, насколько хорошо Борманд знает PHP, а Сёма - Линукс. Иные заявляют о своих профессиональных талантах в данных областях с меньшими знаниями.
                  Ответить
                  • «Кто сражается с чудовищами, тому следует остерегаться, чтобы самому при этом не стать чудовищем.»

                    И ведь Тарас угодил в такую ловушку. Сперва он с легкостью стал уделывать плюсовиков в крестосрачах, а потом начал писать игры на С++.

                    >а Сёма - Линукс
                    Какой из джвух?
                    Ответить
                    • > игры на С++.

                      Он сделал это ради андроид маркета

                      Причём в мире андроид он со своим цпп остался в таком же меньшинстве как на десктопе с дельфи
                      Ответить
                    • >>а Сёма - Линукс
                      >Какой из джвух?
                      Всего джва линукса? Оригинальный, немецкий.

                      А тот, который Real, он не линукс, он JS ругает, тоже кстати неплохо разбираясь в теме разработки под веб-питушню.
                      Ответить
                        • У Вас настолько всё по полочкам разложено, что даже зона хейтерства строго очерчена. Похвально.
                          Ответить
                        • Если бы еще асинхронный http клиент был, чтобы совсем от коллбеков отказаться.
                          Ответить
                          • Так завезли-же в Es7

                            на вот, подрочи
                            sync function asyncCall() {
                              console.log('calling');
                              var result = await resolveAfter2Seconds();
                              console.log(result);
                              // expected output: "resolved"
                            }
                            Ответить
            • Да в курсе что хорошо зная язык можно писать в любом стиле, вопрос в том сколько каменных молотков надо смастерить чтоб таки построить космический корабль. Может все таки имеет смысл использовать языки где это все есть уже из "коробки"?
              Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8