[Bug c++/79741] New: errors about struct members being of type size_t when it's not, other strange errors. cached source too.
jmichae3 at yahoo dot com
gcc-bugzilla@gcc.gnu.org
Mon Feb 27 23:04:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79741
Bug ID: 79741
Summary: errors about struct members being of type size_t when
it's not, other strange errors. cached source too.
Product: gcc
Version: 6.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jmichae3 at yahoo dot com
Target Milestone: ---
if it helps, this is the #include list:
#include <iostream>
#include <cmath>
#include <vector>
#include <initializer_list>
#include <string>
#include <cctype>
#include <regex>
#include <cstdint>
#include <algorithm>
at one point I noticed the source code was cached because the compiler was
still complaining about an error I had fixed even though I saved the file.
strange. a compiler should not cache the source code. all these bugs I have
fixed with static casts and the same errors are still reported. source code not
necessary. the struct members are i and v inside a vector mBaseVal. is mBaseVal
ised inside the compiler for something I don't know about of late?
atoi64.cpp:265:12: error: 'egrep' is not a member of
'std::regex_constants::syntax_option_type'
RGXC ropts=std::regex_constants::syntax_option_type::egrep;
^~~
atoi64.cpp: In function 'ATOLDRESULT atold(S, bool, bool, C, VS, bool, size_t,
bool, bool, S, bool, S)':
atoi64.cpp:1402:345: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_fractional_base)]', which is of non-class type
'size_t {aka unsigned int}'
while (i<l && (groupCharEnabled && groupChar==str[i] ||
S::npos!=(icaseCharset?toLowerCase(charset):charset).find(icaseCharset?std::tolower(str[i]):str[i])
&&
static_cast<intmax_t>((icaseCharset?toLowerCase(charset):charset).find(icaseCharset?std::tolower(str[i]):str[i]))<static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v)))
{
^
atoi64.cpp:1408:172: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_fractional_base)]', which is of non-class type
'size_t {aka unsigned int}'
if (!(groupCharEnabled && groupChar==str[i]) && index != S::npos &&
static_cast<intmax_t>(index) <
static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v)) {
^
atoi64.cpp:1410:126: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_fractional_base)]', which is of non-class type
'size_t {aka unsigned int}'
mantissa_fractional=mantissa_fractional+(index*powl(static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v),idx));//this
is correct. don't change it. please.
^
atoi64.cpp:1434:307: error: request for member 'v' in
'mBaseVal[mBaseVali(exp_base)]', which is of non-class type 'size_t {aka
unsigned int}'
while (i<l && (groupCharEnabled && groupChar==str[i] ||
S::npos!=(icaseCharset?toLowerCase(charset):charset).find(icaseCharset?std::tolower(str[i]):str[i])
&&
(icaseCharset?toLowerCase(charset):charset).find(icaseCharset?std::tolower(str[i]):str[i])<static_cast<intmax_t>(mBaseVal[mBaseVali(exp_base)].v))
&& !MatchArrayString(l,i,str,{"p+","p-","p"})) {
^
atoi64.cpp:1440:157: error: request for member 'v' in
'mBaseVal[mBaseVali(exp_base)]', which is of non-class type 'size_t {aka
unsigned int}'
if (!(groupCharEnabled && groupChar==str[i]) && index != S::npos &&
static_cast<intmax_t>(index) <
static_cast<intmax_t>(mBaseVal[mBaseVali(exp_base)].v)) {
^
atoi64.cpp:1441:75: error: request for member 'v' in
'mBaseVal[mBaseVali(exp_base)]', which is of non-class type 'size_t {aka
unsigned int}'
exp_int=exp_int*static_cast<intmax_t>(mBaseVal[mBaseVali(exp_base)].v)+static_cast<intmax_t>(index);//this
is correct. don't change it. please.
^
atoi64.cpp:1618:92: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_int_base)]', which is of non-class type 'size_t
{aka unsigned int}'
result=result*static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_int_base)].v)+static_cast<intmax_t>(index);
^
atoi64.cpp:1625:94: error: request for member 'i' in
'mBaseVal[mBaseVali(5ll)]', which is of non-class type 'size_t {aka unsigned
int}'
} else if
(!foundMode&&static_cast<intmax_t>(mBaseVal[mBaseVali(ATOI64_CHARSET)].i)==static_cast<intmax_t>(ATOI64_CHARSET))
{
^
atoi64.cpp:1647:187: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_int_base)]', which is of non-class type 'size_t
{aka unsigned int}'
static_cast<intmax_t>((icaseCharset?toLowerCase(charset):charset).find(icaseCharset?std::tolower(str[i]):str[i]))
< static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_int_base)].v)
^
atoi64.cpp:1654:161: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_int_base)]', which is of non-class type 'size_t
{aka unsigned int}'
if (!((groupCharEnabled && groupChar==str[i])) && index >= 0 &&
static_cast<intmax_t>(index) <
static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_int_base)].v)) {
^
atoi64.cpp:1655:97: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_int_base)]', which is of non-class type 'size_t
{aka unsigned int}'
mantissa_int = mantissa_int *
static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_int_base)].v) +
static_cast<intmax_t>(index);
^
atoi64.cpp:1730:125: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_fractional_base)]', which is of non-class type
'size_t {aka unsigned int}'
return
{static_cast<intmax_t>(index)*powl(static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v),-1),true,startpos,endpos=i+1u};
^
atoi64.cpp:1730:157: error: could not convert '{<expression error>, true,
startpos, (endpos = (i + 1u))}' from '<brace-enclosed initializer list>' to
'ATOLDRESULT'
return
{static_cast<intmax_t>(index)*powl(static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v),-1),true,startpos,endpos=i+1u};
^
atoi64.cpp:1761:134: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_fractional_base)]', which is of non-class type
'size_t {aka unsigned int}'
result=result+static_cast<intmax_t>(index)*powl(static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v),-1);
^
atoi64.cpp:1772:92: error: request for member 'i' in
'mBaseVal[mBaseVali(5ll)]', which is of non-class type 'size_t {aka unsigned
int}'
} else if
(!foundMode&&static_cast<intmax_t>(mBaseVal[mBaseVali(ATOI64_CHARSET)].i)==static_cast<intmax_t>(ATOI64_CHARSET))
{
^
atoi64.cpp:1809:195: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_fractional_base)]', which is of non-class type
'size_t {aka unsigned int}'
static_cast<intmax_t>((icaseCharset?toLowerCase(charset):charset).find(icaseCharset?std::tolower(str[i]):str[i]))
< static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v)
^
atoi64.cpp:1816:169: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_fractional_base)]', which is of non-class type
'size_t {aka unsigned int}'
if (!((groupCharEnabled && groupChar==str[i])) && index >= 0 &&
static_cast<intmax_t>(index) <
static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v)) {
^
atoi64.cpp:1817:154: error: request for member 'v' in
'mBaseVal[mBaseVali(mantissa_fractional_base)]', which is of non-class type
'size_t {aka unsigned int}'
mantissa_fractional = mantissa_fractional +
(static_cast<intmax_t>(index)*powl(static_cast<intmax_t>(mBaseVal[mBaseVali(mantissa_fractional_base)].v),idx));
^
atoi64.cpp:1906:75: error: request for member 'v' in
'mBaseVal[mBaseVali(exp_base)]', which is of non-class type 'size_t {aka
unsigned int}'
exp_int=exp_int*static_cast<intmax_t>(mBaseVal[mBaseVali(exp_base)].v)+static_cast<intmax_t>(index);
^
atoi64.cpp:1914:96: error: request for member 'i' in
'mBaseVal[mBaseVali(5ll)]', which is of non-class type 'size_t {aka unsigned
int}'
} else if
(!foundMode&&static_cast<intmax_t>(mBaseVal[mBaseVali(ATOI64_CHARSET)].i)==static_cast<intmax_t>(ATOI64_CHARSET))
{
^
atoi64.cpp:1930:331: error: request for member 'v' in
'mBaseVal[mBaseVali(exp_base)]', which is of non-class type 'size_t {aka
unsigned int}'
while (i<l && (groupCharEnabled && groupChar==str[i] ||
S::npos!=(icaseCharset?toLowerCase(charset):charset).find(icaseCharset?std::tolower(str[i]):str[i])
&&
static_cast<intmax_t>((icaseCharset?toLowerCase(charset):charset).find(icaseCharset?std::tolower(str[i]):str[i]))<static_cast<intmax_t>(mBaseVal[mBaseVali(exp_base)].v))
&& !MatchArrayString(l,i,str,{"e+","e-","e"})) {
^
atoi64.cpp:1936:158: error: request for member 'v' in
'mBaseVal[mBaseVali(exp_base)]', which is of non-class type 'size_t {aka
unsigned int}'
if (!(groupCharEnabled && groupChar==str[i]) && index != S::npos &&
static_cast<intmax_t>(index) <
static_cast<intmax_t>(mBaseVal[mBaseVali(exp_base)].v)) {
^
atoi64.cpp:1937:76: error: request for member 'v' in
'mBaseVal[mBaseVali(exp_base)]', which is of non-class type 'size_t {aka
unsigned int}'
exp_int=exp_int*static_cast<intmax_t>(mBaseVal[mBaseVali(exp_base)].v)+static_cast<intmax_t>(index);//this
is correct. don't change it. please.
^
atoi64.cpp: In function 'ATOI64RESULT atoi64(S, bool, bool, C, VS, bool,
size_t, bool, bool, S, bool, S)':
atoi64.cpp:2947:25: error: conversion from
'__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type {aka char}' to
non-scalar type 'S {aka std::__cxx11::basic_string<char>}' requested
S s=charsetPrefix[0];//should really be s=charsetPrefix;s+="[";
^
atoi64.cpp:2974:24: error: conversion from
'__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type {aka char}' to
non-scalar type 'S {aka std::__cxx11::basic_string<char>}' requested
S s=charsetPrefix[0],s2=charsetPrefix,sf="\\.";
^
atoi64.cpp:3182:78: error: 'parseFloat' was not declared in this scope
return
{parseFloat(str.substr(i,posRP-moneySuffixes[imoney].size()-i)),true,startpos,posRP+1};//{result,status,startpos,endpos}
^
atoi64.cpp:3182:101: error: could not convert '{<expression error>, true,
startpos, (posRP + 1u)}' from '<brace-enclosed initializer list>' to
'ATOI64RESULT'
return
{parseFloat(str.substr(i,posRP-moneySuffixes[imoney].size()-i)),true,startpos,posRP+1};//{result,status,startpos,endpos}
^
atoi64.cpp:3185:39: error: 'parseFloat' was not declared in this scope
return
{parseFloat(str.substr(i)),true,startpos,posRP+1};//{result,status,startpos,endpos}
^
atoi64.cpp:3185:62: error: could not convert '{<expression error>, true,
startpos, (posRP + 1u)}' from '<brace-enclosed initializer list>' to
'ATOI64RESULT'
return
{parseFloat(str.substr(i)),true,startpos,posRP+1};//{result,status,startpos,endpos}
^
atoi64.cpp:3307:8: error: could not convert
'str.std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator[]<char,
std::char_traits<char>, std::allocator<char> >(ar.MATCHSUFFIXRESULT::newI)'
from '__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type {aka char}'
to 'S {aka std::__cxx11::basic_string<char>}'
suffixStr=ar.newSuffixStr;
^
atoi64.cpp:3370:281: error: a function-definition is not allowed here before
'{' token
ATOU64RESULT atou64(S str,bool oldCOctalEnabled=false,bool
groupCharEnabled=true,C groupChar=',',VS dimensionArr={""},bool
skipNonScientific=true,size_t pos=0,bool doMoney=false,bool
icaseDimensionArr=true,S charset="0123456789abcdef",bool icaseCharset=true,S
charsetPrefix="0d") { //returns Array(result,status,intstartpos,intendpos);
status:true=success false=failure
^
atoi64.cpp:5234:1: error: expected '}' at end of input
}
^
More information about the Gcc-bugs
mailing list