elide2.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 31 行

C
31
字号
// PR c++/8674// Bug: Since B().a is an rvalue, we tried to treat it like a TARGET_EXPR// and elide the copy.  But that produces a bitwise copy, which causes us// to abort in cp_expr_size.// Test that we actually run the A copy constructor when calling f().// { dg-do run }int c;struct A{  A () { ++c; }  A (const A&) { ++c; }};struct B{  A a;};void f (A) { }int main (){  f (B().a);  return c < 2;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?