Russian Qt Forum

Компиляторы и платформы => Компиляторы => Тема начата: saardukar от Апрель 22, 2008, 06:01



Название: Warnings при компиляции на собственные stl заголовки mingw g++ 3.4.5-2
Отправлено: saardukar от Апрель 22, 2008, 06:01
При компиляции:

#include <vector>
#include <string>
using namespace std;

int main(int, char** ss)
{   
   vector<string> v;
   vector<string> v1;
   v = v1;
   return (0);
}

Получил следующее:

c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h: In member function `std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = std::string, _Alloc = std::allocator<std::string>]':
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h:715: warning: '__result' might be used uninitialized in this function
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_uninitialized.h:82: warning: '__cur' might be used uninitialized in this function
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_uninitialized.h:82: warning: '__cur' might be used uninitialized in this function

Похоже гцц переживает(:)) за оператор равенства... но здесь используются только stl классы.
Все вроде работает, но наличие предупреждений настораживает и раздражает.
Такое наблюдаю только на версии 3.4.5! На 3.2.0 и 4.х.х таких предупреждений нет.

Буду признателен за помощь в разрешении этого вопроса (кто виноват и что делать:)?).


Название: Re: Warnings при компиляции на собственные stl заголовки mingw g++ 3.4.5-2
Отправлено: Tonal от Апрель 22, 2008, 08:39
g++ (GCC) 3.4.5 (mingw-vista special r2) полёт нормальный.
Похоже у тебя бардак с заголовками...

Попробуй стянуть последний билд мингва (недавно обновился)...


Название: Re: Warnings при компиляции на собственные stl заголовки mingw g++ 3.4.5-2
Отправлено: saardukar от Апрель 22, 2008, 09:06
У меня последний билд 3.4.5... сам для верности еще раз забрал вчера.
Бардак с заголовками? хм... ничего не правил/не менял. мингв в каталоге c:\mingw; мингв msys в каталоге c:\mingw\msys;
в переменных среды только пути для c:\mingw\bin;c:\mingw\msys\bin;