Ну и что?
Вы думаете в MS каждый раз новый компилятор с нуля пишут?
Тем более в прошлый раз найденный мной ICE в msvc2010 имел ту же проблему в msvc2012
Здравствуйте, nen777w, Вы писали:
N>LOL... минус то за что???
Тут "минус" не "за что-то", а "с чем-то", так как минус обозначает "не согласен".
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, nen777w, Вы писали:
N>>>msvc2010 A>>сейчас 2014 год если что N>LOL... минус то за что???
привычка с SO — минусовать плохие вопросы
в данном случае я считаю что этот пост плохой потому что
— студия 2010 — старье
— сам факт того что компилятор падает от ICE сам по себе бесполезен — разве что порадоваться в духе "ололо студия говно M$ говнокодеры".
— для багрепортов есть сайт MS, но фикса для 2010 всеравно не будет.
Здравствуйте, wander, Вы писали:
E>>Тут "минус" не "за что-то", а "с чем-то", так как минус обозначает "не согласен". W>Однако не согласным с тем, что сейчас 2014 год, можно быть только в одном случае. Если сейчас 2015 (или выше).
Бывает "Не согласен с фактом", а бывает "не согласен с техникой полемики".
Платные компиляторы — это не та штука, которую нужно перепокупать при выходе каждой новой серии.
Представьте себе крупную компанию. Апгрейд компилятора — это и деньги на лицензии, и время на развёртывание на машинах разработчиков и на ферме билд-серверов, и перекомпиляция всех бинарных библиотек...
По крайней мере, знать косяки предпоследней версии — очень полезно.
А если этот косяк имеет шансы пробраться и в следующую версию — есть повод протестировать её.
Мне вот сложно представить, почему выборочно ломается парсер в зависимости от подключенного кодогенератора — при том, что amd64 и x86_amd64 оба 64-битные.
Но если он здесь сломался, то похожее поведение можно ожидать и в следующих версиях, — не обязательно на этом тесткейсе.
Здравствуйте, kaa.python, Вы писали:
KP>Здравствуйте, nen777w, Вы писали:
N>>LOL... минус то за что???
KP>Ни за что. Просто бывают люди со, как это принято политкорректно говорить, "сложным характером".
глядя на оценки, отрадно видеть, что хотя бы некоторые из них признают свой сложный характер ))
Здравствуйте, nen777w, Вы писали:
N>Ловите еще один ICE в msvc2010, на других версиях компилятора не проверял пока.
Не воспроизвелось на 2010
Microsoft (R) C/C++ Optimizing Compiler Version 16.00.40219.01 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
x.cpp
x.cpp(18) : error C2065: 's' : undeclared identifier
x.cpp(18) : error C2070: ''unknown-type'': illegal sizeof operand
[Finished in 1.0s with exit code 2]
К>Не воспроизвелось на 2010 К>[code] К>Microsoft (R) C/C++ Optimizing Compiler Version 16.00.40219.01 for x64 К>Copyright (C) Microsoft Corporation. All rights reserved.
гм... это на x32
G:\bug_test>cl cl_test.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
cl_test.cpp
cl_test.cpp(17) : fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'msc1.cpp', line 1420)
To work around this problem, try simplifying or changing the program near the locations listed above.
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.exe. You will be prompted to s
end an error report to Microsoft later.
Это x64
G:\bug_test>cl cl_test.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 16.00.40219.01 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
cl_test.cpp
cl_test.cpp(17) : fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'msc1.cpp', line 1420)
To work around this problem, try simplifying or changing the program near the locations listed above.
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\x86_amd64\cl.exe. You will be pro
mpted to send an error report to Microsoft later.
"cl_test.cpp"
#include <vector>
#include <algorithm>
void foooo(const std::vector<int>& v)
{
struct s {
int n;
};
static const s arr[] = { //Без static - справедливо ругается, иначе падает компилятор
{0}
};
std::for_each(v.begin(), v.end(), [](int val)
{
int n = sizeof(arr)/sizeof(s);
}
);
}
А вот на 2012 уже все нормально, проверил на x86 и x64 (не стал приводить output)
G:\test_task_1\bug_test>cl cl_test.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.61030 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
cl_test.cpp
Microsoft (R) Incremental Linker Version 11.00.61030.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:cl_test.exe
cl_test.obj
LINK : fatal error LNK1561: entry point must be defined
N>>гм... это на x32 N>>Это x64 К>Интересно, от чего это может зависеть? К>Я запускаю так: К>
К>call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64
К>rem PATH=c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN|amd64;......
К>cl cl_test.cpp
К>
К>и он на 16 строке ругается, но не валится в айс. ЧЯДНТ? К>Win7pro ru x64 sp1 со всеми обновлениями. К>Версии компилятора у нас одинаковые.
Я запускаю с ярлычка в меню Пуск.
Там написано:
Объект: %comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86_amd64
Рабочая папка: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\"
Коментарий: Open Visual Studio x64 Cross Tools Command Prompt (2010)
"Содержимое: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
@echo off
if "%1" == "" goto x86
if not "%2" == "" goto usage
if /i %1 == x86 goto x86
if /i %1 == amd64 goto amd64
if /i %1 == x64 goto amd64
if /i %1 == ia64 goto ia64
if /i %1 == x86_amd64 goto x86_amd64
if /i %1 == x86_ia64 goto x86_ia64
goto usage
:x86
if not exist "%~dp0bin\vcvars32.bat" goto missing
call "%~dp0bin\vcvars32.bat"
goto :eof
:amd64
if not exist "%~dp0bin\amd64\vcvars64.bat" goto missing
call "%~dp0bin\amd64\vcvars64.bat"
goto :eof
:ia64
if not exist "%~dp0bin\ia64\vcvars64.bat" goto missing
call "%~dp0bin\ia64\vcvars64.bat"
goto :eof
:x86_amd64
if not exist "%~dp0bin\x86_amd64\vcvarsx86_amd64.bat" goto missing
call "%~dp0bin\x86_amd64\vcvarsx86_amd64.bat"
goto :eof
:x86_ia64
if not exist "%~dp0bin\x86_ia64\vcvarsx86_ia64.bat" goto missing
call "%~dp0bin\x86_ia64\vcvarsx86_ia64.bat"
goto :eof
:usage
echo Error in script usage. The correct usage is:
echo %0 [option]
echo where [option] is: x86 ^| ia64 ^| amd64 ^| x86_amd64 ^| x86_ia64
echo:
echo For example:
echo %0 x86_ia64
goto :eof
:missing
echo The specified configuration type is missing. The tools for the
echo configuration might not be installed.
goto :eof
Винда и студия тоже с обновлениями по MSDN подпписке.
Здравствуйте, Erop, Вы писали:
E>Тут "минус" не "за что-то", а "с чем-то", так как минус обозначает "не согласен".
Однако не согласным с тем, что сейчас 2014 год, можно быть только в одном случае. Если сейчас 2015 (или выше).