INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 08.10.03 11:27
Оценка:
При Release компиляции все ОК.
При Debug — ошибка:

c:\program files\microsoft visual studio\vc98\include\stlport\stl\_list.h(137) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1794)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information

Стоит 6 студия с 5-ым сервиспаком. Используется библиотека BOOST и STLPORT.
Поискав информацию в инете и MSDN'е нашел несколько способов:
— сделать ребилд алл
— шаманить с опциями компилятора
— ...

Не помогает. Может кто знает что делать? Заранее спасибо.

10.10.03 19:34: Перенесено из 'C/C++'
Re: INTERNAL COMPILER ERROR
От: Lorenzo_LAMAS  
Дата: 08.10.03 11:35
Оценка: +1
Для начала выделил и показал бы кусок программы, приводящий к ICE
Of course, the code must be complete enough to compile and link.
Re: INTERNAL COMPILER ERROR
От: Sergey Россия  
Дата: 08.10.03 11:36
Оценка:
Hello, talos!
You wrote on Wed, 08 Oct 2003 11:27:21 GMT:

t> При Release компиляции все ОК.

t> При Debug — ошибка:

t> c:\program files\microsoft visual

t> studio\vc98\include\stlport\stl\_list.h(137) : fatal error C1001:
t> INTERNAL COMPILER ERROR
t> (compiler file 'msc1.cpp', line 1794)
t> Please choose the Technical Support command on the Visual C++
t> Help menu, or open the Technical Support help file for more
t> information

t> Не помогает. Может кто знает что делать? Заранее спасибо.



Иногда помогает порядок инклюдов переставлять, иногда — слегка шаблоны упрощать.

Best regards,
Sergey.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 08.10.03 11:40
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>Для начала выделил и показал бы кусок программы, приводящий к ICE


Да кто ж его знает... IMHO дело не в программе. Ошибка при компиляции stlport\stl\_list.h(137).
Программа написана вроде правильно, так как компилируется на 2003 студии, правда без STLPORT.
Re[3]: INTERNAL COMPILER ERROR
От: Sergey Россия  
Дата: 08.10.03 11:45
Оценка:
Hello, talos!
You wrote on Wed, 08 Oct 2003 11:40:32 GMT:

t> Да кто ж его знает... IMHO дело не в программе. Ошибка при компиляции

t> stlport\stl\_list.h(137). Программа написана вроде правильно, так как
t> компилируется на 2003 студии, правда без STLPORT.

Из того, что программа компилируется каким-то компилятором, вовсе не следует, что программа является корректной.


Best regards,
Sergey.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 08.10.03 11:53
Оценка:
Здравствуйте, Sergey, Вы писали:

S>Иногда помогает порядок инклюдов переставлять, иногда — слегка шаблоны упрощать.


Попробую. Кстати одним из способов решения было отключить precompiled headers, но это нежелательно, так как
проект довольно большой и придется много править.

Вот кусок кода, когда его закоментишь, компилируется

typedef Int32Type TVertexIndex;
typedef Int32Type TEdgeIndex;
typedef struct SVertexAttr
{
std::string strName;
} SVertexAttr;

typedef struct SEdgeAttr
{
std::string strName;
} SEdgeAttr;
//===========================================================================================================
struct vertex_attr_t {
typedef vertex_property_tag kind;
};

struct edge_attr_t {
typedef edge_property_tag kind;
};

typedef property<vertex_index_t, TVertexIndex,
property<vertex_attr_t, SVertexAttr> > TVertexProperty;

typedef property<edge_index_t, TEdgeIndex,
property<edge_attr_t, SEdgeAttr> > TEdgeProperty;

typedef boost::adjacency_list<vecS, vecS, undirectedS,
TVertexProperty, TEdgeProperty> TBoostGraph;

Int32Type addVertex(TBoostGraph* boostGr, const std::string &label)
{
SVertexAttr vertAttr;
graph_traits<TBoostGraph>::vertex_descriptor vert = add_vertex(*boostGr);
property_map<TBoostGraph, vertex_attr_t>::type attr = get(vertex_attr_t(), *boostGr);

vertAttr.strName = label;
put(attr, vert, vertAttr);
return (Int32Type)vert;
}
void addEdge(TBoostGraph* boostGr, TVertexIndex vertFrom, TVertexIndex vertTo,
const std::string &label)
{
SEdgeAttr edgeAttr;
std::pair<graph_traits<TBoostGraph>::edge_descriptor, bool> edge =
add_edge(vertFrom, vertTo, *boostGr);
property_map<TBoostGraph, edge_attr_t>::type attr = get(edge_attr_t(), *boostGr);

edgeAttr.strName = label;
put(attr, edge.first, edgeAttr);
}
Re: INTERNAL COMPILER ERROR
От: jazzer Россия Skype: enerjazzer
Дата: 08.10.03 12:12
Оценка:
Здравствуйте, talos, Вы писали:

T>При Release компиляции все ОК.

T>При Debug — ошибка:

T>c:\program files\microsoft visual studio\vc98\include\stlport\stl\_list.h(137) : fatal error C1001: INTERNAL COMPILER ERROR

T> (compiler file 'msc1.cpp', line 1794)
T>Please choose the Technical Support command on the Visual C++
T> Help menu, or open the Technical Support help file for more information

T>Стоит 6 студия с 5-ым сервиспаком. Используется библиотека BOOST и STLPORT.

T>Поискав информацию в инете и MSDN'е нашел несколько способов:
T> — сделать ребилд алл
T> — шаманить с опциями компилятора
T> — ...

T>Не помогает. Может кто знает что делать? Заранее спасибо.


VC6 не понимает нетривиальных построений с шаблонами.
Упрощай, сколько сможешь, либо откажись от вц6 или буста (на выбор)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 08.10.03 12:26
Оценка:
Здравствуйте, jazzer, Вы писали:

J>VC6 не понимает нетривиальных построений с шаблонами.

J>Упрощай, сколько сможешь, либо откажись от вц6 или буста (на выбор)

От буста — поздно уже... написано много... Буду пробовать интеловским компилятором...
Re[3]: INTERNAL COMPILER ERROR
От: Lorenzo_LAMAS  
Дата: 08.10.03 12:36
Оценка:
Осталось совсем немного, определить какой кусок этого куска тебе нужен.
Of course, the code must be complete enough to compile and link.
Re[4]: INTERNAL COMPILER ERROR
От: Аноним  
Дата: 08.10.03 15:47
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>Осталось совсем немного, определить какой кусок этого куска тебе нужен.


Вероятно add_edge и add_vertex. Сейчас нет возможности проверить.
Когда граф делаешь направленным все ОК.
Но заменить? как понимаешь нечем...

Я скомпилировал интеловским, но это не выход, уж долго он работает...
Re[4]: INTERNAL COMPILER ERROR
От: WolfHound  
Дата: 08.10.03 16:10
Оценка:
Здравствуйте, Sergey, Вы писали:

S>Из того, что программа компилируется каким-то компилятором, вовсе не следует, что программа является корректной.

Если программа не компилируется какимто компилятором то это тоже ни чего не значит.
А что касается этого случая то программа скорее правильная чем не правильная ибо VC7.1 куда больше соответствует стандарту чем VC6sp5
... << RSDN@Home 1.1 beta 2 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 08.10.03 16:18
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Sergey, Вы писали:


S>>Из того, что программа компилируется каким-то компилятором, вовсе не следует, что программа является корректной.

WH>Если программа не компилируется какимто компилятором то это тоже ни чего не значит.
WH>А что касается этого случая то программа скорее правильная чем не правильная ибо VC7.1 куда больше соответствует стандарту чем VC6sp5

Не компилируется она только vc6. Intel, gcc... все впорядке. IMHO если внутренняя ошибка компилятора, то это в любом случае компилятор же и виноват, даже если программа неправильная.

а насчет стандарта и vc7.1 могу сказать, что есть пример где в релизе выдается один результат, а в дебаге другой, причем в ней нет никаких обращений по неправильному адресу... а вот в 6 результаты совпадают...
Re[6]: INTERNAL COMPILER ERROR
От: WolfHound  
Дата: 08.10.03 17:38
Оценка:
Здравствуйте, talos, Вы писали:

T>а насчет стандарта и vc7.1 могу сказать, что есть пример где в релизе выдается один результат, а в дебаге другой, причем в ней нет никаких обращений по неправильному адресу... а вот в 6 результаты совпадают...

Прамер на бочку. 99% твой таракан.
... << RSDN@Home 1.1 beta 2 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: INTERNAL COMPILER ERROR
От: MaximE Великобритания  
Дата: 08.10.03 20:20
Оценка: +1
talos wrote:

[]

t> typedef struct SVertexAttr
t> {
t>  std::string strName; 
t> } SVertexAttr;


Ты же на с++ пишешь, зачем такие конструкции? Может стоит попробовать без typedef?
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[7]: INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 08.10.03 20:24
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, talos, Вы писали:


T>>а насчет стандарта и vc7.1 могу сказать, что есть пример где в релизе выдается один результат, а в дебаге другой, причем в ней нет никаких обращений по неправильному адресу... а вот в 6 результаты совпадают...

WH>Прамер на бочку. 99% твой таракан.

Не, не мой.

#include <iostream>
void main(void)
{
char c[4];
c[0]='a';
c[1]='b';
c[2]='c';
c[3]='d';
std::cout << "before: " << c[0] << c[1] << c[2] << c[3] << std::endl;
for (int n=2 ; n>0; n--)
{
for (int i=0; i<3; i++)
{
c[i] = c[i+1];
}
c[3] = 'x';
}
std::cout << "after: " << c[0] << c[1] << c[2] << c[3] << std::endl;
return;
}
Re[8]: INTERNAL COMPILER ERROR
От: desperado_gmbh http://www.livejournal.com/users/tolstopuz
Дата: 09.10.03 07:52
Оценка:
Здравствуйте, talos, Вы писали:

WH>>Прамер на бочку. 99% твой таракан.

T>Не, не мой.
T> std::cout << "before: " << c[0] << c[1] << c[2] << c[3] << std::endl;

Да, тот самый один процент. Сначала мне показали KB823020, но я объяснил, что это не преждевременный выход, а наоборот, и это тоже внесли в список ошибок.
Re[5]: INTERNAL COMPILER ERROR
От: Sergey Россия  
Дата: 09.10.03 07:53
Оценка:
Hello, WolfHound!
You wrote on Wed, 08 Oct 2003 16:10:02 GMT:

S>> Из того, что программа компилируется каким-то компилятором, вовсе не

S>> следует, что программа является корректной.
W> Если программа не компилируется какимто компилятором то это тоже ни чего
W> не значит.

Само собой.

W> А что касается этого случая то программа скорее правильная

W> чем не правильная ибо VC7.1 куда больше соответствует стандарту чем
W> VC6sp5

А при чем здесь соответствие стандарту компилятора? Я другое имел в виду — некорректная программа может нормально компилироваться и работать до поры до времени, потом (после добавления чего-нибудь) бац — и C1001. Просто баги в компиляторе, соответствие стандарту тут совершенно не при чем.

Best regards,
Sergey.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[4]: INTERNAL COMPILER ERROR
От: Lorenzo_LAMAS  
Дата: 09.10.03 08:42
Оценка:
Да уж, в сочетании с template'ами это выглядит как-то биззаровски
Of course, the code must be complete enough to compile and link.
Re[4]: INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 09.10.03 10:42
Оценка:
Здравствуйте, MaximE, Вы писали:

[]
ME>
t>> typedef struct SVertexAttr
t>> {
t>>  std::string strName; 
t>> } SVertexAttr;
ME>


ME>Ты же на с++ пишешь, зачем такие конструкции? Может стоит попробовать без typedef?


Попробовал, Монопенесуально.
Re[5]: INTERNAL COMPILER ERROR
От: Lorenzo_LAMAS  
Дата: 09.10.03 10:45
Оценка:
Монопенесуально.

Интересное слово. Ты хочешь сказать что-то вроде "один ..."?
Of course, the code must be complete enough to compile and link.
Re[6]: INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 09.10.03 10:49
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>Монопенесуально.

Всмысле монопенИсуально, плохо я русский в школе учил.

L_L>Интересное слово. Ты хочешь сказать что-то вроде "один ..."?

Именно, но цензура не позоляет.
Re[7]: INTERNAL COMPILER ERROR
От: Lorenzo_LAMAS  
Дата: 09.10.03 11:05
Оценка:
Хорошо. Имея
struct A{};


и объявляя объект такого типа, ты же не используешь ключевое слово struct? (если, конечно, одновременно, по какой-нить доброй традиции не называешь функции или перечислители таким же именем).

И ты же не пишешь так
class A{};

typedef A A;


А вообще, это все придирки
Of course, the code must be complete enough to compile and link.
Re: INTERNAL COMPILER ERROR
От: Дмитрий Конышев Россия  
Дата: 09.10.03 12:23
Оценка:
Здравствуйте, talos, Вы писали:

T>При Release компиляции все ОК.

T>При Debug — ошибка:

T>c:\program files\microsoft visual studio\vc98\include\stlport\stl\_list.h(137) : fatal error C1001: INTERNAL COMPILER ERROR

T> (compiler file 'msc1.cpp', line 1794)
T>Please choose the Technical Support command on the Visual C++
T> Help menu, or open the Technical Support help file for more information

T>Стоит 6 студия с 5-ым сервиспаком. Используется библиотека BOOST и STLPORT.

T>Поискав информацию в инете и MSDN'е нашел несколько способов:
T> — сделать ребилд алл
T> — шаманить с опциями компилятора
T> — ...

T>Не помогает. Может кто знает что делать? Заранее спасибо.


С какими опциями компилятора шаманил? Мне, в такой же ситуации, помогла /Zm, хватило /Zm500.
Re[2]: INTERNAL COMPILER ERROR
От: talos Россия  
Дата: 09.10.03 13:07
Оценка:
Здравствуйте, Дмитрий Конышев, Вы писали:

ДК>С какими опциями компилятора шаманил? Мне, в такой же ситуации, помогла /Zm, хватило /Zm500.


Пробовал Zm500, Zm1000... Нет не помогло.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.