ctor1.c

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

C
32
字号
// { dg-do compile }// Copyright (C) 2001 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 31 Dec 2001 <nathan@codesourcery.com>// PR 5132. ICE on struct constructors in templates.// snippets from bits/huge_val.h#define __HUGE_VAL_bytes        { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }#define __huge_val_t    union { unsigned char __c[8]; double __d; }#define HUGE_VAL       (__extension__ \  ((__huge_val_t) { __c: __HUGE_VAL_bytes }).__d)void foo( const int&) {  HUGE_VAL; // no problem here}template <class F>void Tfoo( const F&) {  HUGE_VAL; // g++ fails here}template <typename T> struct M { T m; };void Foo (){  Tfoo (1.2f);  (__extension__ ((M<int>) {m:3}));  (__extension__ ((M<short> []) {{m:3}}));}

⌨️ 快捷键说明

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