Changeset 7a780ad for src/Parser/ExpressionNode.cc
- Timestamp:
- Apr 18, 2024, 5:19:17 PM (6 months ago)
- Branches:
- master
- Children:
- 38093ae
- Parents:
- 60c5b6d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ExpressionNode.cc
r60c5b6d r7a780ad 23 23 #include <string> // for string, operator+, operator== 24 24 25 #include "AST/BasicKind.hpp" // for BasicKind 25 26 #include "AST/Expr.hpp" // for NameExpr 26 #include "AST/Type.hpp" // for BaseType, SueInstType27 #include "AST/Type.hpp" // for Type, LengthFlag, DimentionFlag 27 28 #include "Common/SemanticError.h" // for SemanticError 28 29 #include "Common/utility.h" // for maybeMoveBuild, maybeBuild, CodeLo... … … 126 127 ast::Expr * build_constantInteger( 127 128 const CodeLocation & location, string & str ) { 128 static const ast::Basic Type::Kind kind[2][6] = {129 static const ast::BasicKind kind[2][6] = { 129 130 // short (h) must be before char (hh) because shorter type has the longer suffix 130 { ast::Basic Type::ShortSignedInt, ast::BasicType::SignedChar, ast::BasicType::SignedInt, ast::BasicType::LongSignedInt, ast::BasicType::LongLongSignedInt, /* BasicType::SignedInt128 */ ast::BasicType::LongLongSignedInt, },131 { ast::Basic Type::ShortUnsignedInt, ast::BasicType::UnsignedChar, ast::BasicType::UnsignedInt, ast::BasicType::LongUnsignedInt, ast::BasicType::LongLongUnsignedInt, /* BasicType::UnsignedInt128 */ ast::BasicType::LongLongUnsignedInt, },131 { ast::BasicKind::ShortSignedInt, ast::BasicKind::SignedChar, ast::BasicKind::SignedInt, ast::BasicKind::LongSignedInt, ast::BasicKind::LongLongSignedInt, /* BasicKind::SignedInt128 */ ast::BasicKind::LongLongSignedInt, }, 132 { ast::BasicKind::ShortUnsignedInt, ast::BasicKind::UnsignedChar, ast::BasicKind::UnsignedInt, ast::BasicKind::LongUnsignedInt, ast::BasicKind::LongLongUnsignedInt, /* BasicKind::UnsignedInt128 */ ast::BasicKind::LongLongUnsignedInt, }, 132 133 }; 133 134 … … 313 314 if ( ltype == 6 ) { // int128, (int128)constant 314 315 ret2 = new ast::ConstantExpr( location, 315 new ast::BasicType( ast::Basic Type::LongLongSignedInt ),316 new ast::BasicType( ast::BasicKind::LongLongSignedInt ), 316 317 str2, 317 318 v2 ); … … 379 380 ast::Expr * build_constantFloat( 380 381 const CodeLocation & location, string & str ) { 381 static const ast::Basic Type::Kind kind[2][12] = {382 { ast::Basic Type::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 },383 { ast::Basic Type::FloatComplex, ast::BasicType::DoubleComplex, ast::BasicType::LongDoubleComplex, ast::BasicType::NUMBER_OF_BASIC_TYPES, ast::BasicType::NUMBER_OF_BASIC_TYPES, ast::BasicType::uFloat16Complex, ast::BasicType::uFloat32Complex, ast::BasicType::uFloat32xComplex, ast::BasicType::uFloat64Complex, ast::BasicType::uFloat64xComplex, ast::BasicType::uFloat128Complex, ast::BasicType::uFloat128xComplex },382 static const ast::BasicKind kind[2][12] = { 383 { 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 }, 384 { ast::BasicKind::FloatComplex, ast::BasicKind::DoubleComplex, ast::BasicKind::LongDoubleComplex, ast::BasicKind::NUMBER_OF_BASIC_TYPES, ast::BasicKind::NUMBER_OF_BASIC_TYPES, ast::BasicKind::uFloat16Complex, ast::BasicKind::uFloat32Complex, ast::BasicKind::uFloat32xComplex, ast::BasicKind::uFloat64Complex, ast::BasicKind::uFloat64xComplex, ast::BasicKind::uFloat128Complex, ast::BasicKind::uFloat128xComplex }, 384 385 }; 385 386 … … 447 448 448 449 ast::Expr * ret = new ast::ConstantExpr( location, 449 new ast::BasicType( ast::Basic Type::Char ),450 new ast::BasicType( ast::BasicKind::Char ), 450 451 str, 451 452 (unsigned long long int)(unsigned char)str[1] ); … … 482 483 Default: // char default string type 483 484 default: 484 strtype = new ast::BasicType( ast::Basic Type::Char );485 strtype = new ast::BasicType( ast::BasicKind::Char ); 485 486 } // switch 486 487 ast::ArrayType * at = new ast::ArrayType( … … 664 665 member->name 665 666 ); 666 ret->result = new ast::BasicType( ast::Basic Type::LongUnsignedInt );667 ret->result = new ast::BasicType( ast::BasicKind::LongUnsignedInt ); 667 668 delete member; 668 669 return ret;
Note: See TracChangeset
for help on using the changeset viewer.