Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сборки MinGW (GCC-win32/win64) 
:(
    Опции темы
boostcoder
Дата 19.7.2012, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Randajad, касательно бага описанного тут...
я патч закоммитил. приняли. но просят выслать тест в виде маленькой программы, демонстрирующей воспроизведение ошибки без патча, и исправление этой ошибки патчем.
сделай плиз ;)

PM WWW   Вверх
Randajad
Дата 19.7.2012, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 15.3.2012

Репутация: 8
Всего: 8



Да вроде в том топике все есть, и программка и вообще. smile
Или надо что-то еще?

Код

int main() {
   boost::filesystem::exists("FFFFFFFUUUUUUUUUUU");
}


Без патча кидает. С патчем не кидает.

Скомпилированные экзешки надо?

Это сообщение отредактировал(а) Randajad - 19.7.2012, 10:43
PM MAIL   Вверх
boostcoder
Дата 19.7.2012, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



так без буста же =)
с бустом я мог выслать им тот пример из темы =)

Добавлено @ 11:01
к примеру, первый баг который был связан с TLS, воспроизводится этим тестом.
Код

#include <windows.h>

struct C { ~C() {} };

int Test() {
    C t;
    return ::GetLastError();
}

int main(int, const char**) {
    ::SetLastError(2);

    return Test()-2;
}


вот нужен пример на подобии этого. но я не понимаю как его воспроизвести.

Это сообщение отредактировал(а) boostcoder - 19.7.2012, 11:03
PM WWW   Вверх
Randajad
Дата 19.7.2012, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 15.3.2012

Репутация: 8
Всего: 8



А! О-кей. Сейчас сделаю.
PM MAIL   Вверх
boostcoder
Дата 19.7.2012, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(Randajad @  19.7.2012,  12:11 Найти цитируемый пост)
Сейчас сделаю.

да, плиз. а то я не очень понял как это воспроизвести. к тому же, на работает нет венды..

PM WWW   Вверх
Randajad
Дата 19.7.2012, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 15.3.2012

Репутация: 8
Всего: 8



Код

#include <windows.h>

struct S {
    ~S() {
        SetLastError(123);
    }
};

void foo() {
    S();
}

int main() {
    foo();
    return GetLastError();
}


На старом возвращает 0. На новом 123. Собирать без оптимизаций. smile

Это сообщение отредактировал(а) Randajad - 19.7.2012, 12:54
PM MAIL   Вверх
boostcoder
Дата 19.7.2012, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Randajad, спасибо!

PM WWW   Вверх
Randajad
Дата 14.8.2012, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 15.3.2012

Репутация: 8
Всего: 8



Ом-ном-ном!

Код

struct A {
    ~A() {
        throw 0;
    }
};

int main() {
    try {
        A a;
    } catch(...) {}
}


Делает крашик, что печально и не должно быть.

Оффтоп:
Студия на этот код порождает вареник:
warning C4722: 'A::~A' : destructor never returns, potential memory leak

Она врет, да?

Это сообщение отредактировал(а) Randajad - 14.8.2012, 20:46
PM MAIL   Вверх
EnergoHokum
Дата 15.8.2012, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 600
Регистрация: 10.11.2006
Где: Россия, Ставропол ь

Репутация: нет
Всего: 6



Цитата

Она врет, да?


Нет.
PM MAIL ICQ   Вверх
bsa
Дата 15.8.2012, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Randajad, вообще-то, выход исключения из деструктора приводит к аварийному завершению работы программы. Даже, если снаружи стоит отлов исключений.
PM   Вверх
Randajad
Дата 15.8.2012, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 15.3.2012

Репутация: 8
Всего: 8



Не приводит. Кидать исключения из деструктора разрешено. Если было выкинуто другое исключение и какой-нибудь объект при разрушении кидает еще одно исключение - тогда да, краш.

Почему нет? Это разрешено.
PM MAIL   Вверх
bsa
Дата 16.8.2012, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



точно. уже не раз на эти грабли наступаю. просто сделал себе установку - никаких исключений в деструкторах.
PM   Вверх
boostcoder
Дата 20.8.2012, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



в линукс отрабатывает корректно: http://liveworkspace.org/code/b441e2e80ab1...1295569e7eb3407
проверьте кто-нибудь в венде, что выводит?

PM WWW   Вверх
Randajad
Дата 20.8.2012, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 15.3.2012

Репутация: 8
Всего: 8



Цитата

terminate called after throwing an instance of 'int'

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


PM MAIL   Вверх
boostcoder
Дата 20.8.2012, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Randajad, хм..
предположения?

PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0852 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.