Задать вопрос
Ответы пользователя по тегу Clang
  • Почему clang выдает такой ассемблерный код?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Что у вас за опции сборки (Это же с++, не смотря на теги же?) Оптимизация-то включена? GCC 14 даже без оптимизаций выдает именно второй код в обоих случаях.

    Похоже, это недочет в компиляторе. Понятно, что тут можно использовать второй вариант без проблем. Но компилятор не смог до этого догадаться по каким-то причинам. Ясно, что для списка инициализации и просто присвоения используются разные куски компилятора. И вот в ветке для списка инициализации эту оптимизацию не прикрутили по каким-то причинам.

    Если вы вставите более полный пример кода на godbolt.org, воспроизведете проблему, и поделитесь ссылкой, то, возможно, я смогу вам более детально ответить.

    Edit:
    Разобрались, что это clang c. Такой код он выдает с -O0. Если же оптимизации включены, то он его оптимизирует. Это не недочет или ошибка. Просто, вот такой у него стандартный код. Он вправе засовывать константы в секцию данных, а не вставлять прям в ассемблерный код.
    Ответ написан
  • Как определить класс, которому принадлежит вызываемый метод, из C++ кода?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Попробуйте __pretty_function__ в gcc и __FUNCSIG__ в visual studio.
    Ответ написан
    1 комментарий