g ++ не разрушает локальные потоки - PullRequest
0 голосов
/ 31 января 2019

На моей машине GCC не вызывает деструкторы thread_local с.Код отлично работает на Clang 7 и Visual Studio.

Это ошибка?Я использую MinGW GCC 8.1 для Windows.

Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)

Вот код:

#include <iostream>

struct A {
    A() {
        std::cout << "A()\n";
    }

    ~A() {
        std::cout << "~A()\n";
    }

    void
    print() {
        std::cout << "A\n";
    }
};

thread_local A a;

int
main() {
    a.print();
    return 0;
}
...