Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp1z/register2.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// P0001R1 - C++17 removal of register keyword // { dg-do compile } // { dg-options "-Wno-register" } #if defined(__i386__) || defined(__x86_64__) #define REG1 "ebx" #define REG2 "edi" #endif #ifdef REG1 register int a __asm (REG1); // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } } #endif register int b; // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } } register int c (); // { dg-error "1:storage class 'register' invalid for function" } int foo (register int d) // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } } { return d; } int bar () { #ifdef REG2 register int e __asm (REG2); // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } } #else int e; #endif register int f; // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } } e = 6; f = 7; return e + f; }