Ignore:
Timestamp:
Apr 18, 2024, 5:19:17 PM (6 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
master
Children:
38093ae
Parents:
60c5b6d
Message:

Moved ast::BasicType::Kind to ast::BasicKind? in its own hearder. This is more consistent with other utility enums (although we still use this as a enum class) and reduces what some files need to include. Also did a upgrade in a comment with MAX_INTEGER_TYPE, it is now part of the enum.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/TypeData.cc

    r60c5b6d r7a780ad  
    1919#include <ostream>                 // for operator<<, ostream, basic_ostream
    2020
     21#include "AST/Attribute.hpp"       // for Attribute
    2122#include "AST/Decl.hpp"            // for AggregateDecl, ObjectDecl, TypeDe...
    22 #include "AST/Attribute.hpp"       // for Attribute
    2323#include "AST/Init.hpp"            // for SingleInit, ListInit
    2424#include "AST/Print.hpp"           // for print
     25#include "AST/Type.hpp"            // for Type
    2526#include "Common/SemanticError.h"  // for SemanticError
    2627#include "Common/utility.h"        // for splice, spliceBegin
     
    10101011                // fill in implicit int
    10111012                return new ast::BasicType(
    1012                         ast::BasicType::SignedInt,
     1013                        ast::BasicKind::SignedInt,
    10131014                        buildQualifiers( td )
    10141015                );
     
    10951096
    10961097ast::Type * buildBasicType( const TypeData * td ) {
    1097         ast::BasicType::Kind ret;
     1098        ast::BasicKind ret;
    10981099
    10991100        switch ( td->basictype ) {
     
    11161117                } // if
    11171118
    1118                 ret = ast::BasicType::Bool;
     1119                ret = ast::BasicKind::Bool;
    11191120                break;
    11201121
     
    11231124                // character types. The implementation shall define char to have the same range, representation, and behavior as
    11241125                // either signed char or unsigned char.
    1125                 static ast::BasicType::Kind chartype[] = { ast::BasicType::SignedChar, ast::BasicType::UnsignedChar, ast::BasicType::Char };
     1126                static ast::BasicKind chartype[] = { ast::BasicKind::SignedChar, ast::BasicKind::UnsignedChar, ast::BasicKind::Char };
    11261127
    11271128                if ( td->length != TypeData::NoLength ) {
     
    11331134
    11341135        case TypeData::Int:
    1135                 static ast::BasicType::Kind inttype[2][4] = {
    1136                         { ast::BasicType::ShortSignedInt, ast::BasicType::LongSignedInt, ast::BasicType::LongLongSignedInt, ast::BasicType::SignedInt },
    1137                         { ast::BasicType::ShortUnsignedInt, ast::BasicType::LongUnsignedInt, ast::BasicType::LongLongUnsignedInt, ast::BasicType::UnsignedInt },
     1136                static ast::BasicKind inttype[2][4] = {
     1137                        { ast::BasicKind::ShortSignedInt, ast::BasicKind::LongSignedInt, ast::BasicKind::LongLongSignedInt, ast::BasicKind::SignedInt },
     1138                        { ast::BasicKind::ShortUnsignedInt, ast::BasicKind::LongUnsignedInt, ast::BasicKind::LongLongUnsignedInt, ast::BasicKind::UnsignedInt },
    11381139                };
    11391140
     
    11461147
    11471148        case TypeData::Int128:
    1148                 ret = td->signedness == TypeData::Unsigned ? ast::BasicType::UnsignedInt128 : ast::BasicType::SignedInt128;
     1149                ret = td->signedness == TypeData::Unsigned ? ast::BasicKind::UnsignedInt128 : ast::BasicKind::SignedInt128;
    11491150                if ( td->length != TypeData::NoLength ) {
    11501151                        genTSError( TypeData::lengthNames[ td->length ], td->basictype );
     
    11641165        case TypeData::uFloat128:
    11651166        case TypeData::uFloat128x:
    1166                 static ast::BasicType::Kind floattype[2][12] = {
    1167                         { ast::BasicType::FloatComplex, ast::BasicType::DoubleComplex, ast::BasicType::LongDoubleComplex, (ast::BasicType::Kind)-1, (ast::BasicType::Kind)-1, ast::BasicType::uFloat16Complex, ast::BasicType::uFloat32Complex, ast::BasicType::uFloat32xComplex, ast::BasicType::uFloat64Complex, ast::BasicType::uFloat64xComplex, ast::BasicType::uFloat128Complex, ast::BasicType::uFloat128xComplex, },
    1168                         { ast::BasicType::Float, ast::BasicType::Double, ast::BasicType::LongDouble, ast::BasicType::uuFloat80, ast::BasicType::uuFloat128, ast::BasicType::uFloat16, ast::BasicType::uFloat32, ast::BasicType::uFloat32x, ast::BasicType::uFloat64, ast::BasicType::uFloat64x, ast::BasicType::uFloat128, ast::BasicType::uFloat128x, },
     1167                static ast::BasicKind floattype[2][12] = {
     1168                        { ast::BasicKind::FloatComplex, ast::BasicKind::DoubleComplex, ast::BasicKind::LongDoubleComplex, (ast::BasicKind)-1, (ast::BasicKind)-1, ast::BasicKind::uFloat16Complex, ast::BasicKind::uFloat32Complex, ast::BasicKind::uFloat32xComplex, ast::BasicKind::uFloat64Complex, ast::BasicKind::uFloat64xComplex, ast::BasicKind::uFloat128Complex, ast::BasicKind::uFloat128xComplex, },
     1169                        { ast::BasicKind::Float, ast::BasicKind::Double, ast::BasicKind::LongDouble, ast::BasicKind::uuFloat80, ast::BasicKind::uuFloat128, ast::BasicKind::uFloat16, ast::BasicKind::uFloat32, ast::BasicKind::uFloat32x, ast::BasicKind::uFloat64, ast::BasicKind::uFloat64x, ast::BasicKind::uFloat128, ast::BasicKind::uFloat128x, },
    11691170                };
    11701171
     
    12131214
    12141215static ast::Type * buildDefaultType( const TypeData * td ) {
    1215         return ( td ) ? typebuild( td ) : new ast::BasicType( ast::BasicType::SignedInt );
     1216        return ( td ) ? typebuild( td ) : new ast::BasicType( ast::BasicKind::SignedInt );
    12161217} // buildDefaultType
    12171218
     
    15791580                        td->location,
    15801581                        "",
    1581                         new ast::BasicType( ast::BasicType::SignedInt ),
     1582                        new ast::BasicType( ast::BasicKind::SignedInt ),
    15821583                        (ast::Init *)nullptr,
    15831584                        ast::Storage::Classes(),
     
    16671668        } else {
    16681669                ft->returns.push_back(
    1669                         new ast::BasicType( ast::BasicType::SignedInt ) );
     1670                        new ast::BasicType( ast::BasicKind::SignedInt ) );
    16701671        } // if
    16711672        return ft;
Note: See TracChangeset for help on using the changeset viewer.