Вопросы с тегом '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...
09 июл. '15 в 5:41
6

(this == null) в С#!

Из-за ошибки, зафиксированной в С# 4, следующая программа печатает true. (Попробуйте в LINQPad) void Main() { new Derived(); } class Base { public Base(Func<string> valueMaker) { Console.WriteLine(valueMaker()); } } class Derived : Base ...
21 окт. '09 в 12:57
1

Почему этот код Haskell работает медленнее с -O?

Этот фрагмент кода Haskell выполняется гораздо медленнее с -O, но -O должен не опасен. Может ли кто-нибудь сказать мне, что случилось? Если это имеет значение, это попытка решить эту проблему и использует двоичный поиск и постоянное дерево сегментов...
02 апр. '15 в 2:29
4

Почему не изменчивость в java 5+ обеспечивает видимость из другого потока?

В соответствии с: http://www.ibm.com/developerworks/library/j-jtp03304/ В новой модели памяти, когда поток A записывает в изменчивую переменную V, а поток B считывает из V, любые значения переменных, которые были видны A в момент написания V, теп...
16 мая '12 в 14:26
2

Серьезные ошибки с отмененными/обнуляемыми преобразованиями из int, позволяющие преобразовать из десятичной

Я думаю, что этот вопрос принесет мне мгновенную славу здесь в Stack Overflow. Предположим, что у вас есть следующий тип: // represents a decimal number with at most two decimal places after the period struct NumberFixedPoint2 { decimal number;...
20 авг. '13 в 18:55
2

Что особенно важно для R и L в препроцессоре С++?

Я выполнил следующий код через препроцессор Visual Studio 2013. Результат меня удивляет. Содержание hello.cpp: #define A(j) #j A(A?) A(B?) A(C?) A(D?) A(E?) A(F?) A(G?) A(H?) A(I?) A(J?) A(K?) A(L?) A(M?) A(N?) A(O?) A(P?) A(Q?) A(R?) A(S?) A(T?) ...
13 янв. '14 в 18:19
2

Неожиданный результат, когда C++ сохраняет элемент в std :: vector из возвращаемого значения функции

Когда функция включает перераспределение, я обнаружил, что некоторые компиляторы могут сохранить адрес перед вызовом функции. Он возвращает возвращаемое значение, хранящееся в неверном адресе. В приведенном выше описании приведен пример объяснения ...
02 мар. '18 в 15:23
3

'Delegate' System.Action 'не принимает 0 аргументов.' Является ли это ошибкой компилятора С# (lambdas + два проекта)?

Рассмотрим приведенный ниже код. Похоже, что действительно правильный код на С#? //Project B using System; public delegate void ActionSurrogate(Action addEvent); //public delegate void ActionSurrogate2(); // Using ActionSurrogate2 instead of System....
17 дек. '10 в 1:04
2

Constexpr если с не булевым состоянием

Кажется, я нашел то, с чем не согласны Clang и GCC. Вот код: int main() { if constexpr (2) {} } Это успешно компилируется с GCC 7.4.0, но происходит сбой с Clang 7.0.0 с этим сообщением об ошибке: test.cpp:3:17: error: constexpr if condition eva...
27 февр. '19 в 6:39
3

Возвращаемый тип условного оператора и двухфазный поиск

Рассмотрим следующий фрагмент: struct Base { }; struct Derived : Base { }; void f(Base &) { std::cout << "f(Base&)\n"; } template <class T = int> void g() { Derived d; f(T{} ? d : d); // 1 } void f(Derived &) { std...
01 июн. '16 в 8:48
2

Значение "const float" отличается от "float" при кастинге на "int" в С#

Может кто-нибудь из вас объяснить, почему это происходит? static void Main() { const float xScaleStart = 0.5f; const float xScaleStop = 4.0f; const float xScaleInterval = 0.1f; const float xScaleAmplitude = xScaleStop - xScaleStart; ...
03 июн. '14 в 13:19
1

Почему gcc и clang дают разные результаты для этой программы? (оператор преобразования против конструктора)

Программа: #include <stdio.h> struct bar_t { int value; template<typename T> bar_t (const T& t) : value { t } {} // edit: You can uncomment these if your compiler supports // guaranteed copy elision (c++17...
18 мая '17 в 22:07
4

Различные версии Visual Studio 2012 Режим Release/Debug

Этот код создает разные значения в MSVS 2012, Windows 7, при переключении между режимами Debug и Release: #include <iostream> using namespace std; int A[20000]; int main() { int shift = 0; int Period = 30; //Fill array for(i...
10 июн. '14 в 14:10
4

Каково поведение печати NULL с помощью спецификатора printf% s?

Нашел интересный вопрос интервью: test 1: printf("test %s\n", NULL); printf("test %s\n", NULL); prints: test (null) test (null) test 2: printf("%s\n", NULL); printf("%s\n", NULL); prints Segmentation fault (core dumped) Хотя это может работать н...
21 июл. '12 в 4:02
2

Возможная ошибка компилятора в Visual С++ 2012 (x86)?

В настоящее время я испытываю случайные ошибки с плавающей запятой при компиляции для целей x86 с использованием VС++ 11 (CTP Update 1). Ниже приведен краткий пример "test.cpp" ниже и скомпилируйте, используя: cl /GL /O2 /EHsc test.cpp /link /MACH...
24 окт. '12 в 15:02