[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc-bugs
Subject: [Bug c++/58037] New: sizeof... accepted only in some contexts
From: "nmm1 at cam dot ac.uk" <gcc-bugzilla () gcc ! gnu ! org>
Date: 2013-07-31 12:55:40
Message-ID: bug-58037-4 () http ! gcc ! gnu ! org/bugzilla/
[Download RAW message or body]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58037
Bug ID: 58037
Summary: sizeof... accepted only in some contexts
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: nmm1 at cam dot ac.uk
With 4.8.1:
template<int ... Dims>
class weeble {
static constexpr int Ranks[sizeof...(Dims)] = {Dims...};
const int rank = sizeof...(Dims);
};
weeble<3,5> x;
produces:
junk.cpp:4:22: error: expected ';' at end of member declaration
const int rank = sizeof...(Dims);
^
junk.cpp:4:28: error: expected unqualified-id before '...' token
const int rank = sizeof...(Dims);
^
junk.cpp:4:22: error: expected primary-expression at end of input
const int rank = sizeof...(Dims);
^
That doesn't look right, especially as that use of sizeof... is almost
straight out of the standard.
For what it is worth, -v produces:
Using built-in specs.
COLLECT_GCC=/home/nmm/GCC/bin/g++
COLLECT_LTO_WRAPPER=/home/nmm/GCC/libexec/gcc/x86_64-unknown-linux-gnu/4.8.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/home/nmm/GCC --disable-bootstrap
--enable-languages=c,c++,fortran --enable-werror=yes --disable-decimal-float
Thread model: posix
gcc version 4.8.1 (GCC)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic