Войти
ФлеймФорумПрограммирование

Летопись багов (14 стр)

Страницы: 19 10 11 12 13 14
#195
13:54, 14 апр. 2019

skalogryz
Гм, а какие "соответствующие типы" для movups (или movdqu)?


#196
18:04, 16 апр. 2019

FordPerfect
> Гм, а какие "соответствующие типы" для movups (или movdqu)?

  • unaligned single-precision floating-point?

  • и
  • unaligned packed byte integer?
  • unaligned packed quadword integer
  • на самом деле "соответствующие типы это те", которые у тебя в структурах хранятся. Сама цель заставить компилятор узнать ошибку.

    #197
    10:40, 17 апр. 2019

    FordPerfect
    не давно с схожим багом столкнулся, главное он висел в коде несколько лет и чтобы ветка кода с ним исполнилась должно было пройти не мало времени при ряде совпадений. В общем повезло что вообще столкнулся с ним. Дело было c memcpy, в итоге написал врапер:

    namespace some_namespace{
      template<class T>
      inline T* memcpy(T* destination, const T* source, std::size_t num_bytes)
      {
        return (T*)_details::memcpy(destination, source, num_bytes);            
      }
    }
    #198
    19:20, 17 апр. 2019

    Несколько лет использовал один и тотже шаблон cmake для external project, но тут после обновления cmake перестало компилиться, оказалось надо еще и CMAKE_GENERATOR_PLATFORM явно передавать.
    Теперь так выглядит:

    CMAKE_GENERATOR    "${CMAKE_GENERATOR}"
    CMAKE_GENERATOR_PLATFORM "${CMAKE_GENERATOR_PLATFORM}"
    CMAKE_GENERATOR_TOOLSET  "${CMAKE_GENERATOR_TOOLSET}"

    #199
    3:52, 21 авг. 2019

    Крестофан, не моё
    https://ideone.com/os9312

    #200
    6:20, 21 авг. 2019

    krian
    > Крестофан, не моё
    Это gcc без return в bool test() так ломается?

    #201
    10:41, 22 авг. 2019

    Vitorio
    Угу. С одной стороны — UB, с другой — оптимизация.

    #202
    18:22, 22 авг. 2019

    Фигасе. А где тут UB? Нет возвращаемого значения, но оно и не используется, почему компилятор поломался?

    #203
    18:35, 22 авг. 2019

    romanshuvalov
    прикольно, в сишном стандарте действительно

    If the } that terminates a function is reached, and the value of the function call is used by
    the caller, the behavior is undefined.

    и соответственно если компилировать не как С++ а как С то цикл завершается.
    А в С++
    Flowing off the end of a function is equivalent to a return with no value; this results in undefined behavior in a value-returning function

    соответственно используется значение или нет неважно.
    #204
    11:50, 14 сен. 2019
    phase_ += phase_ + dt / duration;
    + Показать
    #205
    18:38, 14 сен. 2019

    krian
    Знакомо. Но довольно быстро ищется, так не интересно.

    Страницы: 19 10 11 12 13 14
    ФлеймФорумПрограммирование