问题标签 [gcc10]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1013 浏览

c++ - 为什么 gcc-10 看不到协程 ts 相关的关键字?

我在我的 ubuntu 20.04 上安装了 gcc-10 编译器。我需要测试协程ts的工作,所以我找到了一个使用协程的例子并尝试编译它。

例子:

即使我将 gcc-10 设置为 clion 中的默认编译器,添加了 required 标志并在 cmake 中包含了标准 20,编译器仍然会抛出错误。co_return 关键字错误

这很奇怪,因为标题中没有空格,并且其中的功能也可用。

制作:

如何解决这个差距?

我使用g++ version 10.2.0

0 投票
2 回答
314 浏览

c++ - 当结构具有零长度数组作为唯一成员时,数组下标超出范围

在以下代码中:

该类型CharArray<0>最终将一个大小为零的数组作为其唯一成员。我知道这通常是 GCC 扩展和不安全的做法。问题不在于那个。

当我使用 gcc 10.2.0 编译代码时,我收到以下警告:

使用 gcc9 及更早版本没有警告。

问题:下标 8 是从哪里来的?Foobar [1]那里提到了什么?看起来有一个 Foobars 的数组,我们正在尝试访问该数组中的元素 8。不知道这怎么可能发生。如果有人知道细节,如果您能解释一下,我将不胜感激。

gcc++-10在 Ubuntu 20.04 中使用-O3 -Wall -Wextraas 选项编译时会发生这种情况。如果我不通过任何优化标志,则不会有任何警告。另外:如果我把构造函数拿走,警告也会消失。

0 投票
1 回答
592 浏览

c++ - 为什么 gcc10 看不到 -fcoroutines 标志?

我正在尝试编译一个包含#include <coroutine>头文件的程序。但是gcc10会抛出错误

我在 cmake 中设置了所有必要的标志

但是编译器看不到 -fcoroutines 标志。我正在使用 g++ 10.2.0

0 投票
0 回答
48 浏览

gcc - 从 GCC 4.8 迁移到 10 并且 -fpermissive 消失了?

我正在从 GCC 4.8 迁移到 10,但我注意到

不再工作了,总是忽略-fpermissive标志。知道如何解决这个问题或如何解决它吗?我看到这个 bug pragma GCC 诊断警告 -fpermissive 自 gcc 4.8 以来不再有效,所以我想知道是否有人找到了解决方法。

0 投票
1 回答
395 浏览

c++ - 错误:'bool' 和 'int' 类型的无效操作数到二进制 'operator<=> - (GCC 10 - std=gnu++20)

在发布支持 c++20 后,我有一些 c++ 项目,我想升级我的 makefile std 支持 17 到 20 之后我的编译器(gcc10.2)给我这样的错误;

错误

这是我的 AsyncSQL.cpp ;

这是我的 AsyncSQL.h

这就是函数错误的原因;

可选:1052;

在看到微软发布的文档后,我将尝试 <= > false; 像这样并再次出错..

此致。

0 投票
0 回答
92 浏览

c++ - 调用可变参数继承的非默认构造函数

我有一个抽象基类和一个以非常基本的方式实现它的类:

现在,我创建了一个可变参数继承并注意到一个奇怪的行为,我认为这是错误的:

由于某种原因,这会输出以下结果:

在此输出中,我有两点不清楚:

  1. 为什么会调用 base_core 默认构造函数?
  2. 为什么 impl_2 的参数化构造函数永远不会被调用?

我正在使用 Ubuntu 16.04(也在 20.04 上测试过),GCC 10.2。

0 投票
1 回答
45 浏览

c++ - 使用 Mingw-builds 构建 MinGW 失败

很长一段时间以来,我一直在成功地使用 mingw-builds ( https://github.com/niXman/mingw-builds ) 构建 mingw-w64。现在我想构建 g++ 10.3,但不知何故它不再工作了。我没有发现任何相关问题,并且我不知道任何处理此类问题的邮件列表。

我正在使用 mingw-builds 提交 6b7989789154e91110585b0d2b51456f4287f342。我运行构建的命令是

输出是

src/MARKERS/libiconv-1.16.tar.gz-download.log将创建一个包含以下内容的文件:

有没有人遇到过同样的问题?解决办法是什么?

0 投票
1 回答
113 浏览

gcc - 当默认标准是 201402L (c++14) 时 g++ 与 g++ -std=c++14 有什么不同吗?

我试图利用预编译的标头来加快以下链接的编译速度:https ://codeforces.com/blog/entry/53909

我观察到头文件的预编译和 .cpp 程序的后续编译必须使用相同的 g++ 标志来完成,以加快工作速度,这是有道理的。但是,将 c++ 标准显式设置为默认标准是行不通的。g++ stdc++.h因此,使用和后续的预编译都没有g++ -std=c++14 program.cpp,也没有g++ -std=c++14工作g++ program.cpp

这对我来说没有意义,因为我知道我的编译器 x86_64-w64-mingw32-g++.exe(gcc 版本 10.2.0)默认符合 201402L(c++14)标准,我想使用g++ -dM -E -x c++ /dev/null | fgrep __cplusplus,并得到以下响应:

所以,我的问题是,当 g++ 默认遵循 201402L 时,g++ 和 g++ -std=c++14 有什么区别?另外,对我来说,专门选择其中任何一个是否足够重要?

0 投票
1 回答
76 浏览

c++ - c++ 20 和 g++ 10.2 中的 atomic_wait 和类似方法

0 投票
1 回答
186 浏览

c++ - c++20个概念构造函数重载

当我尝试使用 gcc v.10.2 编译它时,我收到以下错误:

但是 C++20 中的概念不会阻止实例化不满足其约束的函数?我知道 SFINAE 不起作用,因为这个 costructor 不是模板,但概念也应该适用于普通函数。

我做错了什么?