Запитання з тегом «compiler-bug»

3
Можлива помилка GCC при поверненні структури з функції
Я вважаю, що знайшов помилку в GCC під час впровадження програми PCG PRNG O'Neill. ( Початковий код у Провіднику компілятора Godbolt ) Після множення oldstateна MULTIPLIER(результат, збережений у rdi), GCC не додає цього результату INCREMENT, INCREMENTзамість цього, movabs'ing в rdx, який потім використовується як повернене значення rand32_ret.state Мінімальний приклад відтворення …
133 c  gcc  assembly  x86-64  compiler-bug 

2
У режимі випуску поведінка коду не така, як очікувалося
Наступний код генерує різні результати в режимі налагодження та режимі випуску (використовуючи Visual Studio 2008): int _tmain(int argc, _TCHAR* argv[]) { for( int i = 0; i < 17; i++ ) { int result = i * 16; if( result > 255 ) { result = 255; } printf("i:%2d, result …

6
(це == null) у C #!
Через помилку, яку було виправлено у C # 4, друкуються наступні програми true. (Спробуйте в LINQPad) void Main() { new Derived(); } class Base { public Base(Func<string> valueMaker) { Console.WriteLine(valueMaker()); } } class Derived : Base { string CheckNull() { return "Am I null? " + (this == null); } …

1
Чому цей код Haskell працює повільніше з -O?
Цей фрагмент коду Haskell працює набагато повільніше -O, але -Oповинен бути небезпечним . Хто-небудь може сказати мені, що сталося? Якщо це важливо, це спроба вирішити цю проблему , і вона використовує двійковий пошук та постійне дерево сегментів: import Control.Monad import Data.Array data Node = Leaf Int -- value | Branch …

1
Проблема компілятора C ++ із структурою в класі шаблонів
Наступний код не компілюється з gcc або clang. template<class T> class foo{}; template<class T> class template_class_with_struct { void my_method() { if(this->b.foo < 1); }; struct bar { long foo; } b; }; Повідомлення про помилку є error: type/value mismatch at argument 1 in template parameter list for 'template<class T> class …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.