Описание тега gcc8
GCC 8 - это основной выпуск коллекции компиляторов GNU, впервые выпущенный в 2018 году.
1
ответ
Обнаружено разрушение стека, когда в функции, возвращающей non-void, нет оператора return
Я отлаживал сбой в программе, которая прерывается с ошибкой stack smashing detected, Я сузил аварию до одной функции: static ssize_t a (const char *x, const char *y, size_t z) { #ifdef SOME_FLAG return b(x, y, z); #endif } Поскольку я нигде не опред…
26 фев '19 в 17:31
1
ответ
Вектор должен иметь то же значение, что и его распределитель
Этот MCVE компилируется / работает с gcc 7.3: Пожалуйста, обратите внимание, что этот MCVE был значительно уменьшен, что позволяет воспроизводить ошибки, поэтому код в Allocator Шаблон не имеет смысла, но он не влияет на установку! #include <rege…
19 авг '18 в 17:45
0
ответов
Как правильно обновить gcc7.3 до gcc8 в Ubuntu 18.04.01 LTS?
В моем Ubuntu 18.04 LTS: marco@PC:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic У меня есть версия GCC 7.3.0: marco@PC:~$ gcc -v Using built-in specs. COLLECT_G…
01 сен '18 в 12:19
0
ответов
R не узнает мой альтернативный компилятор GCC после обновления конфигурации?
Я следовал этим инструкциям, чтобы заставить R использовать альтернативный компилятор GCC, который я установил на MacOS. Сборка пакетов R с использованием альтернативного GCC Как показывают базовые интернет-исследования (как мне сказали), компилятор…
15 сен '18 в 05:59
1
ответ
Как запретить сокет-серверу отключаться
Я написал код о сокетах, и я не могу предотвратить закрытие сервера, когда клиент отправляет сообщение или когда клиент делает CTRL + CСервер выключается. Server.c: #include <stdio.h> #include <string.h> #include <stdlib.h> #includ…
08 окт '18 в 11:28
1
ответ
C++ const_cast gcc 8.2.1 -Wignored-квалификаторы ошибка?
Следующая программа производит это с помощью gcc 8.2.1: предупреждение: классификаторы типов игнорируются в типе результата приведения [-Wignored-qualifiers] int * const ptrCast = const_cast(ptr); int main() { int i = 0; const int * const ptr = &…
18 дек '18 в 23:54
2
ответа
"Указатель на указатель на выпуск int"
Сегодня я попытался решить викторину отсюда, и когда я дошел до вопроса 3, появился следующий код: #include <stdlib.h> int main(void){ int *pInt; int **ppInt1; int **ppInt2; pInt = (int*)malloc(sizeof(int)); ppInt1 = (int**)malloc(10*sizeof(in…
06 июл '18 в 10:58
1
ответ
std::set с объектом производного класса, но компаратором базового класса с gcc8.1
Ах #ifndef _A__ #define _A__ class A { public: struct Less { bool operator() (const A* const &k1, const A* const &k2) const { return k1->_a < k2->_a; } }; A(int a) : _a(a) { ; } virtual ~A() { ; } private: int _a; }; #endif ЬН #ifnd…
17 июл '18 в 19:35
3
ответа
Google Sparsehash использует realloc() для типа, который нетривиально копируется
Рассмотрим эту простую программу: #include <string> #include <sparsehash/dense_hash_map> int main() { google::dense_hash_map<std::string, int> map; map["foo"] = 0; } Компиляция с GCC 8.2 и -Wclass-memaccess (или же -Wall) выдает пр…
21 сен '18 в 03:41
2
ответа
Почему в этой разборке стек увеличивается на 16 байт, когда у меня есть только одна 4-байтовая локальная переменная?
У меня возникают проблемы с пониманием того, почему компилятор решил сместить пространство стека так, как это было сделано с кодом, который я написал. Я играл с компилятором компилятора Годболта, чтобы изучить соглашение о вызовах Си, когда я придум…
16 янв '19 в 05:18
1
ответ
Объявление функции не является прототипом
Следующий код компилируется нормально: #include <stdio.h> #include <errno.h> #include <string.h> #include <stdlib.h> extern int errno ; int main ( void ) { FILE *fp; int errnum; fp = fopen ("testFile.txt", "rb"); if ( fp == N…
07 июл '18 в 11:23
1
ответ
Зависит ли поведение гарантированного разрешения копирования от существования определяемого пользователем конструктора копирования?
Следующий код ведет себя по-разному с или без пользовательского конструктора копирования в GCC 8.0.1: #include <cassert> struct S { int i; int *p; S() : i(0), p(&i) {} // S(const S &s) : i(s.i), p(&i) {} // #1 // S(const S &s) …
20 фев '18 в 06:34
0
ответов
Перейти на Restic на PowerPC 32bit
Кто-нибудь когда-нибудь пробовал и преуспел в создании Restic (написанного на Go) для PowerMac 7450 (означает 32 бита), он мне нужен на старом Mac Mini? Поскольку я читал, что gccgo может стать дорогой к успеху, а gccgo поставляется с gcc, я попытал…
01 июл '18 в 20:41
0
ответов
Общая библиотека __attribute__((contributor)) не может работать при сборке с gcc-8.2
Я использовал __attribute__((constructor)) в моей общей библиотеке в Linux, когда процесс использовал библиотеку посредством неявного вызова, он всегда получал ошибку сегментации, но явный вызов работает нормально, есть какие-нибудь советы? мой комп…
13 ноя '18 в 00:44
3
ответа
strncat Wformat-предупреждение о переполнении при использовании gcc 8.2.1
Я использую gcc 8.2.1 и пытаюсь собрать этот код: std::string dir = "Documents"; char * _tempname = static_cast <char*> (malloc( dir.length() + 14)); strncpy (_tempname, dir.c_str(), dir.length()+1 ); strncat (_tempname, "/hellooXXXXXX", 13); …
21 ноя '18 в 09:07
9
ответов
gcc-8 -Wringring-усечение, что является хорошей практикой?
GCC 8 добавил -Wstringop-truncation предупреждение. С https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82944: Предупреждение -Wstringop-truncation, добавленное в GCC 8.0 через r254630 для ошибки 81117, специально предназначено для выделения вероятного н…
06 май '18 в 09:44
1
ответ
C++17 файловая система, использующая nuwen MinGW в Windows 10
Я хотел опробовать новую библиотеку файловой системы на C++17, поэтому попытался скопировать пример std::filesystem::current_path с cppreference.com и скомпилировать его, используя последнюю версию (16.0) дистрибутива MinGW из nuwen.net на мой компь…
15 сен '18 в 07:14
1
ответ
gcc-8 Wstringop-усечение
Я пытаюсь исправить код C, где gcc-8 жалуется на усечение Wstringop (код здесь) При компиляции этого кода на сервере, который я не могу контролировать, я не могу ни добавить прагматические операторы, ни отключить диагностику усечения Wstringop, я по…
10 сен '18 в 20:40
0
ответов
gcc-8 -Wstringop-усечение - противоречивое поведение?
Я компилирую некоторый код C (предоставлю ссылку, если это действительно необходимо), используя GCC 8.2.0 в Linux и GCC 8.1.0 в Cygwin (последний - автоматическая сборка CI). В Linux все проходит нормально. На Cygwin я получаю, среди прочего, следую…
27 фев '19 в 09:35
0
ответов
Вывод аргументов шаблона для шаблонов классов, не работающих с gcc 8.1.0?
Я пытался создать вектор свойств. Этот вектор должен быть своего рода "меткой", которая поможет отличить другие кортежи. Этот простой фрагмент работает на clang 6.0 и не работает ни на одной из версий GCC (пробовал только 7.3.0, 8.1.0): #include <…
06 май '18 в 13:06