llvm- все статьи тега ➜ страница 0
"- Мы все" уступаем " сравнивая плавающую точку с == или!= небезопасно"
У меня есть строка, которую я преобразую в двойник следующим образом: double d = [string doubleValue]; Документация для doubleValue говорит нам, что при переполнении этот метод возвращает либо HUGE_VAL, либо -HUGE_VAL. Вот как я проверял это ранее: if (d == HUGE_VAL || d == -HUGE_VAL) //overflow Теперь, после добавления нового предупреждающего флага "-Weverything", компилятор жалуется, что Comparing floating point with == or != is unsafe Как я могу решить эту проблему? Как я должен ...
Как разрешить нынешний процесс символы в MCJIT кода LLVM JIT-компилятором на основе?
Я создаю простой MCJIT на основе JIT (реализация калейдоскоп учебник в Rust , чтобы быть более точным). Я использую SectionMemoryManager:: getSymbolAddress для разрешения символов. Он видит символы из библиотек (например, функцию sin), но не может разрешить функции из моей программы (глобальные, видимые с nm, отмеченные там T). Является ли это ожидаемым поведением? Или это какая-то ошибка в моем коде? Если это ожидаемое поведение, как я должен правильно разрешать символы из текущий процесс? Теп ...
Что такое LLVM?
Я все время слышу о LLVM. Это в Perl, затем в Haskell, а затем кто-то использует его на каком-то другом языке? Что это? ...
Как сделать лязгом компиляции в промежуточный код LLVM ИК
Я хочу, чтобы clang скомпилировал мой C/C++ код LLVM байт-код, а не двоичный исполняемый файл. Как я могу этого достичь? И если я получу LLVM байт-код, как я могу взять его для дальнейшей компиляции в двоичный исполняемый файл. в основном я хочу добавить свой собственный код в LLVM байт-код перед компиляцией в двоичный исполняемый файл. ...
Что может сделать c++ RTTI нежелательным для использования?
глядя на документацию LLVM, они упоминают, что они используют "пользовательскую форму RTTI", и это причина, по которой они имеют isa<>,cast<> и dyn_cast<> шаблонных функций. обычно, читая, что библиотека переопределяет некоторые основные функции языка, это ужасный запах кода и просто приглашает к запуску. Однако это LLVM, о котором мы говорим: ребята работают над компилятором C++и библиотеки C++. Если они не знают, что они делают, я в значительной степени облажался, потому что ...
Как определить LLVM и его версию с помощью директив #define?
вопрос вполне понятен, я думаю. Я пытаюсь написать заголовок обнаружения компилятора, чтобы иметь возможность включать в приложение информацию о том, какой компилятор был использован и какая версия. это часть кода, который я использую: /* GNU C Compiler Detection */ #elif defined __GNUC__ #ifdef __MINGW32__ #define COMPILER "MinGW GCC %d.%d.%d" #else #define COMPILER "GCC %d.%d.%d" #endif #define COMP_VERSION __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__ #endif ...