Changes in / [982832e:e3e16bc]
- Location:
- src
- Files:
-
- 1 added
- 3 deleted
- 42 edited
-
CodeGen/CodeGenerator.cc (modified) (2 diffs)
-
CodeGen/Generate.cc (modified) (2 diffs)
-
Common/PassVisitor.h (modified) (1 diff)
-
Common/PassVisitor.impl.h (modified) (2 diffs)
-
Common/utility.h (modified) (1 diff)
-
GenPoly/Box.cc (modified) (22 diffs)
-
Parser/DeclarationNode.cc (modified) (1 diff)
-
Parser/ExpressionNode.cc (modified) (7 diffs)
-
Parser/ParseNode.h (modified) (2 diffs)
-
Parser/lex.ll (modified) (6 diffs)
-
Parser/parser.yy (modified) (12 diffs)
-
ResolvExpr/CastCost.cc (modified) (1 diff)
-
ResolvExpr/ConversionCost.cc (modified) (2 diffs)
-
SymTab/Autogen.cc (modified) (8 diffs)
-
SymTab/Validate.cc (modified) (10 diffs)
-
SynTree/BasicType.cc (modified) (2 diffs)
-
SynTree/Declaration.h (modified) (2 diffs)
-
SynTree/Mutator.cc (modified) (1 diff)
-
SynTree/Mutator.h (modified) (1 diff)
-
SynTree/ObjectDecl.cc (modified) (1 diff)
-
SynTree/Statement.cc (modified) (1 diff)
-
SynTree/Statement.h (modified) (1 diff)
-
SynTree/Type.cc (modified) (3 diffs)
-
libcfa/iostream (modified) (3 diffs)
-
libcfa/iostream.c (modified) (6 diffs)
-
tests/.expect/32/KRfunctions.txt (modified) (2 diffs)
-
tests/.expect/32/attributes.txt (modified) (12 diffs)
-
tests/.expect/32/declarationSpecifier.txt (modified) (26 diffs)
-
tests/.expect/32/extension.txt (modified) (5 diffs)
-
tests/.expect/32/gccExtensions.txt (modified) (7 diffs)
-
tests/.expect/32/literals.txt (deleted)
-
tests/.expect/64/KRfunctions.txt (modified) (2 diffs)
-
tests/.expect/64/attributes.txt (modified) (12 diffs)
-
tests/.expect/64/declarationSpecifier.txt (modified) (25 diffs)
-
tests/.expect/64/extension.txt (modified) (5 diffs)
-
tests/.expect/64/gccExtensions.txt (modified) (6 diffs)
-
tests/.expect/64/literals.txt (deleted)
-
tests/.expect/io.txt (modified) (1 diff)
-
tests/.expect/user_literals.txt (modified) (1 diff)
-
tests/Makefile.am (modified) (2 diffs)
-
tests/Makefile.in (modified) (1 diff)
-
tests/charStringConstants.c (added)
-
tests/io.c (modified) (4 diffs)
-
tests/io.data (modified) (1 diff)
-
tests/literals.c (deleted)
-
tests/user_literals.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
r982832e re3e16bc 258 258 259 259 void CodeGenerator::visit( TraitDecl * traitDecl ) { 260 assertf( ! genC, "TraitDecl s should not reach code generation." );260 assertf( ! genC, "TraitDecl nodes should not reach code generation." ); 261 261 extension( traitDecl ); 262 262 handleAggregate( traitDecl, "trait " ); … … 271 271 272 272 void CodeGenerator::visit( TypeDecl * typeDecl ) { 273 assertf( ! genC, "TypeDecls should not reach code generation." ); 274 output << typeDecl->genTypeString() << " " << typeDecl->get_name(); 275 if ( typeDecl->get_kind() != TypeDecl::Any && typeDecl->get_sized() ) { 276 output << " | sized(" << typeDecl->get_name() << ")"; 277 } 278 if ( ! typeDecl->get_assertions().empty() ) { 279 output << " | { "; 280 genCommaList( typeDecl->get_assertions().begin(), typeDecl->get_assertions().end() ); 281 output << " }"; 273 if ( genC ) { 274 // really, we should mutate this into something that isn't a TypeDecl but that requires large-scale changes, 275 // still to be done 276 extension( typeDecl ); 277 output << "extern unsigned long " << typeDecl->get_name(); 278 if ( typeDecl->get_base() ) { 279 output << " = sizeof( " << genType( typeDecl->get_base(), "", pretty, genC ) << " )"; 280 } // if 281 } else { 282 output << typeDecl->genTypeString() << " " << typeDecl->get_name(); 283 if ( typeDecl->get_kind() != TypeDecl::Any && typeDecl->get_sized() ) { 284 output << " | sized(" << typeDecl->get_name() << ")"; 285 } 286 if ( ! typeDecl->get_assertions().empty() ) { 287 output << " | { "; 288 genCommaList( typeDecl->get_assertions().begin(), typeDecl->get_assertions().end() ); 289 output << " }"; 290 } 282 291 } 283 292 } -
src/CodeGen/Generate.cc
r982832e re3e16bc 33 33 /// Removes misc. nodes that should not exist in CodeGen 34 34 struct TreeCleaner { 35 void previsit( CompoundStmt * stmt );35 void visit( CompoundStmt * stmt ); 36 36 37 37 static bool shouldClean( Declaration * ); … … 72 72 73 73 namespace { 74 void TreeCleaner:: previsit( CompoundStmt * cstmt ) {74 void TreeCleaner::visit( CompoundStmt * cstmt ) { 75 75 filter( cstmt->kids, [](Statement * stmt) { 76 76 if ( DeclStmt * declStmt = dynamic_cast< DeclStmt * >( stmt ) ) { -
src/Common/PassVisitor.h
r982832e re3e16bc 147 147 virtual Declaration* mutate( EnumDecl *aggregateDecl ) override final; 148 148 virtual Declaration* mutate( TraitDecl *aggregateDecl ) override final; 149 virtual Declaration* mutate( TypeDecl *typeDecl ) override final;149 virtual TypeDecl* mutate( TypeDecl *typeDecl ) override final; 150 150 virtual Declaration* mutate( TypedefDecl *typeDecl ) override final; 151 151 virtual AsmDecl* mutate( AsmDecl *asmDecl ) override final; -
src/Common/PassVisitor.impl.h
r982832e re3e16bc 506 506 507 507 template< typename pass_type > 508 Declaration* PassVisitor< pass_type >::mutate( TypeDecl * node ) {508 TypeDecl * PassVisitor< pass_type >::mutate( TypeDecl * node ) { 509 509 MUTATE_START( node ); 510 510 … … 521 521 indexerScopedMutate( node->init, *this ); 522 522 523 MUTATE_END( Declaration, node );523 MUTATE_END( TypeDecl, node ); 524 524 } 525 525 -
src/Common/utility.h
r982832e re3e16bc 389 389 } 390 390 391 // -----------------------------------------------------------------------------392 // Helper struct and function to support393 // for ( val : lazy_map( container1, f ) ) {}394 // syntax to have a for each that iterates a container, mapping each element by applying f395 template< typename T, typename Func >396 struct lambda_iterate_t {397 const T & ref;398 std::function<Func> f;399 400 struct iterator {401 typedef decltype(begin(ref)) Iter;402 Iter it;403 std::function<Func> f;404 iterator( Iter it, std::function<Func> f ) : it(it), f(f) {}405 iterator & operator++() {406 ++it; return *this;407 }408 bool operator!=( const iterator &other ) const { return it != other.it; }409 auto operator*() const -> decltype(f(*it)) { return f(*it); }410 };411 412 lambda_iterate_t( const T & ref, std::function<Func> f ) : ref(ref), f(f) {}413 414 auto begin() const -> decltype(iterator(std::begin(ref), f)) { return iterator(std::begin(ref), f); }415 auto end() const -> decltype(iterator(std::end(ref), f)) { return iterator(std::end(ref), f); }416 };417 418 template< typename... Args >419 lambda_iterate_t<Args...> lazy_map( const Args &... args ) {420 return lambda_iterate_t<Args...>( args...);421 }422 423 424 425 391 // Local Variables: // 426 392 // tab-width: 4 // -
src/GenPoly/Box.cc
r982832e re3e16bc 27 27 28 28 #include "CodeGen/OperatorTable.h" 29 #include "Common/PassVisitor.h" // for PassVisitor30 29 #include "Common/ScopedMap.h" // for ScopedMap, ScopedMap<>::iter... 31 30 #include "Common/SemanticError.h" // for SemanticError … … 158 157 /// * Calculates polymorphic offsetof expressions from offset array 159 158 /// * Inserts dynamic calculation of polymorphic type layouts where needed 160 class PolyGenericCalculator final : public WithGuards, public WithVisitorRef<PolyGenericCalculator>, public WithStmtsToAdd, public WithDeclsToAdd, public WithTypeSubstitution{159 class PolyGenericCalculator final : public PolyMutator { 161 160 public: 161 typedef PolyMutator Parent; 162 using Parent::mutate; 163 162 164 PolyGenericCalculator(); 163 165 164 void premutate( ObjectDecl *objectDecl ); 165 void premutate( FunctionDecl *functionDecl ); 166 void premutate( TypedefDecl *objectDecl ); 167 void premutate( TypeDecl *objectDecl ); 168 Declaration * postmutate( TypeDecl *TraitDecl ); 169 void premutate( PointerType *pointerType ); 170 void premutate( FunctionType *funcType ); 171 void premutate( DeclStmt *declStmt ); 172 Expression *postmutate( MemberExpr *memberExpr ); 173 Expression *postmutate( SizeofExpr *sizeofExpr ); 174 Expression *postmutate( AlignofExpr *alignofExpr ); 175 Expression *postmutate( OffsetofExpr *offsetofExpr ); 176 Expression *postmutate( OffsetPackExpr *offsetPackExpr ); 177 178 void beginScope(); 179 void endScope(); 166 template< typename DeclClass > 167 DeclClass *handleDecl( DeclClass *decl, Type *type ); 168 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 169 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) override; 170 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ) override; 171 virtual TypeDecl *mutate( TypeDecl *objectDecl ) override; 172 virtual Statement *mutate( DeclStmt *declStmt ) override; 173 virtual Type *mutate( PointerType *pointerType ) override; 174 virtual Type *mutate( FunctionType *funcType ) override; 175 virtual Expression *mutate( MemberExpr *memberExpr ) override; 176 virtual Expression *mutate( SizeofExpr *sizeofExpr ) override; 177 virtual Expression *mutate( AlignofExpr *alignofExpr ) override; 178 virtual Expression *mutate( OffsetofExpr *offsetofExpr ) override; 179 virtual Expression *mutate( OffsetPackExpr *offsetPackExpr ) override; 180 181 virtual void doBeginScope() override; 182 virtual void doEndScope() override; 180 183 181 184 private: … … 191 194 /// Exits the type-variable scope 192 195 void endTypeScope(); 193 /// Enters a new scope for knowLayouts and knownOffsets and queues exit calls194 void beginGenericScope();195 196 196 197 ScopedSet< std::string > knownLayouts; ///< Set of generic type layouts known in the current scope, indexed by sizeofName 197 198 ScopedSet< std::string > knownOffsets; ///< Set of non-generic types for which the offset array exists in the current scope, indexed by offsetofName 198 199 UniqueName bufNamer; ///< Namer for VLA buffers 199 TyVarMap scopeTyVars;200 200 }; 201 201 … … 250 250 Pass1 pass1; 251 251 Pass2 pass2; 252 P assVisitor<PolyGenericCalculator>polyCalculator;252 PolyGenericCalculator polyCalculator; 253 253 Pass3 pass3; 254 254 … … 256 256 mutateTranslationUnit/*All*/( translationUnit, pass1 ); 257 257 mutateTranslationUnit/*All*/( translationUnit, pass2 ); 258 mutate All( translationUnit, polyCalculator );258 mutateTranslationUnit/*All*/( translationUnit, polyCalculator ); 259 259 mutateTranslationUnit/*All*/( translationUnit, pass3 ); 260 260 } … … 555 555 TypeDecl *Pass1::mutate( TypeDecl *typeDecl ) { 556 556 addToTyVarMap( typeDecl, scopeTyVars ); 557 return dynamic_cast<TypeDecl*>( Mutator::mutate( typeDecl ));557 return Mutator::mutate( typeDecl ); 558 558 } 559 559 … … 762 762 } else if ( arg->get_result()->get_lvalue() ) { 763 763 // argument expression may be CFA lvalue, but not C lvalue -- apply generalizedLvalue transformations. 764 // if ( VariableExpr * varExpr = dynamic_cast< VariableExpr * >( arg ) ) {765 // if ( dynamic_cast<ArrayType *>( varExpr->var->get_type() ) ){766 // // temporary hack - don't box arrays, because &arr is not the same as &arr[0]767 // return;768 // }769 // }770 764 arg = generalizedLvalue( new AddressExpr( arg ) ); 771 765 if ( ! ResolvExpr::typesCompatible( param, arg->get_result(), SymTab::Indexer() ) ) { … … 1359 1353 return handleDecl( typeDecl ); 1360 1354 } else { 1361 return dynamic_cast<TypeDecl*>( Parent::mutate( typeDecl ));1355 return Parent::mutate( typeDecl ); 1362 1356 } 1363 1357 } … … 1472 1466 1473 1467 PolyGenericCalculator::PolyGenericCalculator() 1474 : knownLayouts(), knownOffsets(), bufNamer( "_buf" ), scopeTyVars( TypeDecl::Data{}) {}1468 : Parent(), knownLayouts(), knownOffsets(), bufNamer( "_buf" ) {} 1475 1469 1476 1470 void PolyGenericCalculator::beginTypeScope( Type *ty ) { 1477 GuardScope( scopeTyVars);1471 scopeTyVars.beginScope(); 1478 1472 makeTyVarMap( ty, scopeTyVars ); 1479 1473 } 1480 1474 1481 void PolyGenericCalculator::beginGenericScope() { 1482 GuardScope( *this ); 1483 } 1484 1485 void PolyGenericCalculator::premutate( ObjectDecl *objectDecl ) { 1486 beginTypeScope( objectDecl->get_type() ); 1487 } 1488 1489 void PolyGenericCalculator::premutate( FunctionDecl *functionDecl ) { 1490 beginGenericScope(); 1491 1492 beginTypeScope( functionDecl->get_functionType() ); 1493 } 1494 1495 void PolyGenericCalculator::premutate( TypedefDecl *typedefDecl ) { 1496 beginTypeScope( typedefDecl->get_base() ); 1497 } 1498 1499 void PolyGenericCalculator::premutate( TypeDecl * typeDecl ) { 1475 void PolyGenericCalculator::endTypeScope() { 1476 scopeTyVars.endScope(); 1477 } 1478 1479 template< typename DeclClass > 1480 DeclClass * PolyGenericCalculator::handleDecl( DeclClass *decl, Type *type ) { 1481 beginTypeScope( type ); 1482 // knownLayouts.beginScope(); 1483 // knownOffsets.beginScope(); 1484 1485 DeclClass *ret = static_cast< DeclClass *>( Parent::mutate( decl ) ); 1486 1487 // knownOffsets.endScope(); 1488 // knownLayouts.endScope(); 1489 endTypeScope(); 1490 return ret; 1491 } 1492 1493 ObjectDecl * PolyGenericCalculator::mutate( ObjectDecl *objectDecl ) { 1494 return handleDecl( objectDecl, objectDecl->get_type() ); 1495 } 1496 1497 DeclarationWithType * PolyGenericCalculator::mutate( FunctionDecl *functionDecl ) { 1498 knownLayouts.beginScope(); 1499 knownOffsets.beginScope(); 1500 1501 DeclarationWithType * decl = handleDecl( functionDecl, functionDecl->get_functionType() ); 1502 knownOffsets.endScope(); 1503 knownLayouts.endScope(); 1504 return decl; 1505 } 1506 1507 TypedefDecl * PolyGenericCalculator::mutate( TypedefDecl *typedefDecl ) { 1508 return handleDecl( typedefDecl, typedefDecl->get_base() ); 1509 } 1510 1511 TypeDecl * PolyGenericCalculator::mutate( TypeDecl *typeDecl ) { 1500 1512 addToTyVarMap( typeDecl, scopeTyVars ); 1501 } 1502 1503 Declaration * PolyGenericCalculator::postmutate( TypeDecl *typeDecl ) { 1504 if ( Type * base = typeDecl->base ) { 1505 // add size/align variables for opaque type declarations 1506 TypeInstType inst( Type::Qualifiers(), typeDecl->name, typeDecl ); 1507 std::string typeName = mangleType( &inst ); 1508 Type *layoutType = new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ); 1509 1510 ObjectDecl * sizeDecl = ObjectDecl::newObject( sizeofName( typeName ), layoutType, new SingleInit( new SizeofExpr( base->clone() ) ) ); 1511 ObjectDecl * alignDecl = ObjectDecl::newObject( alignofName( typeName ), layoutType->clone(), new SingleInit( new AlignofExpr( base->clone() ) ) ); 1512 1513 // ensure that the initializing sizeof/alignof exprs are properly mutated 1514 sizeDecl->acceptMutator( *visitor ); 1515 alignDecl->acceptMutator( *visitor ); 1516 1517 // can't use makeVar, because it inserts into stmtsToAdd and TypeDecls can occur at global scope 1518 declsToAddAfter.push_back( alignDecl ); 1519 // replace with sizeDecl 1520 return sizeDecl; 1521 } 1522 return typeDecl; 1523 } 1524 1525 void PolyGenericCalculator::premutate( PointerType *pointerType ) { 1513 return Parent::mutate( typeDecl ); 1514 } 1515 1516 Type * PolyGenericCalculator::mutate( PointerType *pointerType ) { 1526 1517 beginTypeScope( pointerType ); 1527 } 1528 1529 void PolyGenericCalculator::premutate( FunctionType *funcType ) { 1518 1519 Type *ret = Parent::mutate( pointerType ); 1520 1521 endTypeScope(); 1522 return ret; 1523 } 1524 1525 Type * PolyGenericCalculator::mutate( FunctionType *funcType ) { 1530 1526 beginTypeScope( funcType ); 1531 1527 … … 1538 1534 } 1539 1535 } 1540 } 1541 1542 void PolyGenericCalculator::premutate( DeclStmt *declStmt ) { 1536 1537 Type *ret = Parent::mutate( funcType ); 1538 1539 endTypeScope(); 1540 return ret; 1541 } 1542 1543 Statement *PolyGenericCalculator::mutate( DeclStmt *declStmt ) { 1543 1544 if ( ObjectDecl *objectDecl = dynamic_cast< ObjectDecl *>( declStmt->get_decl() ) ) { 1544 1545 if ( findGeneric( objectDecl->get_type() ) ) { … … 1549 1550 new ArrayType( Type::Qualifiers(), new BasicType( Type::Qualifiers(), BasicType::Kind::Char), new NameExpr( sizeofName( mangleType(declType) ) ), 1550 1551 true, false, std::list<Attribute*>{ new Attribute( "aligned", std::list<Expression*>{ new ConstantExpr( Constant::from_int(8) ) } ) } ), 0 ); 1551 stmtsToAdd Before.push_back( new DeclStmt( noLabels, newBuf ) );1552 stmtsToAdd.push_back( new DeclStmt( noLabels, newBuf ) ); 1552 1553 1553 1554 delete objectDecl->get_init(); … … 1555 1556 } 1556 1557 } 1558 return Parent::mutate( declStmt ); 1557 1559 } 1558 1560 … … 1581 1583 } 1582 1584 1583 Expression *PolyGenericCalculator::postmutate( MemberExpr *memberExpr ) { 1585 Expression *PolyGenericCalculator::mutate( MemberExpr *memberExpr ) { 1586 // mutate, exiting early if no longer MemberExpr 1587 Expression *expr = Parent::mutate( memberExpr ); 1588 memberExpr = dynamic_cast< MemberExpr* >( expr ); 1589 if ( ! memberExpr ) return expr; 1590 1584 1591 // only mutate member expressions for polymorphic types 1585 1592 int tyDepth; … … 1628 1635 ObjectDecl *PolyGenericCalculator::makeVar( const std::string &name, Type *type, Initializer *init ) { 1629 1636 ObjectDecl *newObj = new ObjectDecl( name, Type::StorageClasses(), LinkageSpec::C, 0, type, init ); 1630 stmtsToAdd Before.push_back( new DeclStmt( noLabels, newObj ) );1637 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); 1631 1638 return newObj; 1632 1639 } … … 1707 1714 addOtypeParamsToLayoutCall( layoutCall, otypeParams ); 1708 1715 1709 stmtsToAdd Before.push_back( new ExprStmt( noLabels, layoutCall ) );1716 stmtsToAdd.push_back( new ExprStmt( noLabels, layoutCall ) ); 1710 1717 } 1711 1718 … … 1733 1740 addOtypeParamsToLayoutCall( layoutCall, otypeParams ); 1734 1741 1735 stmtsToAdd Before.push_back( new ExprStmt( noLabels, layoutCall ) );1742 stmtsToAdd.push_back( new ExprStmt( noLabels, layoutCall ) ); 1736 1743 1737 1744 return true; … … 1741 1748 } 1742 1749 1743 Expression *PolyGenericCalculator:: postmutate( SizeofExpr *sizeofExpr ) {1750 Expression *PolyGenericCalculator::mutate( SizeofExpr *sizeofExpr ) { 1744 1751 Type *ty = sizeofExpr->get_isType() ? sizeofExpr->get_type() : sizeofExpr->get_expr()->get_result(); 1745 1752 if ( findGeneric( ty ) ) { … … 1751 1758 } 1752 1759 1753 Expression *PolyGenericCalculator:: postmutate( AlignofExpr *alignofExpr ) {1760 Expression *PolyGenericCalculator::mutate( AlignofExpr *alignofExpr ) { 1754 1761 Type *ty = alignofExpr->get_isType() ? alignofExpr->get_type() : alignofExpr->get_expr()->get_result(); 1755 1762 if ( findGeneric( ty ) ) { … … 1761 1768 } 1762 1769 1763 Expression *PolyGenericCalculator::postmutate( OffsetofExpr *offsetofExpr ) { 1770 Expression *PolyGenericCalculator::mutate( OffsetofExpr *offsetofExpr ) { 1771 // mutate, exiting early if no longer OffsetofExpr 1772 Expression *expr = Parent::mutate( offsetofExpr ); 1773 offsetofExpr = dynamic_cast< OffsetofExpr* >( expr ); 1774 if ( ! offsetofExpr ) return expr; 1775 1764 1776 // only mutate expressions for polymorphic structs/unions 1765 1777 Type *ty = offsetofExpr->get_type(); … … 1781 1793 } 1782 1794 1783 Expression *PolyGenericCalculator:: postmutate( OffsetPackExpr *offsetPackExpr ) {1795 Expression *PolyGenericCalculator::mutate( OffsetPackExpr *offsetPackExpr ) { 1784 1796 StructInstType *ty = offsetPackExpr->get_type(); 1785 1797 … … 1820 1832 } 1821 1833 1822 void PolyGenericCalculator:: beginScope() {1834 void PolyGenericCalculator::doBeginScope() { 1823 1835 knownLayouts.beginScope(); 1824 1836 knownOffsets.beginScope(); 1825 1837 } 1826 1838 1827 void PolyGenericCalculator:: endScope() {1839 void PolyGenericCalculator::doEndScope() { 1828 1840 knownLayouts.endScope(); 1829 1841 knownOffsets.endScope(); … … 1882 1894 1883 1895 addToTyVarMap( typeDecl, scopeTyVars ); 1884 return dynamic_cast<TypeDecl*>( Mutator::mutate( typeDecl ));1896 return Mutator::mutate( typeDecl ); 1885 1897 } 1886 1898 -
src/Parser/DeclarationNode.cc
r982832e re3e16bc 333 333 DeclarationNode * DeclarationNode::newTypeDecl( string * name, DeclarationNode * typeParams ) { 334 334 DeclarationNode * newnode = new DeclarationNode; 335 newnode->name = name;336 335 newnode->type = new TypeData( TypeData::Symbolic ); 337 336 newnode->type->symbolic.isTypedef = false; 338 337 newnode->type->symbolic.params = typeParams; 338 newnode->type->symbolic.name = name; 339 339 return newnode; 340 340 } // DeclarationNode::newTypeDecl -
src/Parser/ExpressionNode.cc
r982832e re3e16bc 10 10 // Created On : Sat May 16 13:17:07 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Sep 12 10:00:29201713 // Update Count : 6 7212 // Last Modified On : Sun Sep 3 22:21:21 2017 13 // Update Count : 639 14 14 // 15 15 … … 49 49 // type. 50 50 51 extern const Type::Qualifiers noQualifiers; // no qualifiers on constants52 53 static inline bool check H( char c ) { return c == 'h' || c == 'H'; }51 extern const Type::Qualifiers noQualifiers; // no qualifiers on constants 52 53 static inline bool checkU( char c ) { return c == 'u' || c == 'U'; } 54 54 static inline bool checkL( char c ) { return c == 'l' || c == 'L'; } 55 static inline bool checkZ( char c ) { return c == 'z' || c == 'Z'; }56 static inline bool checkU( char c ) { return c == 'u' || c == 'U'; }57 55 static inline bool checkF( char c ) { return c == 'f' || c == 'F'; } 58 56 static inline bool checkD( char c ) { return c == 'd' || c == 'D'; } … … 69 67 70 68 Expression * build_constantInteger( string & str ) { 71 static const BasicType::Kind kind[2][5] = { 72 // short (h) must be before char (hh) 73 { BasicType::ShortSignedInt, BasicType::SignedChar, BasicType::SignedInt, BasicType::LongSignedInt, BasicType::LongLongSignedInt }, 74 { BasicType::ShortUnsignedInt, BasicType::UnsignedChar, BasicType::UnsignedInt, BasicType::LongUnsignedInt, BasicType::LongLongUnsignedInt }, 69 static const BasicType::Kind kind[2][3] = { 70 { BasicType::SignedInt, BasicType::LongSignedInt, BasicType::LongLongSignedInt }, 71 { BasicType::UnsignedInt, BasicType::LongUnsignedInt, BasicType::LongLongUnsignedInt }, 75 72 }; 76 73 … … 79 76 80 77 bool dec = true, Unsigned = false; // decimal, unsigned constant 81 int size; // 0 => short, 1 => char, 2 => int, 3 => long int, 4 => long long int, 5 => size_t78 int size; // 0 => int, 1 => long, 2 => long long 82 79 unsigned long long int v; // converted integral value 83 80 size_t last = str.length() - 1; // last character of constant 84 81 Expression * ret; 85 82 83 // ROB: what do we do with units on 0 and 1? 86 84 // special constants 87 85 if ( str == "0" ) { … … 109 107 110 108 if ( v <= INT_MAX ) { // signed int 111 size = 2;109 size = 0; 112 110 } else if ( v <= UINT_MAX && ! dec ) { // unsigned int 113 size = 2;111 size = 0; 114 112 Unsigned = true; // unsigned 115 113 } else if ( v <= LONG_MAX ) { // signed long int 116 size = 3;114 size = 1; 117 115 } else if ( v <= ULONG_MAX && ( ! dec || LONG_MAX == LLONG_MAX ) ) { // signed long int 118 size = 3;116 size = 1; 119 117 Unsigned = true; // unsigned long int 120 118 } else if ( v <= LLONG_MAX ) { // signed long long int 121 size = 4;119 size = 2; 122 120 } else { // unsigned long long int 123 size = 4;121 size = 2; 124 122 Unsigned = true; // unsigned long long int 125 123 } // if 126 127 // At least one digit in integer constant, so safe to backup while looking for suffix.128 124 129 125 if ( checkU( str[last] ) ) { // suffix 'u' ? 130 126 Unsigned = true; 131 if ( checkL( str[last - 1] ) ) {// suffix 'l' ?132 size = 3;133 if ( checkL( str[last - 2] ) ) { // suffix "ll"?134 size = 4;127 if ( last > 0 && checkL( str[last - 1] ) ) { // suffix 'l' ? 128 size = 1; 129 if ( last > 1 && checkL( str[last - 2] ) ) { // suffix 'll' ? 130 size = 2; 135 131 } // if 136 } else if ( checkH( str[last - 1] ) ) { // suffix 'h' ?137 size = 0;138 if ( checkH( str[last - 2] ) ) { // suffix "hh" ?139 size = 1;140 } // if141 str.erase( last - size - 1, size + 1 ); // remove 'h'/"hh"142 132 } // if 143 133 } else if ( checkL( str[ last ] ) ) { // suffix 'l' ? 144 size = 3;145 if ( checkL( str[last - 1] ) ) {// suffix 'll' ?146 size = 4;147 if ( checkU( str[last - 2] ) ) {// suffix 'u' ?134 size = 1; 135 if ( last > 0 && checkL( str[last - 1] ) ) { // suffix 'll' ? 136 size = 2; 137 if ( last > 1 && checkU( str[last - 2] ) ) { // suffix 'u' ? 148 138 Unsigned = true; 149 139 } // if 150 } else if ( checkU( str[last - 1] ) ) { // suffix 'u' ? 151 Unsigned = true; 152 } // if 153 } else if ( checkH( str[ last ] ) ) { // suffix 'h' ? 154 size = 0; 155 if ( checkH( str[last - 1] ) ) { // suffix "hh" ? 156 size = 1; 157 if ( checkU( str[last - 2] ) ) { // suffix 'u' ? 140 } else { 141 if ( last > 0 && checkU( str[last - 1] ) ) { // suffix 'u' ? 158 142 Unsigned = true; 159 143 } // if 160 } else if ( checkU( str[last - 1] ) ) { // suffix 'u' ? 161 Unsigned = true; 162 } // if 163 str.erase( last - size, size + 1 ); // remove 'h'/"hh" 164 } else if ( checkZ( str[last] ) ) { // suffix 'z' ? 165 size = 5; 166 str.erase( last, 1 ); // remove 'z' 144 } // if 167 145 } // if 168 146 169 147 ret = new ConstantExpr( Constant( new BasicType( noQualifiers, kind[Unsigned][size] ), str, v ) ); 170 if ( Unsigned && size < 2 ) { // less than int ?171 // int i = -1uh => 65535 not -1, so cast is necessary for unsigned, which eliminates warnings for large values.172 ret = new CastExpr( ret, new BasicType( Type::Qualifiers(), kind[Unsigned][size] ) );173 } else if ( size == 5 ) { // explicit cast to size_t174 ret = new CastExpr( ret, new TypeInstType( Type::Qualifiers(), "size_t", false ) );175 } // if176 148 CLEANUP: 177 149 if ( units.length() != 0 ) { … … 275 247 } // build_constantStr 276 248 277 Expression * build_field_name_FLOATING_FRACTIONconstant( const string & str ) {278 if ( str.find_first_not_of( "0123456789", 1 ) != string::npos ) throw SemanticError( "invalid tuple index " + str );279 Expression * ret = build_constantInteger( *new string( str.substr(1) ) );280 delete &str;281 return ret;282 } // build_field_name_FLOATING_FRACTIONconstant283 284 Expression * build_field_name_FLOATING_DECIMALconstant( const string & str ) {285 if ( str[str.size()-1] != '.' ) throw SemanticError( "invalid tuple index " + str );286 Expression * ret = build_constantInteger( *new string( str.substr( 0, str.size()-1 ) ) );287 delete &str;288 return ret;289 } // build_field_name_FLOATING_DECIMALconstant290 291 249 Expression * build_field_name_FLOATINGconstant( const string & str ) { 292 250 // str is of the form A.B -> separate at the . and return member expression … … 315 273 return make_field_name_fraction_constants( fieldName, maybeMoveBuild< Expression >( fracts ) ); 316 274 } // build_field_name_fraction_constants 275 276 Expression * build_field_name_REALFRACTIONconstant( const string & str ) { 277 if ( str.find_first_not_of( "0123456789", 1 ) != string::npos ) throw SemanticError( "invalid tuple index " + str ); 278 Expression * ret = build_constantInteger( *new string( str.substr(1) ) ); 279 delete &str; 280 return ret; 281 } // build_field_name_REALFRACTIONconstant 282 283 Expression * build_field_name_REALDECIMALconstant( const string & str ) { 284 if ( str[str.size()-1] != '.' ) throw SemanticError( "invalid tuple index " + str ); 285 Expression * ret = build_constantInteger( *new string( str.substr( 0, str.size()-1 ) ) ); 286 delete &str; 287 return ret; 288 } // build_field_name_REALDECIMALconstant 317 289 318 290 NameExpr * build_varref( const string * name ) { -
src/Parser/ParseNode.h
r982832e re3e16bc 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Sep 10 09:56:32201713 // Update Count : 80112 // Last Modified On : Sun Sep 3 19:24:34 2017 13 // Update Count : 799 14 14 // 15 15 … … 166 166 Expression * build_constantChar( std::string &str ); 167 167 Expression * build_constantStr( std::string &str ); 168 Expression * build_field_name_FLOATING_FRACTIONconstant( const std::string & str );169 Expression * build_field_name_FLOATING_DECIMALconstant( const std::string & str );170 168 Expression * build_field_name_FLOATINGconstant( const std::string & str ); 171 169 Expression * build_field_name_fraction_constants( Expression * fieldName, ExpressionNode * fracts ); 170 Expression * build_field_name_REALFRACTIONconstant( const std::string & str ); 171 Expression * build_field_name_REALDECIMALconstant( const std::string & str ); 172 172 173 173 NameExpr * build_varref( const std::string * name ); -
src/Parser/lex.ll
r982832e re3e16bc 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Sun Sep 10 22:29:15201713 * Update Count : 62012 * Last Modified On : Thu Aug 31 21:30:10 2017 13 * Update Count : 598 14 14 */ 15 15 … … 93 93 // numeric constants, CFA: '_' in constant 94 94 hex_quad {hex}("_"?{hex}){3} 95 length ("ll"|"LL"|[lL])|("hh"|"HH"|[hH]) 96 integer_suffix_opt ("_"?(([uU]({length}?[iI]?)|([iI]{length}))|([iI]({length}?[uU]?)|([uU]{length}))|({length}([iI]?[uU]?)|([uU][iI]))|[zZ]))?{user_suffix_opt} 95 integer_suffix_opt ("_"?(([uU](("ll"|"LL"|[lL])[iI]|[iI]?("ll"|"LL"|[lL])?))|([iI](("ll"|"LL"|[lL])[uU]|[uU]?("ll"|"LL"|[lL])?))|(("ll"|"LL"|[lL])([iI][uU]|[uU]?[iI]?))))? 97 96 98 97 octal_digits ({octal})|({octal}({octal}|"_")*{octal}) 99 98 octal_prefix "0""_"? 100 octal_constant (("0")|({octal_prefix}{octal_digits})){integer_suffix_opt} 99 octal_constant (("0")|({octal_prefix}{octal_digits})){integer_suffix_opt}{user_suffix_opt} 101 100 102 101 nonzero_digits ({nonzero})|({nonzero}({decimal}|"_")*{decimal}) 103 decimal_constant {nonzero_digits}{integer_suffix_opt} 102 decimal_constant {nonzero_digits}{integer_suffix_opt}{user_suffix_opt} 104 103 105 104 hex_digits ({hex})|({hex}({hex}|"_")*{hex}) 106 105 hex_prefix "0"[xX]"_"? 107 hex_constant {hex_prefix}{hex_digits}{integer_suffix_opt} 106 hex_constant {hex_prefix}{hex_digits}{integer_suffix_opt}{user_suffix_opt} 108 107 109 108 // GCC: D (double) and iI (imaginary) suffixes, and DL (long double) 109 floating_suffix_opt ("_"?([fFdDlL][iI]?|[iI][lLfFdD]?|"DL"))? 110 decimal_digits ({decimal})|({decimal}({decimal}|"_")*{decimal}) 111 real_decimal {decimal_digits}"."{exponent}?{floating_suffix_opt}{user_suffix_opt} 112 real_fraction "."{decimal_digits}{exponent}?{floating_suffix_opt}{user_suffix_opt} 113 real_constant {decimal_digits}{real_fraction} 110 114 exponent "_"?[eE]"_"?[+-]?{decimal_digits} 111 floating_suffix ([fFdDlL]?[iI]?)|([iI][lLfFdD]) 112 floating_suffix_opt ("_"?({floating_suffix}|"DL"))?{user_suffix_opt} 113 decimal_digits ({decimal})|({decimal}({decimal}|"_")*{decimal}) 114 floating_decimal {decimal_digits}"."{exponent}?{floating_suffix_opt} 115 floating_fraction "."{decimal_digits}{exponent}?{floating_suffix_opt} 116 floating_constant ({decimal_digits}{exponent}{floating_suffix_opt})|({decimal_digits}{floating_fraction}) 115 floating_constant (({real_constant}{exponent}?)|({decimal_digits}{exponent})){floating_suffix_opt}{user_suffix_opt} 117 116 118 117 binary_exponent "_"?[pP]"_"?[+-]?{decimal_digits} 119 hex_floating_suffix_opt ("_"?({floating_suffix}))?{user_suffix_opt} 120 hex_floating_fraction ({hex_digits}?"."{hex_digits})|({hex_digits}".") 121 hex_floating_constant {hex_prefix}(({hex_floating_fraction}{binary_exponent})|({hex_digits}{binary_exponent})){hex_floating_suffix_opt} 118 hex_fractional_constant ({hex_digits}?"."{hex_digits})|({hex_digits}".") 119 hex_floating_constant {hex_prefix}(({hex_fractional_constant}{binary_exponent})|({hex_digits}{binary_exponent})){floating_suffix_opt} 122 120 123 121 // character escape sequence, GCC: \e => esc character 124 122 simple_escape "\\"[abefnrtv'"?\\] 125 // ' stop editorhighlighting123 // ' stop highlighting 126 124 octal_escape "\\"{octal}("_"?{octal}){0,2} 127 125 hex_escape "\\""x""_"?{hex_digits} … … 156 154 /* line directives */ 157 155 ^{h_white}*"#"{h_white}*[0-9]+{h_white}*["][^"\n]+["].*"\n" { 158 /* " stop editorhighlighting */156 /* " stop highlighting */ 159 157 static char filename[FILENAME_MAX]; // temporarily store current source-file name 160 158 char *end_num; … … 312 310 {octal_constant} { NUMERIC_RETURN(INTEGERconstant); } 313 311 {hex_constant} { NUMERIC_RETURN(INTEGERconstant); } 314 { floating_decimal} { NUMERIC_RETURN(FLOATING_DECIMALconstant); } // must appear before floating_constant315 { floating_fraction} { NUMERIC_RETURN(FLOATING_FRACTIONconstant); } // must appear before floating_constant312 {real_decimal} { NUMERIC_RETURN(REALDECIMALconstant); } // must appear before floating_constant 313 {real_fraction} { NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant 316 314 {floating_constant} { NUMERIC_RETURN(FLOATINGconstant); } 317 315 {hex_floating_constant} { NUMERIC_RETURN(FLOATINGconstant); } … … 321 319 <QUOTE>[^'\\\n]* { strtext->append( yytext, yyleng ); } 322 320 <QUOTE>['\n]{user_suffix_opt} { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(CHARACTERconstant); } 323 /* ' stop editorhighlighting */321 /* ' stop highlighting */ 324 322 325 323 /* string constant */ … … 327 325 <STRING>[^"\\\n]* { strtext->append( yytext, yyleng ); } 328 326 <STRING>["\n]{user_suffix_opt} { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); } 329 /* " stop editorhighlighting */327 /* " stop highlighting */ 330 328 331 329 /* common character/string constant */ -
src/Parser/parser.yy
r982832e re3e16bc 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 11 18:12:00201713 // Update Count : 27 8712 // Last Modified On : Sun Sep 3 20:43:19 2017 13 // Update Count : 2742 14 14 // 15 15 … … 43 43 #define YYDEBUG_LEXER_TEXT (yylval) // lexer loads this up each time 44 44 #define YYDEBUG 1 // get the pretty debugging code to compile 45 #define YYERROR_VERBOSE46 45 47 46 #undef __GNUC_MINOR__ … … 63 62 stack< LinkageSpec::Spec > linkageStack; 64 63 65 bool appendStr( string & to, string & from ) { 66 // 1. Multiple strings are concatenated into a single string but not combined internally. The reason is that 67 // "\x12" "3" is treated as 2 characters versus 1 because "escape sequences are converted into single members of 68 // the execution character set just prior to adjacent string literal concatenation" (C11, Section 6.4.5-8). It is 69 // easier to let the C compiler handle this case. 70 // 71 // 2. String encodings are transformed into canonical form (one encoding at start) so the encoding can be found 72 // without searching the string, e.g.: "abc" L"def" L"ghi" => L"abc" "def" "ghi". Multiple encodings must match, 73 // i.e., u"a" U"b" L"c" is disallowed. 74 75 if ( from[0] != '"' ) { // encoding ? 76 if ( to[0] != '"' ) { // encoding ? 77 if ( to[0] != from[0] || to[1] != from[1] ) { // different encodings ? 78 yyerror( "non-matching string encodings for string-literal concatenation" ); 79 return false; // parse error, must call YYERROR in action 80 } else if ( from[1] == '8' ) { 81 from.erase( 0, 1 ); // remove 2nd encoding 82 } // if 83 } else { 84 if ( from[1] == '8' ) { // move encoding to start 85 to = "u8" + to; 86 from.erase( 0, 1 ); // remove 2nd encoding 87 } else { 88 to = from[0] + to; 89 } // if 90 } // if 91 from.erase( 0, 1 ); // remove 2nd encoding 92 } // if 93 to += " " + from; // concatenated into single string 94 return true; 64 void appendStr( string *to, string *from ) { 65 // "abc" "def" "ghi" => "abcdefghi", remove new text from quotes and insert before last quote in old string. 66 to->insert( to->length() - 1, from->substr( 1, from->length() - 2 ) ); 95 67 } // appendStr 96 68 … … 116 88 bool forall = false; // aggregate have one or more forall qualifiers ? 117 89 %} 118 119 %define parse.error verbose120 90 121 91 // Types declaration … … 176 146 // overloading constants 0/1, e.g., x.1 is lexed as (x)(.1), where (.1) is a factional constant, but is semantically 177 147 // converted into the tuple index (.)(1). e.g., 3.x 178 %token<tok> FLOATING_DECIMALconstant FLOATING_FRACTIONconstant FLOATINGconstant148 %token<tok> REALDECIMALconstant REALFRACTIONconstant FLOATINGconstant 179 149 180 150 // multi-character operators … … 345 315 %precedence ELSE // token precedence for start of else clause in IF/WAITFOR statement 346 316 347 348 317 %start translation_unit // parse-tree root 349 318 … … 352 321 353 322 // The grammar in the ANSI C standard is not strictly context-free, since it relies upon the distinct terminal symbols 354 // "identifier" , "TYPEDEFname", and "TYPEGENname" that are lexically identical. While it is possible to write a purely355 // context-free grammar, such a grammar would obscure the relationship between syntactic and semantic constructs.356 // Hence, thisgrammar uses the ANSI style.323 // "identifier" and "TYPEDEFname" that are lexically identical. While it is possible to write a purely context-free 324 // grammar, such a grammar would obscure the relationship between syntactic and semantic constructs. Hence, this 325 // grammar uses the ANSI style. 357 326 // 358 327 // Cforall compounds this problem by introducing type names local to the scope of a declaration (for instance, those … … 391 360 // ENUMERATIONconstant is not included here; it is treated as a variable with type "enumeration constant". 392 361 INTEGERconstant { $$ = new ExpressionNode( build_constantInteger( *$1 ) ); } 393 | FLOATING_DECIMALconstant{ $$ = new ExpressionNode( build_constantFloat( *$1 ) ); }394 | FLOATING_FRACTIONconstant{ $$ = new ExpressionNode( build_constantFloat( *$1 ) ); }362 | REALDECIMALconstant { $$ = new ExpressionNode( build_constantFloat( *$1 ) ); } 363 | REALFRACTIONconstant { $$ = new ExpressionNode( build_constantFloat( *$1 ) ); } 395 364 | FLOATINGconstant { $$ = new ExpressionNode( build_constantFloat( *$1 ) ); } 396 365 | CHARACTERconstant { $$ = new ExpressionNode( build_constantChar( *$1 ) ); } … … 421 390 | string_literal_list STRINGliteral 422 391 { 423 if ( ! appendStr( *$1, *$2 ) ) YYERROR;// append 2nd juxtaposed string to 1st392 appendStr( $1, $2 ); // append 2nd juxtaposed string to 1st 424 393 delete $2; // allocated by lexer 425 394 $$ = $1; // conversion from tok to str … … 465 434 | postfix_expression '.' '[' push field_list pop ']' // CFA, tuple field selector 466 435 { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $5 ) ) ); } 467 | postfix_expression FLOATING_FRACTIONconstant// CFA, tuple index468 { $$ = new ExpressionNode( build_fieldSel( $1, build_field_name_ FLOATING_FRACTIONconstant( *$2 ) ) ); }436 | postfix_expression REALFRACTIONconstant // CFA, tuple index 437 { $$ = new ExpressionNode( build_fieldSel( $1, build_field_name_REALFRACTIONconstant( *$2 ) ) ); } 469 438 | postfix_expression ARROW no_attr_identifier 470 439 { … … 510 479 field: // CFA, tuple field selector 511 480 field_name 512 | FLOATING_DECIMALconstant field513 { $$ = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_ FLOATING_DECIMALconstant( *$1 ) ), maybeMoveBuild<Expression>( $2 ) ) ); }514 | FLOATING_DECIMALconstant '[' push field_list pop ']'515 { $$ = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_ FLOATING_DECIMALconstant( *$1 ) ), build_tuple( $4 ) ) ); }481 | REALDECIMALconstant field 482 { $$ = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *$1 ) ), maybeMoveBuild<Expression>( $2 ) ) ); } 483 | REALDECIMALconstant '[' push field_list pop ']' 484 { $$ = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *$1 ) ), build_tuple( $4 ) ) ); } 516 485 | field_name '.' field 517 486 { $$ = new ExpressionNode( build_fieldSel( $1, maybeMoveBuild<Expression>( $3 ) ) ); } … … 538 507 // empty 539 508 { $$ = nullptr; } 540 | fraction_constants FLOATING_FRACTIONconstant541 { 542 Expression * constant = build_field_name_ FLOATING_FRACTIONconstant( *$2 );509 | fraction_constants REALFRACTIONconstant 510 { 511 Expression * constant = build_field_name_REALFRACTIONconstant( *$2 ); 543 512 $$ = $1 != nullptr ? new ExpressionNode( build_fieldSel( $1, constant ) ) : new ExpressionNode( constant ); 544 513 } -
src/ResolvExpr/CastCost.cc
r982832e re3e16bc 45 45 } 46 46 } else if ( ( namedType = indexer.lookupType( destAsTypeInst->get_name() ) ) ) { 47 TypeDecl *type = dynamic_cast< TypeDecl* >( namedType ); 47 48 // all typedefs should be gone by this point 48 TypeDecl *type = strict_dynamic_cast< TypeDecl* >( namedType );49 assert( type ); 49 50 if ( type->get_base() ) { 50 51 return castCost( src, type->get_base(), indexer, env ) + Cost::safe; -
src/ResolvExpr/ConversionCost.cc
r982832e re3e16bc 92 92 93 93 Cost convertToReferenceCost( Type * src, Type * dest, int diff, const SymTab::Indexer & indexer, const TypeEnvironment & env, PtrsFunction func ) { 94 PRINT( std::cerr << "convert to reference cost... diff " << diff<< std::endl; )94 PRINT( std::cerr << "convert to reference cost..." << std::endl; ) 95 95 if ( diff > 0 ) { 96 96 // TODO: document this … … 128 128 ReferenceType * destAsRef = dynamic_cast< ReferenceType * >( dest ); 129 129 assert( diff == -1 && destAsRef ); 130 PRINT( std::cerr << "dest is: " << dest << " / src is: " << src << std::endl; )131 130 if ( typesCompatibleIgnoreQualifiers( src, destAsRef->get_base(), indexer, env ) ) { 132 131 PRINT( std::cerr << "converting compatible base type" << std::endl; ) -
src/SymTab/Autogen.cc
r982832e re3e16bc 163 163 // Routines at global scope marked "static" to prevent multiple definitions in separate translation units 164 164 // because each unit generates copies of the default routines for each aggregate. 165 // DeclarationNode::StorageClass sc = functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static; 165 166 Type::StorageClasses scs = functionNesting > 0 ? Type::StorageClasses() : Type::StorageClasses( Type::Static ); 166 167 LinkageSpec::Spec spec = isIntrinsic ? LinkageSpec::Intrinsic : LinkageSpec::AutoGen; … … 185 186 /// using map and t, determines if is constructable, etc. 186 187 bool lookup( const TypeMap & map, Type * t ) { 187 assertf( t, "Autogenerate lookup was given non-type: %s", toString( t ).c_str() );188 188 if ( dynamic_cast< PointerType * >( t ) ) { 189 189 // will need more complicated checking if we want this to work with pointer types, since currently … … 200 200 201 201 /// using map and aggr, examines each member to determine if constructor, etc. should be generated 202 template<typename Container> 203 bool shouldGenerate( const TypeMap & map, const Container & container ) { 204 for ( Type * t : container ) { 205 if ( ! lookup( map, t ) ) return false; 202 template<typename AggrDecl> 203 bool shouldGenerate( const TypeMap & map, AggrDecl * aggr ) { 204 for ( Declaration * dcl : aggr->get_members() ) { 205 if ( DeclarationWithType * dwt = dynamic_cast< DeclarationWithType * >( dcl ) ) { 206 if ( ! lookup( map, dwt->get_type() ) ) return false; 207 } 206 208 } 207 209 return true; … … 209 211 210 212 /// data structure for abstracting the generation of special functions 211 template< typename OutputIterator , typename Container>213 template< typename OutputIterator > 212 214 struct FuncGenerator { 213 const Container & container;214 Type *refType;215 StructDecl *aggregateDecl; 216 StructInstType *refType; 215 217 unsigned int functionNesting; 216 218 const std::list< TypeDecl* > & typeParams; 217 219 OutputIterator out; 218 FuncGenerator( const Container & container, Type *refType, unsigned int functionNesting, const std::list< TypeDecl* > & typeParams, OutputIterator out ) : container( container), refType( refType ), functionNesting( functionNesting ), typeParams( typeParams ), out( out ) {}220 FuncGenerator( StructDecl *aggregateDecl, StructInstType *refType, unsigned int functionNesting, const std::list< TypeDecl* > & typeParams, OutputIterator out ) : aggregateDecl( aggregateDecl ), refType( refType ), functionNesting( functionNesting ), typeParams( typeParams ), out( out ) {} 219 221 220 222 /// generates a function (?{}, ?=?, ^?{}) based on the data argument and members. If function is generated, inserts the type into the map. 221 223 void gen( const FuncData & data, bool concurrent_type ) { 222 if ( ! shouldGenerate( data.map, container) ) return;224 if ( ! shouldGenerate( data.map, aggregateDecl ) ) return; 223 225 FunctionType * ftype = data.genType( refType ); 224 226 225 227 if(concurrent_type && CodeGen::isDestructor( data.fname )) { 226 ftype-> parameters.front()->get_type()->set_mutex( true );227 } 228 229 cloneAll( typeParams, ftype-> forall);228 ftype->get_parameters().front()->get_type()->set_mutex( true ); 229 } 230 231 cloneAll( typeParams, ftype->get_forall() ); 230 232 *out++ = genFunc( data.fname, ftype, functionNesting ); 231 233 data.map.insert( Mangler::mangleType( refType ), true ); … … 233 235 }; 234 236 235 template< typename OutputIterator , typename Container>236 FuncGenerator<OutputIterator , Container> makeFuncGenerator( const Container & container,Type *refType, unsigned int functionNesting, const std::list< TypeDecl* > & typeParams, OutputIterator out ) {237 return FuncGenerator<OutputIterator , Container>( container, refType, functionNesting, typeParams, out );237 template< typename OutputIterator > 238 FuncGenerator<OutputIterator> makeFuncGenerator( StructDecl *aggregateDecl, StructInstType *refType, unsigned int functionNesting, const std::list< TypeDecl* > & typeParams, OutputIterator out ) { 239 return FuncGenerator<OutputIterator>( aggregateDecl, refType, functionNesting, typeParams, out ); 238 240 } 239 241 … … 391 393 } 392 394 393 Type * declToType( Declaration * decl ) {394 if ( DeclarationWithType * dwt = dynamic_cast< DeclarationWithType * >( decl ) ) {395 return dwt->get_type();396 }397 return nullptr;398 }399 400 395 /// generates struct constructors, destructor, and assignment functions 401 396 void makeStructFunctions( StructDecl *aggregateDecl, StructInstType *refType, unsigned int functionNesting, std::list< Declaration * > & declsToAdd, const std::vector< FuncData > & data ) { … … 411 406 // generate each of the functions based on the supplied FuncData objects 412 407 std::list< FunctionDecl * > newFuncs; 413 // structure that iterates aggregate decl members, returning their types 414 auto generator = makeFuncGenerator( lazy_map( aggregateDecl->members, declToType ), refType, functionNesting, typeParams, back_inserter( newFuncs ) ); 408 auto generator = makeFuncGenerator( aggregateDecl, refType, functionNesting, typeParams, back_inserter( newFuncs ) ); 415 409 for ( const FuncData & d : data ) { 416 410 generator.gen( d, aggregateDecl->is_thread() || aggregateDecl->is_monitor() ); … … 611 605 } 612 606 613 Type * declToTypeDeclBase( Declaration * decl ) {614 if ( TypeDecl * td = dynamic_cast< TypeDecl * >( decl ) ) {615 return td->base;616 }617 return nullptr;618 }619 620 // generate ctor/dtors/assign for typedecls, e.g., otype T = int *;621 607 void AutogenerateRoutines::visit( TypeDecl *typeDecl ) { 622 if ( ! typeDecl->base ) return; 623 624 // generate each of the functions based on the supplied FuncData objects 625 std::list< FunctionDecl * > newFuncs; 626 std::list< Declaration * > tds { typeDecl }; 627 std::list< TypeDecl * > typeParams; 628 TypeInstType refType( Type::Qualifiers(), typeDecl->name, typeDecl ); 629 auto generator = makeFuncGenerator( lazy_map( tds, declToTypeDeclBase ), &refType, functionNesting, typeParams, back_inserter( newFuncs ) ); 630 for ( const FuncData & d : data ) { 631 generator.gen( d, false ); 632 } 633 634 if ( functionNesting == 0 ) { 635 // forward declare if top-level struct, so that 636 // type is complete as soon as its body ends 637 // Note: this is necessary if we want structs which contain 638 // generic (otype) structs as members. 639 for ( FunctionDecl * dcl : newFuncs ) { 640 addForwardDecl( dcl, declsToAddAfter ); 641 } 642 } 643 644 for ( FunctionDecl * dcl : newFuncs ) { 645 FunctionType * ftype = dcl->type; 646 assertf( ftype->parameters.size() == 1 || ftype->parameters.size() == 2, "Incorrect number of parameters in autogenerated typedecl function: %zd", ftype->parameters.size() ); 647 DeclarationWithType * dst = ftype->parameters.front(); 648 DeclarationWithType * src = ftype->parameters.size() == 2 ? ftype->parameters.back() : nullptr; 649 // generate appropriate calls to member ctor, assignment 650 // destructor needs to do everything in reverse, so pass "forward" based on whether the function is a destructor 651 UntypedExpr * expr = new UntypedExpr( new NameExpr( dcl->name ) ); 652 expr->args.push_back( new CastExpr( new VariableExpr( dst ), new ReferenceType( Type::Qualifiers(), typeDecl->base->clone() ) ) ); 653 if ( src ) expr->args.push_back( new CastExpr( new VariableExpr( src ), typeDecl->base->clone() ) ); 654 dcl->statements->kids.push_back( new ExprStmt( noLabels, expr ) ); 655 if ( CodeGen::isAssignment( dcl->get_name() ) ) { 656 // assignment needs to return a value 657 FunctionType * assignType = dcl->type; 658 assert( assignType->parameters.size() == 2 ); 659 ObjectDecl * srcParam = strict_dynamic_cast< ObjectDecl * >( assignType->parameters.back() ); 660 dcl->statements->kids.push_back( new ReturnStmt( noLabels, new VariableExpr( srcParam ) ) ); 661 } 662 declsToAddAfter.push_back( dcl ); 663 } 608 TypeInstType *typeInst = new TypeInstType( Type::Qualifiers(), typeDecl->get_name(), false ); 609 typeInst->set_baseType( typeDecl ); 610 ObjectDecl *src = new ObjectDecl( "_src", Type::StorageClasses(), LinkageSpec::Cforall, nullptr, typeInst->clone(), nullptr ); 611 ObjectDecl *dst = new ObjectDecl( "_dst", Type::StorageClasses(), LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), typeInst->clone() ), nullptr ); 612 613 std::list< Statement * > stmts; 614 if ( typeDecl->get_base() ) { 615 // xxx - generate ctor/dtors for typedecls, e.g. 616 // otype T = int *; 617 UntypedExpr *assign = new UntypedExpr( new NameExpr( "?=?" ) ); 618 assign->get_args().push_back( new CastExpr( new VariableExpr( dst ), new PointerType( Type::Qualifiers(), typeDecl->get_base()->clone() ) ) ); 619 assign->get_args().push_back( new CastExpr( new VariableExpr( src ), typeDecl->get_base()->clone() ) ); 620 stmts.push_back( new ReturnStmt( std::list< Label >(), assign ) ); 621 } // if 622 FunctionType *type = new FunctionType( Type::Qualifiers(), false ); 623 type->get_returnVals().push_back( new ObjectDecl( "", Type::StorageClasses(), LinkageSpec::Cforall, 0, typeInst, 0 ) ); 624 type->get_parameters().push_back( dst ); 625 type->get_parameters().push_back( src ); 626 FunctionDecl *func = genFunc( "?=?", type, functionNesting ); 627 func->get_statements()->get_kids() = stmts; 628 declsToAddAfter.push_back( func ); 664 629 } 665 630 -
src/SymTab/Validate.cc
r982832e re3e16bc 176 176 }; 177 177 178 struct EliminateTypedef final : public WithVisitorRef<EliminateTypedef>, public WithGuards { 178 class EliminateTypedef : public Mutator { 179 public: 179 180 EliminateTypedef() : scopeLevel( 0 ) {} 180 181 /// Replaces typedefs by forward declarations 181 182 static void eliminateTypedef( std::list< Declaration * > &translationUnit ); 182 183 Type * postmutate( TypeInstType * aggregateUseType );184 Declaration * postmutate( TypedefDecl * typeDecl );185 void premutate( TypeDecl * typeDecl );186 void premutate( FunctionDecl * funcDecl );187 void premutate( ObjectDecl * objDecl );188 DeclarationWithType * postmutate( ObjectDecl * objDecl );189 190 void premutate( CastExpr * castExpr );191 192 void premutate( CompoundStmt * compoundStmt );193 CompoundStmt * postmutate( CompoundStmt * compoundStmt );194 195 void premutate( StructDecl * structDecl );196 Declaration * postmutate( StructDecl * structDecl );197 void premutate( UnionDecl * unionDecl );198 Declaration * postmutate( UnionDecl * unionDecl );199 void premutate( EnumDecl * enumDecl );200 Declaration * postmutate( EnumDecl * enumDecl );201 Declaration * postmutate( TraitDecl * contextDecl );202 203 183 private: 184 virtual Declaration *mutate( TypedefDecl *typeDecl ); 185 virtual TypeDecl *mutate( TypeDecl *typeDecl ); 186 virtual DeclarationWithType *mutate( FunctionDecl *funcDecl ); 187 virtual DeclarationWithType *mutate( ObjectDecl *objDecl ); 188 virtual CompoundStmt *mutate( CompoundStmt *compoundStmt ); 189 virtual Type *mutate( TypeInstType *aggregateUseType ); 190 virtual Expression *mutate( CastExpr *castExpr ); 191 192 virtual Declaration *mutate( StructDecl * structDecl ); 193 virtual Declaration *mutate( UnionDecl * unionDecl ); 194 virtual Declaration *mutate( EnumDecl * enumDecl ); 195 virtual Declaration *mutate( TraitDecl * contextDecl ); 196 204 197 template<typename AggDecl> 205 198 AggDecl *handleAggregate( AggDecl * aggDecl ); … … 674 667 675 668 void EliminateTypedef::eliminateTypedef( std::list< Declaration * > &translationUnit ) { 676 PassVisitor<EliminateTypedef>eliminator;669 EliminateTypedef eliminator; 677 670 mutateAll( translationUnit, eliminator ); 678 if ( eliminator. pass.typedefNames.count( "size_t" ) ) {671 if ( eliminator.typedefNames.count( "size_t" ) ) { 679 672 // grab and remember declaration of size_t 680 SizeType = eliminator. pass.typedefNames["size_t"].first->get_base()->clone();673 SizeType = eliminator.typedefNames["size_t"].first->get_base()->clone(); 681 674 } else { 682 675 // xxx - missing global typedef for size_t - default to long unsigned int, even though that may be wrong … … 688 681 } 689 682 690 Type * EliminateTypedef::postmutate( TypeInstType * typeInst ) {683 Type *EliminateTypedef::mutate( TypeInstType * typeInst ) { 691 684 // instances of typedef types will come here. If it is an instance 692 685 // of a typdef type, link the instance to its actual type. … … 703 696 rtt->get_parameters().clear(); 704 697 cloneAll( typeInst->get_parameters(), rtt->get_parameters() ); 705 mutateAll( rtt->get_parameters(), * visitor); // recursively fix typedefs on parameters698 mutateAll( rtt->get_parameters(), *this ); // recursively fix typedefs on parameters 706 699 } // if 707 700 delete typeInst; … … 715 708 } 716 709 717 Declaration *EliminateTypedef::postmutate( TypedefDecl * tyDecl ) { 710 Declaration *EliminateTypedef::mutate( TypedefDecl * tyDecl ) { 711 Declaration *ret = Mutator::mutate( tyDecl ); 712 718 713 if ( typedefNames.count( tyDecl->get_name() ) == 1 && typedefNames[ tyDecl->get_name() ].second == scopeLevel ) { 719 714 // typedef to the same name from the same scope … … 746 741 return new EnumDecl( enumDecl->get_name(), noAttributes, tyDecl->get_linkage() ); 747 742 } else { 748 return tyDecl->clone();749 } // if 750 } 751 752 void EliminateTypedef::premutate( TypeDecl * typeDecl ) {743 return ret->clone(); 744 } // if 745 } 746 747 TypeDecl *EliminateTypedef::mutate( TypeDecl * typeDecl ) { 753 748 TypedefMap::iterator i = typedefNames.find( typeDecl->get_name() ); 754 749 if ( i != typedefNames.end() ) { … … 757 752 758 753 typedeclNames[ typeDecl->get_name() ] = typeDecl; 759 } 760 761 void EliminateTypedef::premutate( FunctionDecl * ) { 762 GuardScope( typedefNames ); 763 } 764 765 void EliminateTypedef::premutate( ObjectDecl * ) { 766 GuardScope( typedefNames ); 767 } 768 769 DeclarationWithType *EliminateTypedef::postmutate( ObjectDecl * objDecl ) { 770 if ( FunctionType *funtype = dynamic_cast<FunctionType *>( objDecl->get_type() ) ) { // function type? 754 return Mutator::mutate( typeDecl ); 755 } 756 757 DeclarationWithType *EliminateTypedef::mutate( FunctionDecl * funcDecl ) { 758 typedefNames.beginScope(); 759 DeclarationWithType *ret = Mutator::mutate( funcDecl ); 760 typedefNames.endScope(); 761 return ret; 762 } 763 764 DeclarationWithType *EliminateTypedef::mutate( ObjectDecl * objDecl ) { 765 typedefNames.beginScope(); 766 DeclarationWithType *ret = Mutator::mutate( objDecl ); 767 typedefNames.endScope(); 768 769 if ( FunctionType *funtype = dynamic_cast<FunctionType *>( ret->get_type() ) ) { // function type? 771 770 // replace the current object declaration with a function declaration 772 FunctionDecl * newDecl = new FunctionDecl( objDecl->get_name(), objDecl->get_storageClasses(), objDecl->get_linkage(), funtype, 0, objDecl->get_attributes(), objDecl->get_funcSpec() );771 FunctionDecl * newDecl = new FunctionDecl( ret->get_name(), ret->get_storageClasses(), ret->get_linkage(), funtype, 0, objDecl->get_attributes(), ret->get_funcSpec() ); 773 772 objDecl->get_attributes().clear(); 774 773 objDecl->set_type( nullptr ); … … 776 775 return newDecl; 777 776 } // if 778 return objDecl; 779 } 780 781 void EliminateTypedef::premutate( CastExpr * ) { 782 GuardScope( typedefNames ); 783 } 784 785 void EliminateTypedef::premutate( CompoundStmt * ) { 786 GuardScope( typedefNames ); 777 return ret; 778 } 779 780 Expression *EliminateTypedef::mutate( CastExpr * castExpr ) { 781 typedefNames.beginScope(); 782 Expression *ret = Mutator::mutate( castExpr ); 783 typedefNames.endScope(); 784 return ret; 785 } 786 787 CompoundStmt *EliminateTypedef::mutate( CompoundStmt * compoundStmt ) { 788 typedefNames.beginScope(); 787 789 scopeLevel += 1; 788 GuardAction( [this](){ scopeLevel -= 1; } ); 789 } 790 791 CompoundStmt *EliminateTypedef::postmutate( CompoundStmt * compoundStmt ) { 790 CompoundStmt *ret = Mutator::mutate( compoundStmt ); 791 scopeLevel -= 1; 792 792 // remove and delete decl stmts 793 793 filter( compoundStmt->kids, [](Statement * stmt) { … … 799 799 return false; 800 800 }, true); 801 return compoundStmt; 801 typedefNames.endScope(); 802 return ret; 802 803 } 803 804 … … 826 827 } 827 828 828 void EliminateTypedef::premutate( StructDecl * structDecl ) {829 Declaration *EliminateTypedef::mutate( StructDecl * structDecl ) { 829 830 addImplicitTypedef( structDecl ); 830 } 831 832 833 Declaration *EliminateTypedef::postmutate( StructDecl * structDecl ) { 831 Mutator::mutate( structDecl ); 834 832 return handleAggregate( structDecl ); 835 833 } 836 834 837 void EliminateTypedef::premutate( UnionDecl * unionDecl ) {835 Declaration *EliminateTypedef::mutate( UnionDecl * unionDecl ) { 838 836 addImplicitTypedef( unionDecl ); 839 } 840 841 Declaration *EliminateTypedef::postmutate( UnionDecl * unionDecl ) { 837 Mutator::mutate( unionDecl ); 842 838 return handleAggregate( unionDecl ); 843 839 } 844 840 845 void EliminateTypedef::premutate( EnumDecl * enumDecl ) {841 Declaration *EliminateTypedef::mutate( EnumDecl * enumDecl ) { 846 842 addImplicitTypedef( enumDecl ); 847 } 848 849 Declaration *EliminateTypedef::postmutate( EnumDecl * enumDecl ) { 843 Mutator::mutate( enumDecl ); 850 844 return handleAggregate( enumDecl ); 851 845 } 852 846 853 Declaration *EliminateTypedef::postmutate( TraitDecl * traitDecl ) { 854 return handleAggregate( traitDecl ); 847 Declaration *EliminateTypedef::mutate( TraitDecl * contextDecl ) { 848 Mutator::mutate( contextDecl ); 849 return handleAggregate( contextDecl ); 855 850 } 856 851 -
src/SynTree/BasicType.cc
r982832e re3e16bc 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 11 12:52:05 201713 // Update Count : 912 // Last Modified On : Wed Feb 1 17:12:15 2017 13 // Update Count : 8 14 14 // 15 15 … … 25 25 26 26 void BasicType::print( std::ostream &os, int indent ) const { 27 static const char *kindNames[] = { 28 "_Bool", "char", "signed char", "unsigned char", "short signed int", "short unsigned int", 29 "signed int", "unsigned int", "long signed int", "long unsigned int", "long long signed int", 30 "long long unsigned int", "float", "double", "long double", "float _Complex", "double _Complex", 31 "long double _Complex", "float _Imaginary", "double _Imaginary", "long double _Imaginary" 32 }; 33 27 34 Type::print( os, indent ); 28 os << BasicType::typeNames[ kind ];35 os << kindNames[ kind ]; 29 36 } 30 37 -
src/SynTree/Declaration.h
r982832e re3e16bc 136 136 Expression *get_bitfieldWidth() const { return bitfieldWidth; } 137 137 void set_bitfieldWidth( Expression *newValue ) { bitfieldWidth = newValue; } 138 139 static ObjectDecl * newObject( const std::string & name, Type * type, Initializer * init );140 138 141 139 virtual ObjectDecl *clone() const { return new ObjectDecl( *this ); } … … 232 230 virtual TypeDecl *clone() const { return new TypeDecl( *this ); } 233 231 virtual void accept( Visitor &v ) { v.visit( this ); } 234 virtual Declaration*acceptMutator( Mutator &m ) { return m.mutate( this ); }232 virtual TypeDecl *acceptMutator( Mutator &m ) { return m.mutate( this ); } 235 233 virtual void print( std::ostream &os, int indent = 0 ) const; 236 234 -
src/SynTree/Mutator.cc
r982832e re3e16bc 78 78 } 79 79 80 Declaration* Mutator::mutate( TypeDecl *typeDecl ) {80 TypeDecl * Mutator::mutate( TypeDecl *typeDecl ) { 81 81 handleNamedTypeDecl( typeDecl ); 82 82 typeDecl->set_init( maybeMutate( typeDecl->get_init(), *this ) ); -
src/SynTree/Mutator.h
r982832e re3e16bc 31 31 virtual Declaration* mutate( EnumDecl *aggregateDecl ); 32 32 virtual Declaration* mutate( TraitDecl *aggregateDecl ); 33 virtual Declaration* mutate( TypeDecl *typeDecl );33 virtual TypeDecl* mutate( TypeDecl *typeDecl ); 34 34 virtual Declaration* mutate( TypedefDecl *typeDecl ); 35 35 virtual AsmDecl* mutate( AsmDecl *asmDecl ); -
src/SynTree/ObjectDecl.cc
r982832e re3e16bc 38 38 delete init; 39 39 delete bitfieldWidth; 40 }41 42 ObjectDecl * ObjectDecl::newObject( const std::string & name, Type * type, Initializer * init ) {43 return new ObjectDecl( name, Type::StorageClasses(), LinkageSpec::C, 0, type, init );44 40 } 45 41 -
src/SynTree/Statement.cc
r982832e re3e16bc 472 472 } 473 473 474 NullStmt::NullStmt( std::list<Label> labels ) : Statement( labels ) {}475 NullStmt::NullStmt() : Statement( std::list<Label>() ) {}474 NullStmt::NullStmt( std::list<Label> labels ) : CompoundStmt( labels ) {} 475 NullStmt::NullStmt() : CompoundStmt( std::list<Label>() ) {} 476 476 477 477 void NullStmt::print( std::ostream &os, __attribute__((unused)) int indent ) const { -
src/SynTree/Statement.h
r982832e re3e16bc 67 67 }; 68 68 69 class NullStmt : public Statement {69 class NullStmt : public CompoundStmt { 70 70 public: 71 71 NullStmt(); -
src/SynTree/Type.cc
r982832e re3e16bc 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Mon Sep 11 13:21:25201713 // Update Count : 3711 // Last Modified By : Andrew Beach 12 // Last Modified On : Wed Aug 2 11:11:00 2017 13 // Update Count : 29 14 14 // 15 15 #include "Type.h" … … 26 26 "_Bool", 27 27 "char", 28 " signedchar",28 "char", 29 29 "unsigned char", 30 "s igned short int",31 " unsigned short int",32 " signedint",30 "short", 31 "short unsigned", 32 "int", 33 33 "unsigned int", 34 " signedlong int",35 " unsigned longint",36 " signedlong long int",37 " unsigned long longint",34 "long int", 35 "long unsigned int", 36 "long long int", 37 "long long unsigned int", 38 38 "float", 39 39 "double", … … 65 65 66 66 Type * Type::stripDeclarator() { 67 Type * type, * at; 68 for ( type = this; (at = InitTweak::getPointerBase( type )); type = at ); 67 Type * type = this; 68 while ( Type * at = InitTweak::getPointerBase( type ) ) { 69 type = at; 70 } 69 71 return type; 70 72 } 71 73 72 74 Type * Type::stripReferences() { 73 Type * type; 74 ReferenceType * ref; 75 for ( type = this; (ref = dynamic_cast<ReferenceType *>( type )); type = ref->get_base() ); 75 Type * type = this; 76 while ( ReferenceType * ref = dynamic_cast<ReferenceType *>( type ) ) { 77 type = ref->get_base(); 78 } 76 79 return type; 77 80 } -
src/libcfa/iostream
r982832e re3e16bc 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 11 09:17:07201713 // Update Count : 13 712 // Last Modified On : Thu Aug 24 08:14:29 2017 13 // Update Count : 133 14 14 // 15 15 16 16 #pragma once 17 17 18 #include <uchar.h>19 #include <wchar.h>20 18 #include "iterator" 21 19 … … 80 78 81 79 forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, const char * ); 82 forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, const char16_t * );83 forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, const char32_t * );84 forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, const wchar_t * );85 80 forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, const void * ); 86 81 … … 123 118 124 119 forall( dtype istype | istream( istype ) ) istype * ?|?( istype *, char & ); 125 forall( dtype istype | istream( istype ) ) istype * ?|?( istype *, signed char & );126 forall( dtype istype | istream( istype ) ) istype * ?|?( istype *, unsigned char & );127 120 128 121 forall( dtype istype | istream( istype ) ) istype * ?|?( istype *, short int & ); -
src/libcfa/iostream.c
r982832e re3e16bc 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 11 09:21:24201713 // Update Count : 4 2012 // Last Modified On : Thu Aug 24 08:41:53 2017 13 // Update Count : 405 14 14 // 15 15 … … 145 145 146 146 forall( dtype ostype | ostream( ostype ) ) 147 ostype * ?|?( ostype * os, const char * str) {147 ostype * ?|?( ostype * os, const char * cp ) { 148 148 enum { Open = 1, Close, OpenClose }; 149 149 static const unsigned char mask[256] @= { … … 161 161 }; // mask 162 162 163 if ( str[0] == '\0' ) { sepOff( os ); return os; } // null string => no separator163 if ( cp[0] == '\0' ) { sepOff( os ); return os; } // null string => no separator 164 164 165 165 // first character IS NOT spacing or closing punctuation => add left separator 166 unsigned char ch = str[0]; // must make unsigned166 unsigned char ch = cp[0]; // must make unsigned 167 167 if ( sepPrt( os ) && mask[ ch ] != Close && mask[ ch ] != OpenClose ) { 168 168 fmt( os, "%s", sepGetCur( os ) ); … … 173 173 174 174 // last character IS spacing or opening punctuation => turn off separator for next item 175 size_t len = strlen( str);176 ch = str[len - 1]; // must make unsigned175 size_t len = strlen( cp ); 176 ch = cp[len - 1]; // must make unsigned 177 177 if ( sepPrt( os ) && mask[ ch ] != Open && mask[ ch ] != OpenClose ) { 178 178 sepOn( os ); … … 181 181 } // if 182 182 if ( ch == '\n' ) setNL( os, true ); // check *AFTER* sepPrt call above as it resets NL flag 183 return write( os, str, len ); 184 } // ?|? 185 186 forall( dtype ostype | ostream( ostype ) ) 187 ostype * ?|?( ostype * os, const char16_t * str ) { 188 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 189 fmt( os, "%ls", str ); 190 return os; 191 } // ?|? 192 193 forall( dtype ostype | ostream( ostype ) ) 194 ostype * ?|?( ostype * os, const char32_t * str ) { 195 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 196 fmt( os, "%ls", str ); 197 return os; 198 } // ?|? 199 200 forall( dtype ostype | ostream( ostype ) ) 201 ostype * ?|?( ostype * os, const wchar_t * str ) { 202 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 203 fmt( os, "%ls", str ); 204 return os; 183 return write( os, cp, len ); 205 184 } // ?|? 206 185 … … 298 277 299 278 forall( dtype istype | istream( istype ) ) 300 istype * ?|?( istype * is, signed char & sc ) {301 fmt( is, "%hhd", &sc );302 return is;303 } // ?|?304 305 forall( dtype istype | istream( istype ) )306 istype * ?|?( istype * is, unsigned char & usc ) {307 fmt( is, "%hhu", &usc );308 return is;309 } // ?|?310 311 forall( dtype istype | istream( istype ) )312 279 istype * ?|?( istype * is, short int & si ) { 313 280 fmt( is, "%hd", &si ); -
src/tests/.expect/32/KRfunctions.txt
r982832e re3e16bc 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 signed int __f0__Fi_iPCii__1(signed int __a__i_1, const signed int *__b__PCi_1, signedint __c__i_1){8 __attribute__ ((unused)) signedint ___retval_f0__i_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 int __f0__Fi_iPCii__1(int __a__i_1, const int *__b__PCi_1, int __c__i_1){ 8 __attribute__ ((unused)) int ___retval_f0__i_1; 9 9 } 10 signed int __f1__Fi_PiiPi__1(signed int *__a__Pi_1, __attribute__ ((unused)) signed int __b__i_1, signedint *__c__Pi_1){11 __attribute__ ((unused)) signedint ___retval_f1__i_1;10 int __f1__Fi_PiiPi__1(int *__a__Pi_1, __attribute__ ((unused)) int __b__i_1, int *__c__Pi_1){ 11 __attribute__ ((unused)) int ___retval_f1__i_1; 12 12 } 13 signed int __f2__Fi_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1){14 __attribute__ ((unused)) signedint ___retval_f2__i_1;13 int __f2__Fi_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1){ 14 __attribute__ ((unused)) int ___retval_f2__i_1; 15 15 } 16 16 struct S { 17 signedint __i__i_1;17 int __i__i_1; 18 18 }; 19 19 static inline void ___constructor__F_R2sS_autogen___1(struct S *___dst__R2sS_1); … … 36 36 return ((struct S )___ret__2sS_1); 37 37 } 38 static inline void ___constructor__F_R2sSi_autogen___1(struct S *___dst__R2sS_1, signedint __i__i_1){38 static inline void ___constructor__F_R2sSi_autogen___1(struct S *___dst__R2sS_1, int __i__i_1){ 39 39 ((void)((*___dst__R2sS_1).__i__i_1=__i__i_1) /* ?{} */); 40 40 } 41 signed int __f3__Fi_2sS2sSPi__1(struct S __a__2sS_1, struct S __b__2sS_1, signedint *__c__Pi_1){42 __attribute__ ((unused)) signedint ___retval_f3__i_1;41 int __f3__Fi_2sS2sSPi__1(struct S __a__2sS_1, struct S __b__2sS_1, int *__c__Pi_1){ 42 __attribute__ ((unused)) int ___retval_f3__i_1; 43 43 struct S __s__2sS_2; 44 44 } 45 signed int __f4__Fi_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1){46 __attribute__ ((unused)) signedint ___retval_f4__i_1;45 int __f4__Fi_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1){ 46 __attribute__ ((unused)) int ___retval_f4__i_1; 47 47 } 48 signed int __f5__Fi_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1){49 __attribute__ ((unused)) signedint ___retval_f5__i_1;48 int __f5__Fi_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1){ 49 __attribute__ ((unused)) int ___retval_f5__i_1; 50 50 } 51 signed int (*__f6__FPFi_i__iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1))(signedint __anonymous_object0){52 __attribute__ ((unused)) signed int (*___retval_f6__PFi_i__1)(signedint __anonymous_object1);51 int (*__f6__FPFi_i__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int __anonymous_object0){ 52 __attribute__ ((unused)) int (*___retval_f6__PFi_i__1)(int __anonymous_object1); 53 53 } 54 signed int (*__f7__FPFi_ii__iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1))(signed int __a__i_1, signedint __b__i_1){55 __attribute__ ((unused)) signed int (*___retval_f7__PFi_ii__1)(signed int __a__i_1, signedint __b__i_1);54 int (*__f7__FPFi_ii__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int __a__i_1, int __b__i_1){ 55 __attribute__ ((unused)) int (*___retval_f7__PFi_ii__1)(int __a__i_1, int __b__i_1); 56 56 } 57 signed int *__f8__FPi_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1){58 __attribute__ ((unused)) signedint *___retval_f8__Pi_1;57 int *__f8__FPi_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1){ 58 __attribute__ ((unused)) int *___retval_f8__Pi_1; 59 59 } 60 signed int *const __f9__FCPi_PiiPi__1(signed int *__a__Pi_1, signed int __b__i_1, signedint *__c__Pi_1){61 __attribute__ ((unused)) signedint *const ___retval_f9__CPi_1;60 int *const __f9__FCPi_PiiPi__1(int *__a__Pi_1, int __b__i_1, int *__c__Pi_1){ 61 __attribute__ ((unused)) int *const ___retval_f9__CPi_1; 62 62 } 63 signed int *(*__f10__FPFPi_ii__iPiPid__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1, double __y__d_1))(signed int __x__i_1, signedint __y__i_1){64 __attribute__ ((unused)) signed int *(*___retval_f10__PFPi_ii__1)(signed int __x__i_1, signedint __y__i_1);65 signed int *__x__FPi_ii__2(signed int __anonymous_object2, signedint __anonymous_object3);63 int *(*__f10__FPFPi_ii__iPiPid__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1, double __y__d_1))(int __x__i_1, int __y__i_1){ 64 __attribute__ ((unused)) int *(*___retval_f10__PFPi_ii__1)(int __x__i_1, int __y__i_1); 65 int *__x__FPi_ii__2(int __anonymous_object2, int __anonymous_object3); 66 66 ((void)(___retval_f10__PFPi_ii__1=__x__FPi_ii__2) /* ?{} */); 67 return (( signed int *(*)(signed int __x__i_1, signedint __y__i_1))___retval_f10__PFPi_ii__1);67 return ((int *(*)(int __x__i_1, int __y__i_1))___retval_f10__PFPi_ii__1); 68 68 } 69 signed int (*__f11__FPA0i_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1))[]{70 __attribute__ ((unused)) signedint (*___retval_f11__PA0i_1)[];69 int (*__f11__FPA0i_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))[]{ 70 __attribute__ ((unused)) int (*___retval_f11__PA0i_1)[]; 71 71 } 72 signed int (*__f12__FPA0A0i_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1))[][((unsigned int )10)]{73 __attribute__ ((unused)) signedint (*___retval_f12__PA0A0i_1)[][((unsigned int )10)];72 int (*__f12__FPA0A0i_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))[][((unsigned int )10)]{ 73 __attribute__ ((unused)) int (*___retval_f12__PA0A0i_1)[][((unsigned int )10)]; 74 74 } 75 signed int (*__f13__FPA0A0i_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1))[][((unsigned int )10)]{76 __attribute__ ((unused)) signedint (*___retval_f13__PA0A0i_1)[][((unsigned int )10)];75 int (*__f13__FPA0A0i_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))[][((unsigned int )10)]{ 76 __attribute__ ((unused)) int (*___retval_f13__PA0A0i_1)[][((unsigned int )10)]; 77 77 } 78 signed int (*__f14__FPA0A0i_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1))[][((unsigned int )10)]{79 __attribute__ ((unused)) signedint (*___retval_f14__PA0A0i_1)[][((unsigned int )10)];78 int (*__f14__FPA0A0i_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))[][((unsigned int )10)]{ 79 __attribute__ ((unused)) int (*___retval_f14__PA0A0i_1)[][((unsigned int )10)]; 80 80 } 81 signed int __f15__Fi_iii__1(signed int __a__i_1, signed int __b__i_1, signedint __c__i_1){82 __attribute__ ((unused)) signedint ___retval_f15__i_1;81 int __f15__Fi_iii__1(int __a__i_1, int __b__i_1, int __c__i_1){ 82 __attribute__ ((unused)) int ___retval_f15__i_1; 83 83 } 84 const signedint __fred__FCi___1(){85 __attribute__ ((unused)) const signedint ___retval_fred__Ci_1;86 signed int *(*__x__PFPi_ii__2)(signed int __anonymous_object4, signedint __anonymous_object5);87 signedint __a__i_2;88 signedint __b__i_2;89 signed int *(*_tmp_cp_ret0)(signed int __x__i_1, signedint __y__i_1);84 const int __fred__FCi___1(){ 85 __attribute__ ((unused)) const int ___retval_fred__Ci_1; 86 int *(*__x__PFPi_ii__2)(int __anonymous_object4, int __anonymous_object5); 87 int __a__i_2; 88 int __b__i_2; 89 int *(*_tmp_cp_ret0)(int __x__i_1, int __y__i_1); 90 90 ((void)(__x__PFPi_ii__2=(((void)(_tmp_cp_ret0=__f10__FPFPi_ii__iPiPid__1(3, (&__a__i_2), (&__b__i_2), 3.5))) , _tmp_cp_ret0))); 91 91 ((void)(_tmp_cp_ret0) /* ^?{} */); 92 const signed int __f1__FCi_iPiPi__2(signed int __a__i_2, signed int *__b__Pi_2, signedint *__c__Pi_2){93 __attribute__ ((unused)) const signedint ___retval_f1__Ci_2;92 const int __f1__FCi_iPiPi__2(int __a__i_2, int *__b__Pi_2, int *__c__Pi_2){ 93 __attribute__ ((unused)) const int ___retval_f1__Ci_2; 94 94 } 95 const signed int __f2__FCi_iii__2(signed int __a__i_2, signed int __b__i_2, signedint __c__i_2){96 __attribute__ ((unused)) const signedint ___retval_f2__Ci_2;95 const int __f2__FCi_iii__2(int __a__i_2, int __b__i_2, int __c__i_2){ 96 __attribute__ ((unused)) const int ___retval_f2__Ci_2; 97 97 } 98 98 } -
src/tests/.expect/32/attributes.txt
r982832e re3e16bc 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 signedint __la__Fi___1(){8 __attribute__ ((unused)) signedint ___retval_la__i_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 int __la__Fi___1(){ 8 __attribute__ ((unused)) int ___retval_la__i_1; 9 9 L: __attribute__ ((unused)) ((void)1); 10 10 } … … 54 54 __attribute__ ((unused)) struct __anonymous3; 55 55 struct Fdl { 56 __attribute__ ((unused)) signedint __f1__i_1;57 __attribute__ ((unused)) signedint __f2__i_1;58 __attribute__ ((unused,unused)) signedint __f3__i_1;59 __attribute__ ((unused)) signedint __f4__i_1;60 __attribute__ ((unused,unused)) signedint __f5__i_1;61 __attribute__ ((used,packed)) signedint __f6__i_1;62 __attribute__ ((used,unused,unused)) signedint __f7__i_1;63 __attribute__ ((used,used,unused)) signedint __f8__i_1;64 __attribute__ ((unused)) signedint __anonymous_object0;65 __attribute__ ((unused,unused)) signedint *__f9__Pi_1;56 __attribute__ ((unused)) int __f1__i_1; 57 __attribute__ ((unused)) int __f2__i_1; 58 __attribute__ ((unused,unused)) int __f3__i_1; 59 __attribute__ ((unused)) int __f4__i_1; 60 __attribute__ ((unused,unused)) int __f5__i_1; 61 __attribute__ ((used,packed)) int __f6__i_1; 62 __attribute__ ((used,unused,unused)) int __f7__i_1; 63 __attribute__ ((used,used,unused)) int __f8__i_1; 64 __attribute__ ((unused)) int __anonymous_object0; 65 __attribute__ ((unused,unused)) int *__f9__Pi_1; 66 66 }; 67 67 static inline void ___constructor__F_R4sFdl_autogen___1(struct Fdl *___dst__R4sFdl_1); … … 116 116 return ((struct Fdl )___ret__4sFdl_1); 117 117 } 118 static inline void ___constructor__F_R4sFdli_autogen___1(struct Fdl *___dst__R4sFdl_1, signedint __f1__i_1){118 static inline void ___constructor__F_R4sFdli_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1){ 119 119 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 120 120 ((void)((*___dst__R4sFdl_1).__f2__i_1) /* ?{} */); … … 127 127 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 128 128 } 129 static inline void ___constructor__F_R4sFdlii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signedint __f2__i_1){129 static inline void ___constructor__F_R4sFdlii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1){ 130 130 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 131 131 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 138 138 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 139 139 } 140 static inline void ___constructor__F_R4sFdliii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signedint __f3__i_1){140 static inline void ___constructor__F_R4sFdliii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1){ 141 141 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 142 142 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 149 149 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 150 150 } 151 static inline void ___constructor__F_R4sFdliiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signedint __f4__i_1){152 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 153 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); 154 ((void)((*___dst__R4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */); 155 ((void)((*___dst__R4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */); 156 ((void)((*___dst__R4sFdl_1).__f5__i_1) /* ?{} */); 157 ((void)((*___dst__R4sFdl_1).__f6__i_1) /* ?{} */); 158 ((void)((*___dst__R4sFdl_1).__f7__i_1) /* ?{} */); 159 ((void)((*___dst__R4sFdl_1).__f8__i_1) /* ?{} */); 160 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 161 } 162 static inline void ___constructor__F_R4sFdliiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signedint __f5__i_1){163 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 164 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); 165 ((void)((*___dst__R4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */); 166 ((void)((*___dst__R4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */); 167 ((void)((*___dst__R4sFdl_1).__f5__i_1=__f5__i_1) /* ?{} */); 168 ((void)((*___dst__R4sFdl_1).__f6__i_1) /* ?{} */); 169 ((void)((*___dst__R4sFdl_1).__f7__i_1) /* ?{} */); 170 ((void)((*___dst__R4sFdl_1).__f8__i_1) /* ?{} */); 171 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 172 } 173 static inline void ___constructor__F_R4sFdliiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signed int __f5__i_1, signedint __f6__i_1){151 static inline void ___constructor__F_R4sFdliiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1){ 152 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 153 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); 154 ((void)((*___dst__R4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */); 155 ((void)((*___dst__R4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */); 156 ((void)((*___dst__R4sFdl_1).__f5__i_1) /* ?{} */); 157 ((void)((*___dst__R4sFdl_1).__f6__i_1) /* ?{} */); 158 ((void)((*___dst__R4sFdl_1).__f7__i_1) /* ?{} */); 159 ((void)((*___dst__R4sFdl_1).__f8__i_1) /* ?{} */); 160 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 161 } 162 static inline void ___constructor__F_R4sFdliiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1){ 163 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 164 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); 165 ((void)((*___dst__R4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */); 166 ((void)((*___dst__R4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */); 167 ((void)((*___dst__R4sFdl_1).__f5__i_1=__f5__i_1) /* ?{} */); 168 ((void)((*___dst__R4sFdl_1).__f6__i_1) /* ?{} */); 169 ((void)((*___dst__R4sFdl_1).__f7__i_1) /* ?{} */); 170 ((void)((*___dst__R4sFdl_1).__f8__i_1) /* ?{} */); 171 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 172 } 173 static inline void ___constructor__F_R4sFdliiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1, int __f6__i_1){ 174 174 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 175 175 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 182 182 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 183 183 } 184 static inline void ___constructor__F_R4sFdliiiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signed int __f5__i_1, signed int __f6__i_1, signedint __f7__i_1){184 static inline void ___constructor__F_R4sFdliiiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1, int __f6__i_1, int __f7__i_1){ 185 185 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 186 186 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 193 193 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 194 194 } 195 static inline void ___constructor__F_R4sFdliiiiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signed int __f5__i_1, signed int __f6__i_1, signed int __f7__i_1, signedint __f8__i_1){195 static inline void ___constructor__F_R4sFdliiiiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1, int __f6__i_1, int __f7__i_1, int __f8__i_1){ 196 196 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 197 197 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 204 204 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 205 205 } 206 static inline void ___constructor__F_R4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signed int __f5__i_1, signed int __f6__i_1, signed int __f7__i_1, signed int __f8__i_1, signedint *__f9__Pi_1){206 static inline void ___constructor__F_R4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1, int __f6__i_1, int __f7__i_1, int __f8__i_1, int *__f9__Pi_1){ 207 207 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 208 208 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 215 215 ((void)((*___dst__R4sFdl_1).__f9__Pi_1=__f9__Pi_1) /* ?{} */); 216 216 } 217 __attribute__ ((unused)) signedint __f__Fi___1() asm ( "xyz" );218 __attribute__ ((used,used)) const signedint __vd1__Ci_1;219 __attribute__ ((used,unused)) const signedint __vd2__Ci_1;220 __attribute__ ((used,used,used,used)) const signedint *__vd3__PCi_1;221 __attribute__ ((used,used,unused,used,unused)) const signedint *__vd4__PCi_1;222 __attribute__ ((used,used,used)) const signedint __vd5__A0Ci_1[((unsigned int )5)];223 __attribute__ ((used,used,unused,used)) const signedint __vd6__A0Ci_1[((unsigned int )5)];224 __attribute__ ((used,used,used,used)) const signedint (*__vd7__PFCi___1)();225 __attribute__ ((used,used,unused,used,used)) const signedint (*__vd8__PFCi___1)();226 __attribute__ ((unused,used)) signedint __f1__Fi___1();227 __attribute__ ((unused)) signedint __f1__Fi___1(){228 __attribute__ ((unused)) signedint ___retval_f1__i_1;229 } 230 __attribute__ ((unused,unused,unused,used)) signedint **const __f2__FCPPi___1();231 __attribute__ ((unused,unused,unused)) signedint **const __f2__FCPPi___1(){232 __attribute__ ((unused)) signedint **const ___retval_f2__CPPi_1;233 } 234 __attribute__ ((unused,used,unused)) signed int (*__f3__FPA0i_i__1(signedint __anonymous_object1))[];235 __attribute__ ((unused,unused)) signed int (*__f3__FPA0i_i__1(signedint __p__i_1))[]{236 __attribute__ ((unused)) signedint (*___retval_f3__PA0i_1)[];237 } 238 __attribute__ ((unused,used,unused)) signed int (*__f4__FPFi_i____1())(signedint __anonymous_object2);239 __attribute__ ((unused,unused)) signed int (*__f4__FPFi_i____1())(signedint __anonymous_object3){240 __attribute__ ((unused)) signed int (*___retval_f4__PFi_i__1)(signedint __anonymous_object4);241 } 242 signedint __vtr__Fi___1(){243 __attribute__ ((unused)) signedint ___retval_vtr__i_1;244 __attribute__ ((unused,unused,used)) signedint __t1__i_2;245 __attribute__ ((unused,unused,unused,unused,unused)) signedint **__t2__PPi_2;246 __attribute__ ((unused,unused,unused)) signedint __t3__A0i_2[((unsigned int )5)];247 __attribute__ ((unused,unused,unused,unused,unused)) signedint **__t4__A0PPi_2[((unsigned int )5)];248 __attribute__ ((unused,unused,unused)) signedint __t5__Fi___2();249 __attribute__ ((unused,unused,unused,unused)) signedint *__t6__FPi___2();250 } 251 signed int __ipd1__Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int __p__i_1, __attribute__ ((unused,unused,unused)) signedint __q__i_1);252 signed int __ipd1__Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int __p__i_1, __attribute__ ((unused,unused,unused)) signedint __q__i_1){253 __attribute__ ((unused)) signedint ___retval_ipd1__i_1;254 } 255 signed int __ipd2__Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *__p__Pi_1, __attribute__ ((unused,unused,unused)) signedint *__q__Pi_1);256 signed int __ipd2__Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *__p__Pi_1, __attribute__ ((unused,unused,unused)) signedint *__q__Pi_1){257 __attribute__ ((unused)) signedint ___retval_ipd2__i_1;258 } 259 signed int __ipd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__p__Pi_1, __attribute__ ((unused,unused,unused)) signedint *__q__Pi_1);260 signed int __ipd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__p__Pi_1, __attribute__ ((unused,unused,unused)) signedint *__q__Pi_1){261 __attribute__ ((unused)) signedint ___retval_ipd3__i_1;262 } 263 signed int __ipd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) signed int (*__p__PFi___1)(), __attribute__ ((unused,unused,unused)) signedint (*__q__PFi___1)());264 signed int __ipd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) signed int (*__p__PFi___1)(), __attribute__ ((unused,unused,unused)) signedint (*__q__PFi___1)()){265 __attribute__ ((unused)) signedint ___retval_ipd4__i_1;266 } 267 signed int __tpr1__Fi_i__1(__attribute__ ((unused,unused,unused)) signedint __Foo__i_1);268 signed int __tpr2__Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signedint **__Foo__PPi_1);269 signed int __tpr3__Fi_Pi__1(__attribute__ ((unused,unused,unused)) signedint *__Foo__Pi_1);270 signed int __tpr4__Fi_PFi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object5)(__attribute__ ((unused,unused)) signedint __anonymous_object6[((unsigned int )5)]));271 signed int __tpr5__Fi_PFi____1(__attribute__ ((unused,unused,unused)) signedint (*__Foo__PFi___1)());272 signed int __tpr6__Fi_PFi____1(__attribute__ ((unused,unused,unused)) signedint (*__Foo__PFi___1)());273 signed int __tpr7__Fi_PFi_PFi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object7)(__attribute__ ((unused)) signed int (*__anonymous_object8)(__attribute__ ((unused,unused)) signedint __anonymous_object9)));274 signedint __ad__Fi___1(){275 __attribute__ ((unused)) signedint ___retval_ad__i_1;276 __attribute__ ((used,unused)) signedint __ad1__i_2;277 __attribute__ ((unused,unused,unused)) signedint *__ad2__Pi_2;278 __attribute__ ((unused,unused,unused)) signedint __ad3__A0i_2[((unsigned int )5)];279 __attribute__ ((unused,unused,unused,unused,unused)) signedint (*__ad4__PA0i_2)[((unsigned int )10)];280 __attribute__ ((unused,unused,unused,unused,used)) signedint __ad5__i_2;281 __attribute__ ((unused,unused,unused,unused,unused)) signedint __ad6__Fi___2();282 ((void)sizeof(__attribute__ ((unused,unused)) signedint ));283 ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signedint **));284 ((void)sizeof(__attribute__ ((unused,unused,unused)) signedint [5]));285 ((void)sizeof(__attribute__ ((unused,unused,unused)) signedint (*)[10]));286 ((void)sizeof(__attribute__ ((unused,unused,unused)) signedint ()));217 __attribute__ ((unused)) int __f__Fi___1() asm ( "xyz" ); 218 __attribute__ ((used,used)) const int __vd1__Ci_1; 219 __attribute__ ((used,unused)) const int __vd2__Ci_1; 220 __attribute__ ((used,used,used,used)) const int *__vd3__PCi_1; 221 __attribute__ ((used,used,unused,used,unused)) const int *__vd4__PCi_1; 222 __attribute__ ((used,used,used)) const int __vd5__A0Ci_1[((unsigned int )5)]; 223 __attribute__ ((used,used,unused,used)) const int __vd6__A0Ci_1[((unsigned int )5)]; 224 __attribute__ ((used,used,used,used)) const int (*__vd7__PFCi___1)(); 225 __attribute__ ((used,used,unused,used,used)) const int (*__vd8__PFCi___1)(); 226 __attribute__ ((unused,used)) int __f1__Fi___1(); 227 __attribute__ ((unused)) int __f1__Fi___1(){ 228 __attribute__ ((unused)) int ___retval_f1__i_1; 229 } 230 __attribute__ ((unused,unused,unused,used)) int **const __f2__FCPPi___1(); 231 __attribute__ ((unused,unused,unused)) int **const __f2__FCPPi___1(){ 232 __attribute__ ((unused)) int **const ___retval_f2__CPPi_1; 233 } 234 __attribute__ ((unused,used,unused)) int (*__f3__FPA0i_i__1(int __anonymous_object1))[]; 235 __attribute__ ((unused,unused)) int (*__f3__FPA0i_i__1(int __p__i_1))[]{ 236 __attribute__ ((unused)) int (*___retval_f3__PA0i_1)[]; 237 } 238 __attribute__ ((unused,used,unused)) int (*__f4__FPFi_i____1())(int __anonymous_object2); 239 __attribute__ ((unused,unused)) int (*__f4__FPFi_i____1())(int __anonymous_object3){ 240 __attribute__ ((unused)) int (*___retval_f4__PFi_i__1)(int __anonymous_object4); 241 } 242 int __vtr__Fi___1(){ 243 __attribute__ ((unused)) int ___retval_vtr__i_1; 244 __attribute__ ((unused,unused,used)) int __t1__i_2; 245 __attribute__ ((unused,unused,unused,unused,unused)) int **__t2__PPi_2; 246 __attribute__ ((unused,unused,unused)) int __t3__A0i_2[((unsigned int )5)]; 247 __attribute__ ((unused,unused,unused,unused,unused)) int **__t4__A0PPi_2[((unsigned int )5)]; 248 __attribute__ ((unused,unused,unused)) int __t5__Fi___2(); 249 __attribute__ ((unused,unused,unused,unused)) int *__t6__FPi___2(); 250 } 251 int __ipd1__Fi_ii__1(__attribute__ ((unused,unused,unused)) int __p__i_1, __attribute__ ((unused,unused,unused)) int __q__i_1); 252 int __ipd1__Fi_ii__1(__attribute__ ((unused,unused,unused)) int __p__i_1, __attribute__ ((unused,unused,unused)) int __q__i_1){ 253 __attribute__ ((unused)) int ___retval_ipd1__i_1; 254 } 255 int __ipd2__Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) int *__p__Pi_1, __attribute__ ((unused,unused,unused)) int *__q__Pi_1); 256 int __ipd2__Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) int *__p__Pi_1, __attribute__ ((unused,unused,unused)) int *__q__Pi_1){ 257 __attribute__ ((unused)) int ___retval_ipd2__i_1; 258 } 259 int __ipd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__p__Pi_1, __attribute__ ((unused,unused,unused)) int *__q__Pi_1); 260 int __ipd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__p__Pi_1, __attribute__ ((unused,unused,unused)) int *__q__Pi_1){ 261 __attribute__ ((unused)) int ___retval_ipd3__i_1; 262 } 263 int __ipd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__p__PFi___1)(), __attribute__ ((unused,unused,unused)) int (*__q__PFi___1)()); 264 int __ipd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__p__PFi___1)(), __attribute__ ((unused,unused,unused)) int (*__q__PFi___1)()){ 265 __attribute__ ((unused)) int ___retval_ipd4__i_1; 266 } 267 int __tpr1__Fi_i__1(__attribute__ ((unused,unused,unused)) int __Foo__i_1); 268 int __tpr2__Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) int **__Foo__PPi_1); 269 int __tpr3__Fi_Pi__1(__attribute__ ((unused,unused,unused)) int *__Foo__Pi_1); 270 int __tpr4__Fi_PFi_Pi___1(__attribute__ ((unused,unused)) int (*__anonymous_object5)(__attribute__ ((unused,unused)) int __anonymous_object6[((unsigned int )5)])); 271 int __tpr5__Fi_PFi____1(__attribute__ ((unused,unused,unused)) int (*__Foo__PFi___1)()); 272 int __tpr6__Fi_PFi____1(__attribute__ ((unused,unused,unused)) int (*__Foo__PFi___1)()); 273 int __tpr7__Fi_PFi_PFi_i____1(__attribute__ ((unused,unused)) int (*__anonymous_object7)(__attribute__ ((unused)) int (*__anonymous_object8)(__attribute__ ((unused,unused)) int __anonymous_object9))); 274 int __ad__Fi___1(){ 275 __attribute__ ((unused)) int ___retval_ad__i_1; 276 __attribute__ ((used,unused)) int __ad1__i_2; 277 __attribute__ ((unused,unused,unused)) int *__ad2__Pi_2; 278 __attribute__ ((unused,unused,unused)) int __ad3__A0i_2[((unsigned int )5)]; 279 __attribute__ ((unused,unused,unused,unused,unused)) int (*__ad4__PA0i_2)[((unsigned int )10)]; 280 __attribute__ ((unused,unused,unused,unused,used)) int __ad5__i_2; 281 __attribute__ ((unused,unused,unused,unused,unused)) int __ad6__Fi___2(); 282 ((void)sizeof(__attribute__ ((unused,unused)) int )); 283 ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) int **)); 284 ((void)sizeof(__attribute__ ((unused,unused,unused)) int [5])); 285 ((void)sizeof(__attribute__ ((unused,unused,unused)) int (*)[10])); 286 ((void)sizeof(__attribute__ ((unused,unused,unused)) int ())); 287 287 __attribute__ ((unused)) struct __anonymous4 { 288 signedint __i__i_2;288 int __i__i_2; 289 289 }; 290 290 inline void ___constructor__F_R13s__anonymous4_autogen___2(struct __anonymous4 *___dst__R13s__anonymous4_2){ … … 303 303 return ((struct __anonymous4 )___ret__13s__anonymous4_2); 304 304 } 305 inline void ___constructor__F_R13s__anonymous4i_autogen___2(struct __anonymous4 *___dst__R13s__anonymous4_2, signedint __i__i_2){305 inline void ___constructor__F_R13s__anonymous4i_autogen___2(struct __anonymous4 *___dst__R13s__anonymous4_2, int __i__i_2){ 306 306 ((void)((*___dst__R13s__anonymous4_2).__i__i_2=__i__i_2) /* ?{} */); 307 307 } … … 324 324 ((void)sizeof(enum __anonymous5 )); 325 325 } 326 signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object10, __attribute__ ((unused,unused,unused)) signedint *__anonymous_object11);327 signed int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object12, __attribute__ ((unused,unused,unused,unused)) signedint **__anonymous_object13);328 signed int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object14, __attribute__ ((unused,unused,unused)) signedint *__anonymous_object15);329 signed int __apd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(), __attribute__ ((unused,unused,unused)) signedint (*__anonymous_object17)());330 signed int __apd5__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object18)(__attribute__ ((unused)) signed int __anonymous_object19), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object20)(__attribute__ ((unused)) signedint __anonymous_object21));331 signed int __apd6__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)(), __attribute__ ((unused,unused,unused)) signedint (*__anonymous_object23)());332 signed int __apd7__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object24)(__attribute__ ((unused)) signed int __anonymous_object25), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object26)(__attribute__ ((unused)) signedint __anonymous_object27));326 int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__anonymous_object10, __attribute__ ((unused,unused,unused)) int *__anonymous_object11); 327 int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) int **__anonymous_object12, __attribute__ ((unused,unused,unused,unused)) int **__anonymous_object13); 328 int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__anonymous_object14, __attribute__ ((unused,unused,unused)) int *__anonymous_object15); 329 int __apd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object16)(), __attribute__ ((unused,unused,unused)) int (*__anonymous_object17)()); 330 int __apd5__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object18)(__attribute__ ((unused)) int __anonymous_object19), __attribute__ ((unused,unused,unused)) int (*__anonymous_object20)(__attribute__ ((unused)) int __anonymous_object21)); 331 int __apd6__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object22)(), __attribute__ ((unused,unused,unused)) int (*__anonymous_object23)()); 332 int __apd7__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object24)(__attribute__ ((unused)) int __anonymous_object25), __attribute__ ((unused,unused,unused)) int (*__anonymous_object26)(__attribute__ ((unused)) int __anonymous_object27)); 333 333 struct Vad { 334 __attribute__ ((unused)) signedint __anonymous_object28;335 __attribute__ ((unused,unused)) signedint *__anonymous_object29;336 __attribute__ ((unused,unused)) signedint __anonymous_object30[((unsigned int )10)];337 __attribute__ ((unused,unused)) signedint (*__anonymous_object31)();334 __attribute__ ((unused)) int __anonymous_object28; 335 __attribute__ ((unused,unused)) int *__anonymous_object29; 336 __attribute__ ((unused,unused)) int __anonymous_object30[((unsigned int )10)]; 337 __attribute__ ((unused,unused)) int (*__anonymous_object31)(); 338 338 }; 339 339 static inline void ___constructor__F_R4sVad_autogen___1(struct Vad *___dst__R4sVad_1); -
src/tests/.expect/32/declarationSpecifier.txt
r982832e re3e16bc 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 volatile const s igned short int __x1__CVs_1;8 static volatile const s igned short int __x2__CVs_1;9 static volatile const s igned short int __x3__CVs_1;10 static volatile const s igned short int __x4__CVs_1;11 static volatile const s igned short int __x5__CVs_1;12 static volatile const s igned short int __x6__CVs_1;13 static volatile const s igned short int __x7__CVs_1;14 static volatile const s igned short int __x8__CVs_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 volatile const short __x1__CVs_1; 8 static volatile const short __x2__CVs_1; 9 static volatile const short __x3__CVs_1; 10 static volatile const short __x4__CVs_1; 11 static volatile const short __x5__CVs_1; 12 static volatile const short __x6__CVs_1; 13 static volatile const short __x7__CVs_1; 14 static volatile const short __x8__CVs_1; 15 15 struct __anonymous0 { 16 signedint __i__i_1;16 int __i__i_1; 17 17 }; 18 18 static inline void ___constructor__F_R13s__anonymous0_autogen___1(struct __anonymous0 *___dst__R13s__anonymous0_1); … … 35 35 return ((struct __anonymous0 )___ret__13s__anonymous0_1); 36 36 } 37 static inline void ___constructor__F_R13s__anonymous0i_autogen___1(struct __anonymous0 *___dst__R13s__anonymous0_1, signedint __i__i_1){37 static inline void ___constructor__F_R13s__anonymous0i_autogen___1(struct __anonymous0 *___dst__R13s__anonymous0_1, int __i__i_1){ 38 38 ((void)((*___dst__R13s__anonymous0_1).__i__i_1=__i__i_1) /* ?{} */); 39 39 } 40 40 volatile const struct __anonymous0 __x10__CV13s__anonymous0_1; 41 41 struct __anonymous1 { 42 signedint __i__i_1;42 int __i__i_1; 43 43 }; 44 44 static inline void ___constructor__F_R13s__anonymous1_autogen___1(struct __anonymous1 *___dst__R13s__anonymous1_1); … … 61 61 return ((struct __anonymous1 )___ret__13s__anonymous1_1); 62 62 } 63 static inline void ___constructor__F_R13s__anonymous1i_autogen___1(struct __anonymous1 *___dst__R13s__anonymous1_1, signedint __i__i_1){63 static inline void ___constructor__F_R13s__anonymous1i_autogen___1(struct __anonymous1 *___dst__R13s__anonymous1_1, int __i__i_1){ 64 64 ((void)((*___dst__R13s__anonymous1_1).__i__i_1=__i__i_1) /* ?{} */); 65 65 } 66 66 volatile const struct __anonymous1 __x11__CV13s__anonymous1_1; 67 67 struct __anonymous2 { 68 signedint __i__i_1;68 int __i__i_1; 69 69 }; 70 70 static inline void ___constructor__F_R13s__anonymous2_autogen___1(struct __anonymous2 *___dst__R13s__anonymous2_1); … … 87 87 return ((struct __anonymous2 )___ret__13s__anonymous2_1); 88 88 } 89 static inline void ___constructor__F_R13s__anonymous2i_autogen___1(struct __anonymous2 *___dst__R13s__anonymous2_1, signedint __i__i_1){89 static inline void ___constructor__F_R13s__anonymous2i_autogen___1(struct __anonymous2 *___dst__R13s__anonymous2_1, int __i__i_1){ 90 90 ((void)((*___dst__R13s__anonymous2_1).__i__i_1=__i__i_1) /* ?{} */); 91 91 } 92 92 volatile const struct __anonymous2 __x12__CV13s__anonymous2_1; 93 93 struct __anonymous3 { 94 signedint __i__i_1;94 int __i__i_1; 95 95 }; 96 96 static inline void ___constructor__F_R13s__anonymous3_autogen___1(struct __anonymous3 *___dst__R13s__anonymous3_1); … … 113 113 return ((struct __anonymous3 )___ret__13s__anonymous3_1); 114 114 } 115 static inline void ___constructor__F_R13s__anonymous3i_autogen___1(struct __anonymous3 *___dst__R13s__anonymous3_1, signedint __i__i_1){115 static inline void ___constructor__F_R13s__anonymous3i_autogen___1(struct __anonymous3 *___dst__R13s__anonymous3_1, int __i__i_1){ 116 116 ((void)((*___dst__R13s__anonymous3_1).__i__i_1=__i__i_1) /* ?{} */); 117 117 } 118 118 static volatile const struct __anonymous3 __x13__CV13s__anonymous3_1; 119 119 struct __anonymous4 { 120 signedint __i__i_1;120 int __i__i_1; 121 121 }; 122 122 static inline void ___constructor__F_R13s__anonymous4_autogen___1(struct __anonymous4 *___dst__R13s__anonymous4_1); … … 139 139 return ((struct __anonymous4 )___ret__13s__anonymous4_1); 140 140 } 141 static inline void ___constructor__F_R13s__anonymous4i_autogen___1(struct __anonymous4 *___dst__R13s__anonymous4_1, signedint __i__i_1){141 static inline void ___constructor__F_R13s__anonymous4i_autogen___1(struct __anonymous4 *___dst__R13s__anonymous4_1, int __i__i_1){ 142 142 ((void)((*___dst__R13s__anonymous4_1).__i__i_1=__i__i_1) /* ?{} */); 143 143 } 144 144 static volatile const struct __anonymous4 __x14__CV13s__anonymous4_1; 145 145 struct __anonymous5 { 146 signedint __i__i_1;146 int __i__i_1; 147 147 }; 148 148 static inline void ___constructor__F_R13s__anonymous5_autogen___1(struct __anonymous5 *___dst__R13s__anonymous5_1); … … 165 165 return ((struct __anonymous5 )___ret__13s__anonymous5_1); 166 166 } 167 static inline void ___constructor__F_R13s__anonymous5i_autogen___1(struct __anonymous5 *___dst__R13s__anonymous5_1, signedint __i__i_1){167 static inline void ___constructor__F_R13s__anonymous5i_autogen___1(struct __anonymous5 *___dst__R13s__anonymous5_1, int __i__i_1){ 168 168 ((void)((*___dst__R13s__anonymous5_1).__i__i_1=__i__i_1) /* ?{} */); 169 169 } 170 170 static volatile const struct __anonymous5 __x15__CV13s__anonymous5_1; 171 171 struct __anonymous6 { 172 signedint __i__i_1;172 int __i__i_1; 173 173 }; 174 174 static inline void ___constructor__F_R13s__anonymous6_autogen___1(struct __anonymous6 *___dst__R13s__anonymous6_1); … … 191 191 return ((struct __anonymous6 )___ret__13s__anonymous6_1); 192 192 } 193 static inline void ___constructor__F_R13s__anonymous6i_autogen___1(struct __anonymous6 *___dst__R13s__anonymous6_1, signedint __i__i_1){193 static inline void ___constructor__F_R13s__anonymous6i_autogen___1(struct __anonymous6 *___dst__R13s__anonymous6_1, int __i__i_1){ 194 194 ((void)((*___dst__R13s__anonymous6_1).__i__i_1=__i__i_1) /* ?{} */); 195 195 } 196 196 static volatile const struct __anonymous6 __x16__CV13s__anonymous6_1; 197 197 struct __anonymous7 { 198 signedint __i__i_1;198 int __i__i_1; 199 199 }; 200 200 static inline void ___constructor__F_R13s__anonymous7_autogen___1(struct __anonymous7 *___dst__R13s__anonymous7_1); … … 217 217 return ((struct __anonymous7 )___ret__13s__anonymous7_1); 218 218 } 219 static inline void ___constructor__F_R13s__anonymous7i_autogen___1(struct __anonymous7 *___dst__R13s__anonymous7_1, signedint __i__i_1){219 static inline void ___constructor__F_R13s__anonymous7i_autogen___1(struct __anonymous7 *___dst__R13s__anonymous7_1, int __i__i_1){ 220 220 ((void)((*___dst__R13s__anonymous7_1).__i__i_1=__i__i_1) /* ?{} */); 221 221 } 222 222 static volatile const struct __anonymous7 __x17__CV13s__anonymous7_1; 223 volatile const s igned short int __x20__CVs_1;224 static volatile const s igned short int __x21__CVs_1;225 static volatile const s igned short int __x22__CVs_1;226 static volatile const s igned short int __x23__CVs_1;227 static volatile const s igned short int __x24__CVs_1;228 static volatile const s igned short int __x25__CVs_1;229 static volatile const s igned short int __x26__CVs_1;230 static volatile const s igned short int __x27__CVs_1;223 volatile const short __x20__CVs_1; 224 static volatile const short __x21__CVs_1; 225 static volatile const short __x22__CVs_1; 226 static volatile const short __x23__CVs_1; 227 static volatile const short __x24__CVs_1; 228 static volatile const short __x25__CVs_1; 229 static volatile const short __x26__CVs_1; 230 static volatile const short __x27__CVs_1; 231 231 struct __anonymous8 { 232 s igned short int __i__s_1;232 short __i__s_1; 233 233 }; 234 234 static inline void ___constructor__F_R13s__anonymous8_autogen___1(struct __anonymous8 *___dst__R13s__anonymous8_1); … … 251 251 return ((struct __anonymous8 )___ret__13s__anonymous8_1); 252 252 } 253 static inline void ___constructor__F_R13s__anonymous8s_autogen___1(struct __anonymous8 *___dst__R13s__anonymous8_1, s igned short int __i__s_1){253 static inline void ___constructor__F_R13s__anonymous8s_autogen___1(struct __anonymous8 *___dst__R13s__anonymous8_1, short __i__s_1){ 254 254 ((void)((*___dst__R13s__anonymous8_1).__i__s_1=__i__s_1) /* ?{} */); 255 255 } 256 256 volatile const struct __anonymous8 __x29__CV13s__anonymous8_1; 257 257 struct __anonymous9 { 258 s igned short int __i__s_1;258 short __i__s_1; 259 259 }; 260 260 static inline void ___constructor__F_R13s__anonymous9_autogen___1(struct __anonymous9 *___dst__R13s__anonymous9_1); … … 277 277 return ((struct __anonymous9 )___ret__13s__anonymous9_1); 278 278 } 279 static inline void ___constructor__F_R13s__anonymous9s_autogen___1(struct __anonymous9 *___dst__R13s__anonymous9_1, s igned short int __i__s_1){279 static inline void ___constructor__F_R13s__anonymous9s_autogen___1(struct __anonymous9 *___dst__R13s__anonymous9_1, short __i__s_1){ 280 280 ((void)((*___dst__R13s__anonymous9_1).__i__s_1=__i__s_1) /* ?{} */); 281 281 } 282 282 volatile const struct __anonymous9 __x30__CV13s__anonymous9_1; 283 283 struct __anonymous10 { 284 s igned short int __i__s_1;284 short __i__s_1; 285 285 }; 286 286 static inline void ___constructor__F_R14s__anonymous10_autogen___1(struct __anonymous10 *___dst__R14s__anonymous10_1); … … 303 303 return ((struct __anonymous10 )___ret__14s__anonymous10_1); 304 304 } 305 static inline void ___constructor__F_R14s__anonymous10s_autogen___1(struct __anonymous10 *___dst__R14s__anonymous10_1, s igned short int __i__s_1){305 static inline void ___constructor__F_R14s__anonymous10s_autogen___1(struct __anonymous10 *___dst__R14s__anonymous10_1, short __i__s_1){ 306 306 ((void)((*___dst__R14s__anonymous10_1).__i__s_1=__i__s_1) /* ?{} */); 307 307 } 308 308 volatile const struct __anonymous10 __x31__CV14s__anonymous10_1; 309 309 struct __anonymous11 { 310 s igned short int __i__s_1;310 short __i__s_1; 311 311 }; 312 312 static inline void ___constructor__F_R14s__anonymous11_autogen___1(struct __anonymous11 *___dst__R14s__anonymous11_1); … … 329 329 return ((struct __anonymous11 )___ret__14s__anonymous11_1); 330 330 } 331 static inline void ___constructor__F_R14s__anonymous11s_autogen___1(struct __anonymous11 *___dst__R14s__anonymous11_1, s igned short int __i__s_1){331 static inline void ___constructor__F_R14s__anonymous11s_autogen___1(struct __anonymous11 *___dst__R14s__anonymous11_1, short __i__s_1){ 332 332 ((void)((*___dst__R14s__anonymous11_1).__i__s_1=__i__s_1) /* ?{} */); 333 333 } 334 334 static volatile const struct __anonymous11 __x32__CV14s__anonymous11_1; 335 335 struct __anonymous12 { 336 s igned short int __i__s_1;336 short __i__s_1; 337 337 }; 338 338 static inline void ___constructor__F_R14s__anonymous12_autogen___1(struct __anonymous12 *___dst__R14s__anonymous12_1); … … 355 355 return ((struct __anonymous12 )___ret__14s__anonymous12_1); 356 356 } 357 static inline void ___constructor__F_R14s__anonymous12s_autogen___1(struct __anonymous12 *___dst__R14s__anonymous12_1, s igned short int __i__s_1){357 static inline void ___constructor__F_R14s__anonymous12s_autogen___1(struct __anonymous12 *___dst__R14s__anonymous12_1, short __i__s_1){ 358 358 ((void)((*___dst__R14s__anonymous12_1).__i__s_1=__i__s_1) /* ?{} */); 359 359 } 360 360 static volatile const struct __anonymous12 __x33__CV14s__anonymous12_1; 361 361 struct __anonymous13 { 362 s igned short int __i__s_1;362 short __i__s_1; 363 363 }; 364 364 static inline void ___constructor__F_R14s__anonymous13_autogen___1(struct __anonymous13 *___dst__R14s__anonymous13_1); … … 381 381 return ((struct __anonymous13 )___ret__14s__anonymous13_1); 382 382 } 383 static inline void ___constructor__F_R14s__anonymous13s_autogen___1(struct __anonymous13 *___dst__R14s__anonymous13_1, s igned short int __i__s_1){383 static inline void ___constructor__F_R14s__anonymous13s_autogen___1(struct __anonymous13 *___dst__R14s__anonymous13_1, short __i__s_1){ 384 384 ((void)((*___dst__R14s__anonymous13_1).__i__s_1=__i__s_1) /* ?{} */); 385 385 } 386 386 static volatile const struct __anonymous13 __x34__CV14s__anonymous13_1; 387 387 struct __anonymous14 { 388 s igned short int __i__s_1;388 short __i__s_1; 389 389 }; 390 390 static inline void ___constructor__F_R14s__anonymous14_autogen___1(struct __anonymous14 *___dst__R14s__anonymous14_1); … … 407 407 return ((struct __anonymous14 )___ret__14s__anonymous14_1); 408 408 } 409 static inline void ___constructor__F_R14s__anonymous14s_autogen___1(struct __anonymous14 *___dst__R14s__anonymous14_1, s igned short int __i__s_1){409 static inline void ___constructor__F_R14s__anonymous14s_autogen___1(struct __anonymous14 *___dst__R14s__anonymous14_1, short __i__s_1){ 410 410 ((void)((*___dst__R14s__anonymous14_1).__i__s_1=__i__s_1) /* ?{} */); 411 411 } 412 412 static volatile const struct __anonymous14 __x35__CV14s__anonymous14_1; 413 413 struct __anonymous15 { 414 s igned short int __i__s_1;414 short __i__s_1; 415 415 }; 416 416 static inline void ___constructor__F_R14s__anonymous15_autogen___1(struct __anonymous15 *___dst__R14s__anonymous15_1); … … 433 433 return ((struct __anonymous15 )___ret__14s__anonymous15_1); 434 434 } 435 static inline void ___constructor__F_R14s__anonymous15s_autogen___1(struct __anonymous15 *___dst__R14s__anonymous15_1, s igned short int __i__s_1){435 static inline void ___constructor__F_R14s__anonymous15s_autogen___1(struct __anonymous15 *___dst__R14s__anonymous15_1, short __i__s_1){ 436 436 ((void)((*___dst__R14s__anonymous15_1).__i__s_1=__i__s_1) /* ?{} */); 437 437 } 438 438 static volatile const struct __anonymous15 __x36__CV14s__anonymous15_1; 439 static inline volatile const signedint __f11__FCVi___1();440 static inline volatile const signedint __f12__FCVi___1();441 static inline volatile const signedint __f13__FCVi___1();442 static inline volatile const signedint __f14__FCVi___1();443 static inline volatile const signedint __f15__FCVi___1();444 static inline volatile const signedint __f16__FCVi___1();445 static inline volatile const signedint __f17__FCVi___1();446 static inline volatile const signedint __f18__FCVi___1();447 static inline volatile const s igned short int __f21__FCVs___1();448 static inline volatile const s igned short int __f22__FCVs___1();449 static inline volatile const s igned short int __f23__FCVs___1();450 static inline volatile const s igned short int __f24__FCVs___1();451 static inline volatile const s igned short int __f25__FCVs___1();452 static inline volatile const s igned short int __f26__FCVs___1();453 static inline volatile const s igned short int __f27__FCVs___1();454 static inline volatile const s igned short int __f28__FCVs___1();439 static inline volatile const int __f11__FCVi___1(); 440 static inline volatile const int __f12__FCVi___1(); 441 static inline volatile const int __f13__FCVi___1(); 442 static inline volatile const int __f14__FCVi___1(); 443 static inline volatile const int __f15__FCVi___1(); 444 static inline volatile const int __f16__FCVi___1(); 445 static inline volatile const int __f17__FCVi___1(); 446 static inline volatile const int __f18__FCVi___1(); 447 static inline volatile const short __f21__FCVs___1(); 448 static inline volatile const short __f22__FCVs___1(); 449 static inline volatile const short __f23__FCVs___1(); 450 static inline volatile const short __f24__FCVs___1(); 451 static inline volatile const short __f25__FCVs___1(); 452 static inline volatile const short __f26__FCVs___1(); 453 static inline volatile const short __f27__FCVs___1(); 454 static inline volatile const short __f28__FCVs___1(); 455 455 struct __anonymous16 { 456 signedint __i__i_1;456 int __i__i_1; 457 457 }; 458 458 static inline void ___constructor__F_R14s__anonymous16_autogen___1(struct __anonymous16 *___dst__R14s__anonymous16_1); … … 475 475 return ((struct __anonymous16 )___ret__14s__anonymous16_1); 476 476 } 477 static inline void ___constructor__F_R14s__anonymous16i_autogen___1(struct __anonymous16 *___dst__R14s__anonymous16_1, signedint __i__i_1){477 static inline void ___constructor__F_R14s__anonymous16i_autogen___1(struct __anonymous16 *___dst__R14s__anonymous16_1, int __i__i_1){ 478 478 ((void)((*___dst__R14s__anonymous16_1).__i__i_1=__i__i_1) /* ?{} */); 479 479 } 480 480 static inline volatile const struct __anonymous16 __f31__FCV14s__anonymous16___1(); 481 481 struct __anonymous17 { 482 signedint __i__i_1;482 int __i__i_1; 483 483 }; 484 484 static inline void ___constructor__F_R14s__anonymous17_autogen___1(struct __anonymous17 *___dst__R14s__anonymous17_1); … … 501 501 return ((struct __anonymous17 )___ret__14s__anonymous17_1); 502 502 } 503 static inline void ___constructor__F_R14s__anonymous17i_autogen___1(struct __anonymous17 *___dst__R14s__anonymous17_1, signedint __i__i_1){503 static inline void ___constructor__F_R14s__anonymous17i_autogen___1(struct __anonymous17 *___dst__R14s__anonymous17_1, int __i__i_1){ 504 504 ((void)((*___dst__R14s__anonymous17_1).__i__i_1=__i__i_1) /* ?{} */); 505 505 } 506 506 static inline volatile const struct __anonymous17 __f32__FCV14s__anonymous17___1(); 507 507 struct __anonymous18 { 508 signedint __i__i_1;508 int __i__i_1; 509 509 }; 510 510 static inline void ___constructor__F_R14s__anonymous18_autogen___1(struct __anonymous18 *___dst__R14s__anonymous18_1); … … 527 527 return ((struct __anonymous18 )___ret__14s__anonymous18_1); 528 528 } 529 static inline void ___constructor__F_R14s__anonymous18i_autogen___1(struct __anonymous18 *___dst__R14s__anonymous18_1, signedint __i__i_1){529 static inline void ___constructor__F_R14s__anonymous18i_autogen___1(struct __anonymous18 *___dst__R14s__anonymous18_1, int __i__i_1){ 530 530 ((void)((*___dst__R14s__anonymous18_1).__i__i_1=__i__i_1) /* ?{} */); 531 531 } 532 532 static inline volatile const struct __anonymous18 __f33__FCV14s__anonymous18___1(); 533 533 struct __anonymous19 { 534 signedint __i__i_1;534 int __i__i_1; 535 535 }; 536 536 static inline void ___constructor__F_R14s__anonymous19_autogen___1(struct __anonymous19 *___dst__R14s__anonymous19_1); … … 553 553 return ((struct __anonymous19 )___ret__14s__anonymous19_1); 554 554 } 555 static inline void ___constructor__F_R14s__anonymous19i_autogen___1(struct __anonymous19 *___dst__R14s__anonymous19_1, signedint __i__i_1){555 static inline void ___constructor__F_R14s__anonymous19i_autogen___1(struct __anonymous19 *___dst__R14s__anonymous19_1, int __i__i_1){ 556 556 ((void)((*___dst__R14s__anonymous19_1).__i__i_1=__i__i_1) /* ?{} */); 557 557 } 558 558 static inline volatile const struct __anonymous19 __f34__FCV14s__anonymous19___1(); 559 559 struct __anonymous20 { 560 signedint __i__i_1;560 int __i__i_1; 561 561 }; 562 562 static inline void ___constructor__F_R14s__anonymous20_autogen___1(struct __anonymous20 *___dst__R14s__anonymous20_1); … … 579 579 return ((struct __anonymous20 )___ret__14s__anonymous20_1); 580 580 } 581 static inline void ___constructor__F_R14s__anonymous20i_autogen___1(struct __anonymous20 *___dst__R14s__anonymous20_1, signedint __i__i_1){581 static inline void ___constructor__F_R14s__anonymous20i_autogen___1(struct __anonymous20 *___dst__R14s__anonymous20_1, int __i__i_1){ 582 582 ((void)((*___dst__R14s__anonymous20_1).__i__i_1=__i__i_1) /* ?{} */); 583 583 } 584 584 static inline volatile const struct __anonymous20 __f35__FCV14s__anonymous20___1(); 585 585 struct __anonymous21 { 586 signedint __i__i_1;586 int __i__i_1; 587 587 }; 588 588 static inline void ___constructor__F_R14s__anonymous21_autogen___1(struct __anonymous21 *___dst__R14s__anonymous21_1); … … 605 605 return ((struct __anonymous21 )___ret__14s__anonymous21_1); 606 606 } 607 static inline void ___constructor__F_R14s__anonymous21i_autogen___1(struct __anonymous21 *___dst__R14s__anonymous21_1, signedint __i__i_1){607 static inline void ___constructor__F_R14s__anonymous21i_autogen___1(struct __anonymous21 *___dst__R14s__anonymous21_1, int __i__i_1){ 608 608 ((void)((*___dst__R14s__anonymous21_1).__i__i_1=__i__i_1) /* ?{} */); 609 609 } 610 610 static inline volatile const struct __anonymous21 __f36__FCV14s__anonymous21___1(); 611 611 struct __anonymous22 { 612 signedint __i__i_1;612 int __i__i_1; 613 613 }; 614 614 static inline void ___constructor__F_R14s__anonymous22_autogen___1(struct __anonymous22 *___dst__R14s__anonymous22_1); … … 631 631 return ((struct __anonymous22 )___ret__14s__anonymous22_1); 632 632 } 633 static inline void ___constructor__F_R14s__anonymous22i_autogen___1(struct __anonymous22 *___dst__R14s__anonymous22_1, signedint __i__i_1){633 static inline void ___constructor__F_R14s__anonymous22i_autogen___1(struct __anonymous22 *___dst__R14s__anonymous22_1, int __i__i_1){ 634 634 ((void)((*___dst__R14s__anonymous22_1).__i__i_1=__i__i_1) /* ?{} */); 635 635 } 636 636 static inline volatile const struct __anonymous22 __f37__FCV14s__anonymous22___1(); 637 637 struct __anonymous23 { 638 signedint __i__i_1;638 int __i__i_1; 639 639 }; 640 640 static inline void ___constructor__F_R14s__anonymous23_autogen___1(struct __anonymous23 *___dst__R14s__anonymous23_1); … … 657 657 return ((struct __anonymous23 )___ret__14s__anonymous23_1); 658 658 } 659 static inline void ___constructor__F_R14s__anonymous23i_autogen___1(struct __anonymous23 *___dst__R14s__anonymous23_1, signedint __i__i_1){659 static inline void ___constructor__F_R14s__anonymous23i_autogen___1(struct __anonymous23 *___dst__R14s__anonymous23_1, int __i__i_1){ 660 660 ((void)((*___dst__R14s__anonymous23_1).__i__i_1=__i__i_1) /* ?{} */); 661 661 } 662 662 static inline volatile const struct __anonymous23 __f38__FCV14s__anonymous23___1(); 663 static inline volatile const s igned short int __f41__FCVs___1();664 static inline volatile const s igned short int __f42__FCVs___1();665 static inline volatile const s igned short int __f43__FCVs___1();666 static inline volatile const s igned short int __f44__FCVs___1();667 static inline volatile const s igned short int __f45__FCVs___1();668 static inline volatile const s igned short int __f46__FCVs___1();669 static inline volatile const s igned short int __f47__FCVs___1();670 static inline volatile const s igned short int __f48__FCVs___1();671 signed int __main__Fi_iPPCc__1(signedint __argc__i_1, const char **__argv__PPCc_1){672 __attribute__ ((unused)) signedint ___retval_main__i_1;673 ((void)(___retval_main__i_1=(( signedint )0)) /* ?{} */);674 return (( signedint )___retval_main__i_1);663 static inline volatile const short __f41__FCVs___1(); 664 static inline volatile const short __f42__FCVs___1(); 665 static inline volatile const short __f43__FCVs___1(); 666 static inline volatile const short __f44__FCVs___1(); 667 static inline volatile const short __f45__FCVs___1(); 668 static inline volatile const short __f46__FCVs___1(); 669 static inline volatile const short __f47__FCVs___1(); 670 static inline volatile const short __f48__FCVs___1(); 671 int __main__Fi_iPPCc__1(int __argc__i_1, const char **__argv__PPCc_1){ 672 __attribute__ ((unused)) int ___retval_main__i_1; 673 ((void)(___retval_main__i_1=((int )0)) /* ?{} */); 674 return ((int )___retval_main__i_1); 675 675 ((void)(___retval_main__i_1=0) /* ?{} */); 676 return (( signedint )___retval_main__i_1);676 return ((int )___retval_main__i_1); 677 677 } 678 678 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); } … … 680 680 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 681 681 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 682 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));683 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);684 extern signedint printf(const char *__restrict __format, ...);685 static inline signed int invoke_main(signedint argc, char **argv, char **envp);686 signed int main(signedint __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){687 __attribute__ ((unused)) signedint ___retval_main__i_1;688 signedint _tmp_cp_ret0;682 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 683 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 684 extern int printf(const char *__restrict __format, ...); 685 static inline int invoke_main(int argc, char **argv, char **envp); 686 int main(int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ 687 __attribute__ ((unused)) int ___retval_main__i_1; 688 int _tmp_cp_ret0; 689 689 ((void)(___retval_main__i_1=(((void)(_tmp_cp_ret0=invoke_main(__argc__i_1, __argv__PPc_1, __envp__PPc_1))) , _tmp_cp_ret0)) /* ?{} */); 690 690 ((void)(_tmp_cp_ret0) /* ^?{} */); 691 return (( signedint )___retval_main__i_1);692 } 691 return ((int )___retval_main__i_1); 692 } -
src/tests/.expect/32/extension.txt
r982832e re3e16bc 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 __extension__ signedint __a__i_1;8 __extension__ signedint __b__i_1;9 __extension__ signedint __c__i_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 __extension__ int __a__i_1; 8 __extension__ int __b__i_1; 9 __extension__ int __c__i_1; 10 10 __extension__ struct S { 11 __extension__ signedint __a__i_1;12 __extension__ signedint __b__i_1;13 __extension__ signedint __c__i_1;11 __extension__ int __a__i_1; 12 __extension__ int __b__i_1; 13 __extension__ int __c__i_1; 14 14 }; 15 15 static inline void ___constructor__F_R2sS_autogen___1(struct S *___dst__R2sS_1); … … 40 40 return ((struct S )___ret__2sS_1); 41 41 } 42 static inline void ___constructor__F_R2sSi_autogen___1(struct S *___dst__R2sS_1, signedint __a__i_1){42 static inline void ___constructor__F_R2sSi_autogen___1(struct S *___dst__R2sS_1, int __a__i_1){ 43 43 ((void)((*___dst__R2sS_1).__a__i_1=__a__i_1) /* ?{} */); 44 44 ((void)((*___dst__R2sS_1).__b__i_1) /* ?{} */); 45 45 ((void)((*___dst__R2sS_1).__c__i_1) /* ?{} */); 46 46 } 47 static inline void ___constructor__F_R2sSii_autogen___1(struct S *___dst__R2sS_1, signed int __a__i_1, signedint __b__i_1){47 static inline void ___constructor__F_R2sSii_autogen___1(struct S *___dst__R2sS_1, int __a__i_1, int __b__i_1){ 48 48 ((void)((*___dst__R2sS_1).__a__i_1=__a__i_1) /* ?{} */); 49 49 ((void)((*___dst__R2sS_1).__b__i_1=__b__i_1) /* ?{} */); 50 50 ((void)((*___dst__R2sS_1).__c__i_1) /* ?{} */); 51 51 } 52 static inline void ___constructor__F_R2sSiii_autogen___1(struct S *___dst__R2sS_1, signed int __a__i_1, signed int __b__i_1, signedint __c__i_1){52 static inline void ___constructor__F_R2sSiii_autogen___1(struct S *___dst__R2sS_1, int __a__i_1, int __b__i_1, int __c__i_1){ 53 53 ((void)((*___dst__R2sS_1).__a__i_1=__a__i_1) /* ?{} */); 54 54 ((void)((*___dst__R2sS_1).__b__i_1=__b__i_1) /* ?{} */); … … 56 56 } 57 57 __extension__ union U { 58 __extension__ signedint __a__i_1;59 __extension__ signedint __b__i_1;60 __extension__ signedint __c__i_1;58 __extension__ int __a__i_1; 59 __extension__ int __b__i_1; 60 __extension__ int __c__i_1; 61 61 }; 62 62 static inline void ___constructor__F_R2uU_autogen___1(__attribute__ ((unused)) union U *___dst__R2uU_1){ … … 73 73 return ((union U )___ret__2uU_1); 74 74 } 75 static inline void ___constructor__F_R2uUi_autogen___1(__attribute__ ((unused)) union U *___dst__R2uU_1, signedint __src__i_1){76 ((void)__builtin_memcpy(((void *)___dst__R2uU_1), ((const void *)(&__src__i_1)), sizeof( signedint )));75 static inline void ___constructor__F_R2uUi_autogen___1(__attribute__ ((unused)) union U *___dst__R2uU_1, int __src__i_1){ 76 ((void)__builtin_memcpy(((void *)___dst__R2uU_1), ((const void *)(&__src__i_1)), sizeof(int ))); 77 77 } 78 78 __extension__ enum E { … … 81 81 __B__C2eE_1, 82 82 }; 83 __extension__ signedint __f__Fi___1();84 __extension__ signedint i;85 __extension__ signedint j;86 __extension__ signed int __fred__Fi_i__1(signedint __p__i_1){87 __attribute__ ((unused)) signedint ___retval_fred__i_1;83 __extension__ int __f__Fi___1(); 84 __extension__ int i; 85 __extension__ int j; 86 __extension__ int __fred__Fi_i__1(int __p__i_1){ 87 __attribute__ ((unused)) int ___retval_fred__i_1; 88 88 __extension__ struct S { 89 __extension__ signedint __a__i_2;90 __extension__ signedint __b__i_2;91 __extension__ signedint __c__i_2;92 __extension__ signedint *__x__Pi_2;93 __extension__ signedint *__y__Pi_2;94 __extension__ signedint *__z__Pi_2;89 __extension__ int __a__i_2; 90 __extension__ int __b__i_2; 91 __extension__ int __c__i_2; 92 __extension__ int *__x__Pi_2; 93 __extension__ int *__y__Pi_2; 94 __extension__ int *__z__Pi_2; 95 95 }; 96 signed int __i__i_2 = ((signedint )(__extension__ __a__i_1+__extension__ 3));96 int __i__i_2 = ((int )(__extension__ __a__i_1+__extension__ 3)); 97 97 ((void)__extension__ 3); 98 98 ((void)__extension__ __a__i_1); 99 __extension__ signedint __a__i_2;100 __extension__ signedint __b__i_2;101 __extension__ signedint __c__i_2;99 __extension__ int __a__i_2; 100 __extension__ int __b__i_2; 101 __extension__ int __c__i_2; 102 102 ((void)(__extension__ __a__i_2=(__extension__ __b__i_2+__extension__ __c__i_2))); 103 signedint _tmp_cp_ret0;103 int _tmp_cp_ret0; 104 104 ((void)(((void)(_tmp_cp_ret0=__extension__ __fred__Fi_i__1(3))) , _tmp_cp_ret0)); 105 105 ((void)(_tmp_cp_ret0) /* ^?{} */); 106 __extension__ signed int __mary__Fi_i__2(signedint __p__i_2){107 __attribute__ ((unused)) signedint ___retval_mary__i_2;106 __extension__ int __mary__Fi_i__2(int __p__i_2){ 107 __attribute__ ((unused)) int ___retval_mary__i_2; 108 108 } 109 109 ((void)__extension__ sizeof(3)); 110 ((void)__extension__ ((( signed int )(3!=((signed int )0))) || ((signed int )(4!=((signedint )0)))));110 ((void)__extension__ (((int )(3!=((int )0))) || ((int )(4!=((int )0))))); 111 111 ((void)__extension__ __alignof__(__extension__ __a__i_2)); 112 ((void)((( signed int )(__extension__ __a__i_2!=((signed int )0))) || ((signed int )((((signed int )(__extension__ __b__i_2!=((signed int )0))) && ((signed int )(__extension__ __c__i_2!=((signed int )0))))!=((signedint )0)))));113 ((void)((( signed int )((__extension__ __a__i_2>__extension__ __b__i_2)!=((signedint )0))) ? __extension__ __c__i_2 : __extension__ __c__i_2));112 ((void)(((int )(__extension__ __a__i_2!=((int )0))) || ((int )((((int )(__extension__ __b__i_2!=((int )0))) && ((int )(__extension__ __c__i_2!=((int )0))))!=((int )0))))); 113 ((void)(((int )((__extension__ __a__i_2>__extension__ __b__i_2)!=((int )0))) ? __extension__ __c__i_2 : __extension__ __c__i_2)); 114 114 ((void)(__extension__ __a__i_2=__extension__ (__extension__ __b__i_2+__extension__ __c__i_2))); 115 115 ((void)(((void)(((void)__extension__ __a__i_2) , __extension__ __b__i_2)) , __extension__ __c__i_2)); -
src/tests/.expect/32/gccExtensions.txt
r982832e re3e16bc 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 extern signedint __x__i_1 asm ( "xx" );8 signed int __main__Fi_iPPCc__1(signedint __argc__i_1, const char **__argv__PPCc_1){9 __attribute__ ((unused)) signedint ___retval_main__i_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 extern int __x__i_1 asm ( "xx" ); 8 int __main__Fi_iPPCc__1(int __argc__i_1, const char **__argv__PPCc_1){ 9 __attribute__ ((unused)) int ___retval_main__i_1; 10 10 asm ( "nop" : : : ); 11 11 asm ( "nop" : : : ); 12 12 asm ( "nop" : : : ); 13 static signedint __y__i_2 asm ( "yy" );14 static signedint *__z__Pi_2 asm ( "zz" );15 signedint __src__i_2;16 signedint __dst__i_2;17 asm volatile ( "mov %1, %0\n\t " "add $1, %0" : : : );18 asm volatile ( "mov %1, %0\n\t " "add $1, %0" : "=" "r" ( __dst__i_2 ) : : );19 asm volatile ( "mov %1, %0\n\t " "add $1, %0" : "=r" ( __dst__i_2 ) : "r" ( __src__i_2 ) : );20 asm ( "mov %1, %0\n\t " "add $1, %0" : "=r" ( __dst__i_2 ), "=r" ( __src__i_2 ) : [ __src__i_2 ] "r" ( __dst__i_2 ) : "r0" );13 static int __y__i_2 asm ( "yy" ); 14 static int *__z__Pi_2 asm ( "zz" ); 15 int __src__i_2; 16 int __dst__i_2; 17 asm volatile ( "mov %1, %0\n\tadd $1, %0" : : : ); 18 asm volatile ( "mov %1, %0\n\tadd $1, %0" : "=r" ( __dst__i_2 ) : : ); 19 asm volatile ( "mov %1, %0\n\tadd $1, %0" : "=r" ( __dst__i_2 ) : "r" ( __src__i_2 ) : ); 20 asm ( "mov %1, %0\n\tadd $1, %0" : "=r" ( __dst__i_2 ), "=r" ( __src__i_2 ) : [ __src__i_2 ] "r" ( __dst__i_2 ) : "r0" ); 21 21 L2: L1: asm goto ( "frob %%r5, %1; jc %l[L1]; mov (%2), %%r5" : : "r" ( __src__i_2 ), "r" ( (&__dst__i_2) ) : "r5", "memory" : L1, L2 ); 22 22 double _Complex __c1__Xd_2; 23 23 double _Complex __c2__Xd_2; 24 const signedint __i1__Ci_2;25 const signedint __i2__Ci_2;26 const signedint __i3__Ci_2;27 inline signedint __f1__Fi___2(){28 __attribute__ ((unused)) signedint ___retval_f1__i_2;24 const int __i1__Ci_2; 25 const int __i2__Ci_2; 26 const int __i3__Ci_2; 27 inline int __f1__Fi___2(){ 28 __attribute__ ((unused)) int ___retval_f1__i_2; 29 29 } 30 inline signedint __f2__Fi___2(){31 __attribute__ ((unused)) signedint ___retval_f2__i_2;30 inline int __f2__Fi___2(){ 31 __attribute__ ((unused)) int ___retval_f2__i_2; 32 32 } 33 signedint __s1__i_2;34 signedint __s2__i_2;35 volatile signedint __v1__Vi_2;36 volatile signedint __v2__Vi_2;37 signedint __t1___2;38 signedint __t2___2;39 __extension__ const signedint __ex__Ci_2;33 int __s1__i_2; 34 int __s2__i_2; 35 volatile int __v1__Vi_2; 36 volatile int __v2__Vi_2; 37 int __t1___2; 38 int __t2___2; 39 __extension__ const int __ex__Ci_2; 40 40 struct S { 41 __extension__ signedint __a__i_2;42 __extension__ signedint __b__i_2;43 __extension__ signedint __c__i_2;41 __extension__ int __a__i_2; 42 __extension__ int __b__i_2; 43 __extension__ int __c__i_2; 44 44 }; 45 45 inline void ___constructor__F_R2sS_autogen___2(struct S *___dst__R2sS_2){ … … 66 66 return ((struct S )___ret__2sS_2); 67 67 } 68 inline void ___constructor__F_R2sSi_autogen___2(struct S *___dst__R2sS_2, signedint __a__i_2){68 inline void ___constructor__F_R2sSi_autogen___2(struct S *___dst__R2sS_2, int __a__i_2){ 69 69 ((void)((*___dst__R2sS_2).__a__i_2=__a__i_2) /* ?{} */); 70 70 ((void)((*___dst__R2sS_2).__b__i_2) /* ?{} */); 71 71 ((void)((*___dst__R2sS_2).__c__i_2) /* ?{} */); 72 72 } 73 inline void ___constructor__F_R2sSii_autogen___2(struct S *___dst__R2sS_2, signed int __a__i_2, signedint __b__i_2){73 inline void ___constructor__F_R2sSii_autogen___2(struct S *___dst__R2sS_2, int __a__i_2, int __b__i_2){ 74 74 ((void)((*___dst__R2sS_2).__a__i_2=__a__i_2) /* ?{} */); 75 75 ((void)((*___dst__R2sS_2).__b__i_2=__b__i_2) /* ?{} */); 76 76 ((void)((*___dst__R2sS_2).__c__i_2) /* ?{} */); 77 77 } 78 inline void ___constructor__F_R2sSiii_autogen___2(struct S *___dst__R2sS_2, signed int __a__i_2, signed int __b__i_2, signedint __c__i_2){78 inline void ___constructor__F_R2sSiii_autogen___2(struct S *___dst__R2sS_2, int __a__i_2, int __b__i_2, int __c__i_2){ 79 79 ((void)((*___dst__R2sS_2).__a__i_2=__a__i_2) /* ?{} */); 80 80 ((void)((*___dst__R2sS_2).__b__i_2=__b__i_2) /* ?{} */); 81 81 ((void)((*___dst__R2sS_2).__c__i_2=__c__i_2) /* ?{} */); 82 82 } 83 signed int __i__i_2 = ((signedint )__extension__ 3);84 __extension__ signedint __a__i_2;85 __extension__ signedint __b__i_2;86 __extension__ signedint __c__i_2;83 int __i__i_2 = ((int )__extension__ 3); 84 __extension__ int __a__i_2; 85 __extension__ int __b__i_2; 86 __extension__ int __c__i_2; 87 87 ((void)(((void)(((void)__extension__ __a__i_2) , __extension__ __b__i_2)) , __extension__ __c__i_2)); 88 88 ((void)(__extension__ __a__i_2=(__extension__ __b__i_2+__extension__ __c__i_2))); 89 89 ((void)(__extension__ __a__i_2=__extension__ (__extension__ __b__i_2+__extension__ __c__i_2))); 90 signedint __a1__i_2;91 const signedint __a2__Ci_2;92 static const signedint __a3__Ci_2;93 static const signedint __a4__Ci_2;94 static const signedint __a5__Ci_2;95 static const signedint __a6__Ci_2;96 static const signedint __a7__Ci_2;97 signedint *__p1__Pi_2;98 signedint *__p2__Pi_2;90 int __a1__i_2; 91 const int __a2__Ci_2; 92 static const int __a3__Ci_2; 93 static const int __a4__Ci_2; 94 static const int __a5__Ci_2; 95 static const int __a6__Ci_2; 96 static const int __a7__Ci_2; 97 int *__p1__Pi_2; 98 int *__p2__Pi_2; 99 99 struct s1; 100 100 struct s2 { 101 signedint __i__i_2;101 int __i__i_2; 102 102 }; 103 103 inline void ___constructor__F_R3ss2_autogen___2(struct s2 *___dst__R3ss2_2){ … … 116 116 return ((struct s2 )___ret__3ss2_2); 117 117 } 118 inline void ___constructor__F_R3ss2i_autogen___2(struct s2 *___dst__R3ss2_2, signedint __i__i_2){118 inline void ___constructor__F_R3ss2i_autogen___2(struct s2 *___dst__R3ss2_2, int __i__i_2){ 119 119 ((void)((*___dst__R3ss2_2).__i__i_2=__i__i_2) /* ?{} */); 120 120 } 121 121 struct s3 { 122 signedint __i__i_2;122 int __i__i_2; 123 123 }; 124 124 inline void ___constructor__F_R3ss3_autogen___2(struct s3 *___dst__R3ss3_2){ … … 137 137 return ((struct s3 )___ret__3ss3_2); 138 138 } 139 inline void ___constructor__F_R3ss3i_autogen___2(struct s3 *___dst__R3ss3_2, signedint __i__i_2){139 inline void ___constructor__F_R3ss3i_autogen___2(struct s3 *___dst__R3ss3_2, int __i__i_2){ 140 140 ((void)((*___dst__R3ss3_2).__i__i_2=__i__i_2) /* ?{} */); 141 141 } … … 143 143 struct s3 __y1__3ss3_2; 144 144 struct s4 { 145 signedint __i__i_2;145 int __i__i_2; 146 146 }; 147 147 inline void ___constructor__F_R3ss4_autogen___2(struct s4 *___dst__R3ss4_2){ … … 160 160 return ((struct s4 )___ret__3ss4_2); 161 161 } 162 inline void ___constructor__F_R3ss4i_autogen___2(struct s4 *___dst__R3ss4_2, signedint __i__i_2){162 inline void ___constructor__F_R3ss4i_autogen___2(struct s4 *___dst__R3ss4_2, int __i__i_2){ 163 163 ((void)((*___dst__R3ss4_2).__i__i_2=__i__i_2) /* ?{} */); 164 164 } 165 165 struct s4 __x2__3ss4_2; 166 166 struct s4 __y2__3ss4_2; 167 signedint __m1__A0i_2[((unsigned int )10)];168 signedint __m2__A0A0i_2[((unsigned int )10)][((unsigned int )10)];169 signedint __m3__A0A0i_2[((unsigned int )10)][((unsigned int )10)];170 ((void)(___retval_main__i_1=(( signedint )0)) /* ?{} */);171 return (( signedint )___retval_main__i_1);167 int __m1__A0i_2[((unsigned int )10)]; 168 int __m2__A0A0i_2[((unsigned int )10)][((unsigned int )10)]; 169 int __m3__A0A0i_2[((unsigned int )10)][((unsigned int )10)]; 170 ((void)(___retval_main__i_1=((int )0)) /* ?{} */); 171 return ((int )___retval_main__i_1); 172 172 ((void)(___retval_main__i_1=0) /* ?{} */); 173 return (( signedint )___retval_main__i_1);173 return ((int )___retval_main__i_1); 174 174 } 175 175 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); } … … 177 177 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 178 178 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 179 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));180 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);181 extern signedint printf(const char *__restrict __format, ...);182 static inline signed int invoke_main(signedint argc, char **argv, char **envp);183 signed int main(signedint __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){184 __attribute__ ((unused)) signedint ___retval_main__i_1;185 signedint _tmp_cp_ret0;179 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 180 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 181 extern int printf(const char *__restrict __format, ...); 182 static inline int invoke_main(int argc, char **argv, char **envp); 183 int main(int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ 184 __attribute__ ((unused)) int ___retval_main__i_1; 185 int _tmp_cp_ret0; 186 186 ((void)(___retval_main__i_1=(((void)(_tmp_cp_ret0=invoke_main(__argc__i_1, __argv__PPc_1, __envp__PPc_1))) , _tmp_cp_ret0)) /* ?{} */); 187 187 ((void)(_tmp_cp_ret0) /* ^?{} */); 188 return (( signedint )___retval_main__i_1);188 return ((int )___retval_main__i_1); 189 189 } -
src/tests/.expect/64/KRfunctions.txt
r982832e re3e16bc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc( unsigned longint __size);1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(long unsigned int __size); 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 signed int __f0__Fi_iPCii__1(signed int __a__i_1, const signed int *__b__PCi_1, signedint __c__i_1){8 __attribute__ ((unused)) signedint ___retval_f0__i_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 int __f0__Fi_iPCii__1(int __a__i_1, const int *__b__PCi_1, int __c__i_1){ 8 __attribute__ ((unused)) int ___retval_f0__i_1; 9 9 } 10 signed int __f1__Fi_PiiPi__1(signed int *__a__Pi_1, __attribute__ ((unused)) signed int __b__i_1, signedint *__c__Pi_1){11 __attribute__ ((unused)) signedint ___retval_f1__i_1;10 int __f1__Fi_PiiPi__1(int *__a__Pi_1, __attribute__ ((unused)) int __b__i_1, int *__c__Pi_1){ 11 __attribute__ ((unused)) int ___retval_f1__i_1; 12 12 } 13 signed int __f2__Fi_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1){14 __attribute__ ((unused)) signedint ___retval_f2__i_1;13 int __f2__Fi_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1){ 14 __attribute__ ((unused)) int ___retval_f2__i_1; 15 15 } 16 16 struct S { 17 signedint __i__i_1;17 int __i__i_1; 18 18 }; 19 19 static inline void ___constructor__F_R2sS_autogen___1(struct S *___dst__R2sS_1); … … 36 36 return ((struct S )___ret__2sS_1); 37 37 } 38 static inline void ___constructor__F_R2sSi_autogen___1(struct S *___dst__R2sS_1, signedint __i__i_1){38 static inline void ___constructor__F_R2sSi_autogen___1(struct S *___dst__R2sS_1, int __i__i_1){ 39 39 ((void)((*___dst__R2sS_1).__i__i_1=__i__i_1) /* ?{} */); 40 40 } 41 signed int __f3__Fi_2sS2sSPi__1(struct S __a__2sS_1, struct S __b__2sS_1, signedint *__c__Pi_1){42 __attribute__ ((unused)) signedint ___retval_f3__i_1;41 int __f3__Fi_2sS2sSPi__1(struct S __a__2sS_1, struct S __b__2sS_1, int *__c__Pi_1){ 42 __attribute__ ((unused)) int ___retval_f3__i_1; 43 43 struct S __s__2sS_2; 44 44 } 45 signed int __f4__Fi_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1){46 __attribute__ ((unused)) signedint ___retval_f4__i_1;45 int __f4__Fi_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1){ 46 __attribute__ ((unused)) int ___retval_f4__i_1; 47 47 } 48 signed int __f5__Fi_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1){49 __attribute__ ((unused)) signedint ___retval_f5__i_1;48 int __f5__Fi_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1){ 49 __attribute__ ((unused)) int ___retval_f5__i_1; 50 50 } 51 signed int (*__f6__FPFi_i__iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1))(signedint __anonymous_object0){52 __attribute__ ((unused)) signed int (*___retval_f6__PFi_i__1)(signedint __anonymous_object1);51 int (*__f6__FPFi_i__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int __anonymous_object0){ 52 __attribute__ ((unused)) int (*___retval_f6__PFi_i__1)(int __anonymous_object1); 53 53 } 54 signed int (*__f7__FPFi_ii__iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1))(signed int __a__i_1, signedint __b__i_1){55 __attribute__ ((unused)) signed int (*___retval_f7__PFi_ii__1)(signed int __a__i_1, signedint __b__i_1);54 int (*__f7__FPFi_ii__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int __a__i_1, int __b__i_1){ 55 __attribute__ ((unused)) int (*___retval_f7__PFi_ii__1)(int __a__i_1, int __b__i_1); 56 56 } 57 signed int *__f8__FPi_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1){58 __attribute__ ((unused)) signedint *___retval_f8__Pi_1;57 int *__f8__FPi_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1){ 58 __attribute__ ((unused)) int *___retval_f8__Pi_1; 59 59 } 60 signed int *const __f9__FCPi_PiiPi__1(signed int *__a__Pi_1, signed int __b__i_1, signedint *__c__Pi_1){61 __attribute__ ((unused)) signedint *const ___retval_f9__CPi_1;60 int *const __f9__FCPi_PiiPi__1(int *__a__Pi_1, int __b__i_1, int *__c__Pi_1){ 61 __attribute__ ((unused)) int *const ___retval_f9__CPi_1; 62 62 } 63 signed int *(*__f10__FPFPi_ii__iPiPid__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1, double __y__d_1))(signed int __x__i_1, signedint __y__i_1){64 __attribute__ ((unused)) signed int *(*___retval_f10__PFPi_ii__1)(signed int __x__i_1, signedint __y__i_1);65 signed int *__x__FPi_ii__2(signed int __anonymous_object2, signedint __anonymous_object3);63 int *(*__f10__FPFPi_ii__iPiPid__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1, double __y__d_1))(int __x__i_1, int __y__i_1){ 64 __attribute__ ((unused)) int *(*___retval_f10__PFPi_ii__1)(int __x__i_1, int __y__i_1); 65 int *__x__FPi_ii__2(int __anonymous_object2, int __anonymous_object3); 66 66 ((void)(___retval_f10__PFPi_ii__1=__x__FPi_ii__2) /* ?{} */); 67 return (( signed int *(*)(signed int __x__i_1, signedint __y__i_1))___retval_f10__PFPi_ii__1);67 return ((int *(*)(int __x__i_1, int __y__i_1))___retval_f10__PFPi_ii__1); 68 68 } 69 signed int (*__f11__FPA0i_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signedint *__c__Pi_1))[]{70 __attribute__ ((unused)) signedint (*___retval_f11__PA0i_1)[];69 int (*__f11__FPA0i_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))[]{ 70 __attribute__ ((unused)) int (*___retval_f11__PA0i_1)[]; 71 71 } 72 signed int (*__f12__FPA0A0i_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1))[][((unsigned longint )10)]{73 __attribute__ ((unused)) signed int (*___retval_f12__PA0A0i_1)[][((unsigned longint )10)];72 int (*__f12__FPA0A0i_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))[][((long unsigned int )10)]{ 73 __attribute__ ((unused)) int (*___retval_f12__PA0A0i_1)[][((long unsigned int )10)]; 74 74 } 75 signed int (*__f13__FPA0A0i_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1))[][((unsigned longint )10)]{76 __attribute__ ((unused)) signed int (*___retval_f13__PA0A0i_1)[][((unsigned longint )10)];75 int (*__f13__FPA0A0i_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))[][((long unsigned int )10)]{ 76 __attribute__ ((unused)) int (*___retval_f13__PA0A0i_1)[][((long unsigned int )10)]; 77 77 } 78 signed int (*__f14__FPA0A0i_iPiPi__1(signed int __a__i_1, signed int *__b__Pi_1, signed int *__c__Pi_1))[][((unsigned longint )10)]{79 __attribute__ ((unused)) signed int (*___retval_f14__PA0A0i_1)[][((unsigned longint )10)];78 int (*__f14__FPA0A0i_iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))[][((long unsigned int )10)]{ 79 __attribute__ ((unused)) int (*___retval_f14__PA0A0i_1)[][((long unsigned int )10)]; 80 80 } 81 signed int __f15__Fi_iii__1(signed int __a__i_1, signed int __b__i_1, signedint __c__i_1){82 __attribute__ ((unused)) signedint ___retval_f15__i_1;81 int __f15__Fi_iii__1(int __a__i_1, int __b__i_1, int __c__i_1){ 82 __attribute__ ((unused)) int ___retval_f15__i_1; 83 83 } 84 const signedint __fred__FCi___1(){85 __attribute__ ((unused)) const signedint ___retval_fred__Ci_1;86 signed int *(*__x__PFPi_ii__2)(signed int __anonymous_object4, signedint __anonymous_object5);87 signedint __a__i_2;88 signedint __b__i_2;89 signed int *(*_tmp_cp_ret0)(signed int __x__i_1, signedint __y__i_1);84 const int __fred__FCi___1(){ 85 __attribute__ ((unused)) const int ___retval_fred__Ci_1; 86 int *(*__x__PFPi_ii__2)(int __anonymous_object4, int __anonymous_object5); 87 int __a__i_2; 88 int __b__i_2; 89 int *(*_tmp_cp_ret0)(int __x__i_1, int __y__i_1); 90 90 ((void)(__x__PFPi_ii__2=(((void)(_tmp_cp_ret0=__f10__FPFPi_ii__iPiPid__1(3, (&__a__i_2), (&__b__i_2), 3.5))) , _tmp_cp_ret0))); 91 91 ((void)(_tmp_cp_ret0) /* ^?{} */); 92 const signed int __f1__FCi_iPiPi__2(signed int __a__i_2, signed int *__b__Pi_2, signedint *__c__Pi_2){93 __attribute__ ((unused)) const signedint ___retval_f1__Ci_2;92 const int __f1__FCi_iPiPi__2(int __a__i_2, int *__b__Pi_2, int *__c__Pi_2){ 93 __attribute__ ((unused)) const int ___retval_f1__Ci_2; 94 94 } 95 const signed int __f2__FCi_iii__2(signed int __a__i_2, signed int __b__i_2, signedint __c__i_2){96 __attribute__ ((unused)) const signedint ___retval_f2__Ci_2;95 const int __f2__FCi_iii__2(int __a__i_2, int __b__i_2, int __c__i_2){ 96 __attribute__ ((unused)) const int ___retval_f2__Ci_2; 97 97 } 98 98 } -
src/tests/.expect/64/attributes.txt
r982832e re3e16bc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc( unsigned longint __size);1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(long unsigned int __size); 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 signedint __la__Fi___1(){8 __attribute__ ((unused)) signedint ___retval_la__i_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 int __la__Fi___1(){ 8 __attribute__ ((unused)) int ___retval_la__i_1; 9 9 L: __attribute__ ((unused)) ((void)1); 10 10 } … … 54 54 __attribute__ ((unused)) struct __anonymous3; 55 55 struct Fdl { 56 __attribute__ ((unused)) signedint __f1__i_1;57 __attribute__ ((unused)) signedint __f2__i_1;58 __attribute__ ((unused,unused)) signedint __f3__i_1;59 __attribute__ ((unused)) signedint __f4__i_1;60 __attribute__ ((unused,unused)) signedint __f5__i_1;61 __attribute__ ((used,packed)) signedint __f6__i_1;62 __attribute__ ((used,unused,unused)) signedint __f7__i_1;63 __attribute__ ((used,used,unused)) signedint __f8__i_1;64 __attribute__ ((unused)) signedint __anonymous_object0;65 __attribute__ ((unused,unused)) signedint *__f9__Pi_1;56 __attribute__ ((unused)) int __f1__i_1; 57 __attribute__ ((unused)) int __f2__i_1; 58 __attribute__ ((unused,unused)) int __f3__i_1; 59 __attribute__ ((unused)) int __f4__i_1; 60 __attribute__ ((unused,unused)) int __f5__i_1; 61 __attribute__ ((used,packed)) int __f6__i_1; 62 __attribute__ ((used,unused,unused)) int __f7__i_1; 63 __attribute__ ((used,used,unused)) int __f8__i_1; 64 __attribute__ ((unused)) int __anonymous_object0; 65 __attribute__ ((unused,unused)) int *__f9__Pi_1; 66 66 }; 67 67 static inline void ___constructor__F_R4sFdl_autogen___1(struct Fdl *___dst__R4sFdl_1); … … 116 116 return ((struct Fdl )___ret__4sFdl_1); 117 117 } 118 static inline void ___constructor__F_R4sFdli_autogen___1(struct Fdl *___dst__R4sFdl_1, signedint __f1__i_1){118 static inline void ___constructor__F_R4sFdli_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1){ 119 119 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 120 120 ((void)((*___dst__R4sFdl_1).__f2__i_1) /* ?{} */); … … 127 127 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 128 128 } 129 static inline void ___constructor__F_R4sFdlii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signedint __f2__i_1){129 static inline void ___constructor__F_R4sFdlii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1){ 130 130 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 131 131 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 138 138 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 139 139 } 140 static inline void ___constructor__F_R4sFdliii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signedint __f3__i_1){140 static inline void ___constructor__F_R4sFdliii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1){ 141 141 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 142 142 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 149 149 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 150 150 } 151 static inline void ___constructor__F_R4sFdliiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signedint __f4__i_1){152 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 153 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); 154 ((void)((*___dst__R4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */); 155 ((void)((*___dst__R4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */); 156 ((void)((*___dst__R4sFdl_1).__f5__i_1) /* ?{} */); 157 ((void)((*___dst__R4sFdl_1).__f6__i_1) /* ?{} */); 158 ((void)((*___dst__R4sFdl_1).__f7__i_1) /* ?{} */); 159 ((void)((*___dst__R4sFdl_1).__f8__i_1) /* ?{} */); 160 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 161 } 162 static inline void ___constructor__F_R4sFdliiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signedint __f5__i_1){163 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 164 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); 165 ((void)((*___dst__R4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */); 166 ((void)((*___dst__R4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */); 167 ((void)((*___dst__R4sFdl_1).__f5__i_1=__f5__i_1) /* ?{} */); 168 ((void)((*___dst__R4sFdl_1).__f6__i_1) /* ?{} */); 169 ((void)((*___dst__R4sFdl_1).__f7__i_1) /* ?{} */); 170 ((void)((*___dst__R4sFdl_1).__f8__i_1) /* ?{} */); 171 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 172 } 173 static inline void ___constructor__F_R4sFdliiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signed int __f5__i_1, signedint __f6__i_1){151 static inline void ___constructor__F_R4sFdliiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1){ 152 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 153 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); 154 ((void)((*___dst__R4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */); 155 ((void)((*___dst__R4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */); 156 ((void)((*___dst__R4sFdl_1).__f5__i_1) /* ?{} */); 157 ((void)((*___dst__R4sFdl_1).__f6__i_1) /* ?{} */); 158 ((void)((*___dst__R4sFdl_1).__f7__i_1) /* ?{} */); 159 ((void)((*___dst__R4sFdl_1).__f8__i_1) /* ?{} */); 160 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 161 } 162 static inline void ___constructor__F_R4sFdliiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1){ 163 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 164 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); 165 ((void)((*___dst__R4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */); 166 ((void)((*___dst__R4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */); 167 ((void)((*___dst__R4sFdl_1).__f5__i_1=__f5__i_1) /* ?{} */); 168 ((void)((*___dst__R4sFdl_1).__f6__i_1) /* ?{} */); 169 ((void)((*___dst__R4sFdl_1).__f7__i_1) /* ?{} */); 170 ((void)((*___dst__R4sFdl_1).__f8__i_1) /* ?{} */); 171 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 172 } 173 static inline void ___constructor__F_R4sFdliiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1, int __f6__i_1){ 174 174 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 175 175 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 182 182 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 183 183 } 184 static inline void ___constructor__F_R4sFdliiiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signed int __f5__i_1, signed int __f6__i_1, signedint __f7__i_1){184 static inline void ___constructor__F_R4sFdliiiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1, int __f6__i_1, int __f7__i_1){ 185 185 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 186 186 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 193 193 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 194 194 } 195 static inline void ___constructor__F_R4sFdliiiiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signed int __f5__i_1, signed int __f6__i_1, signed int __f7__i_1, signedint __f8__i_1){195 static inline void ___constructor__F_R4sFdliiiiiiii_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1, int __f6__i_1, int __f7__i_1, int __f8__i_1){ 196 196 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 197 197 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 204 204 ((void)((*___dst__R4sFdl_1).__f9__Pi_1) /* ?{} */); 205 205 } 206 static inline void ___constructor__F_R4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__R4sFdl_1, signed int __f1__i_1, signed int __f2__i_1, signed int __f3__i_1, signed int __f4__i_1, signed int __f5__i_1, signed int __f6__i_1, signed int __f7__i_1, signed int __f8__i_1, signedint *__f9__Pi_1){206 static inline void ___constructor__F_R4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__R4sFdl_1, int __f1__i_1, int __f2__i_1, int __f3__i_1, int __f4__i_1, int __f5__i_1, int __f6__i_1, int __f7__i_1, int __f8__i_1, int *__f9__Pi_1){ 207 207 ((void)((*___dst__R4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 208 208 ((void)((*___dst__R4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 215 215 ((void)((*___dst__R4sFdl_1).__f9__Pi_1=__f9__Pi_1) /* ?{} */); 216 216 } 217 __attribute__ ((unused)) signedint __f__Fi___1() asm ( "xyz" );218 __attribute__ ((used,used)) const signedint __vd1__Ci_1;219 __attribute__ ((used,unused)) const signedint __vd2__Ci_1;220 __attribute__ ((used,used,used,used)) const signedint *__vd3__PCi_1;221 __attribute__ ((used,used,unused,used,unused)) const signedint *__vd4__PCi_1;222 __attribute__ ((used,used,used)) const signed int __vd5__A0Ci_1[((unsigned longint )5)];223 __attribute__ ((used,used,unused,used)) const signed int __vd6__A0Ci_1[((unsigned longint )5)];224 __attribute__ ((used,used,used,used)) const signedint (*__vd7__PFCi___1)();225 __attribute__ ((used,used,unused,used,used)) const signedint (*__vd8__PFCi___1)();226 __attribute__ ((unused,used)) signedint __f1__Fi___1();227 __attribute__ ((unused)) signedint __f1__Fi___1(){228 __attribute__ ((unused)) signedint ___retval_f1__i_1;229 } 230 __attribute__ ((unused,unused,unused,used)) signedint **const __f2__FCPPi___1();231 __attribute__ ((unused,unused,unused)) signedint **const __f2__FCPPi___1(){232 __attribute__ ((unused)) signedint **const ___retval_f2__CPPi_1;233 } 234 __attribute__ ((unused,used,unused)) signed int (*__f3__FPA0i_i__1(signedint __anonymous_object1))[];235 __attribute__ ((unused,unused)) signed int (*__f3__FPA0i_i__1(signedint __p__i_1))[]{236 __attribute__ ((unused)) signedint (*___retval_f3__PA0i_1)[];237 } 238 __attribute__ ((unused,used,unused)) signed int (*__f4__FPFi_i____1())(signedint __anonymous_object2);239 __attribute__ ((unused,unused)) signed int (*__f4__FPFi_i____1())(signedint __anonymous_object3){240 __attribute__ ((unused)) signed int (*___retval_f4__PFi_i__1)(signedint __anonymous_object4);241 } 242 signedint __vtr__Fi___1(){243 __attribute__ ((unused)) signedint ___retval_vtr__i_1;244 __attribute__ ((unused,unused,used)) signedint __t1__i_2;245 __attribute__ ((unused,unused,unused,unused,unused)) signedint **__t2__PPi_2;246 __attribute__ ((unused,unused,unused)) signed int __t3__A0i_2[((unsigned longint )5)];247 __attribute__ ((unused,unused,unused,unused,unused)) signed int **__t4__A0PPi_2[((unsigned longint )5)];248 __attribute__ ((unused,unused,unused)) signedint __t5__Fi___2();249 __attribute__ ((unused,unused,unused,unused)) signedint *__t6__FPi___2();250 } 251 signed int __ipd1__Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int __p__i_1, __attribute__ ((unused,unused,unused)) signedint __q__i_1);252 signed int __ipd1__Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int __p__i_1, __attribute__ ((unused,unused,unused)) signedint __q__i_1){253 __attribute__ ((unused)) signedint ___retval_ipd1__i_1;254 } 255 signed int __ipd2__Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *__p__Pi_1, __attribute__ ((unused,unused,unused)) signedint *__q__Pi_1);256 signed int __ipd2__Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *__p__Pi_1, __attribute__ ((unused,unused,unused)) signedint *__q__Pi_1){257 __attribute__ ((unused)) signedint ___retval_ipd2__i_1;258 } 259 signed int __ipd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__p__Pi_1, __attribute__ ((unused,unused,unused)) signedint *__q__Pi_1);260 signed int __ipd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__p__Pi_1, __attribute__ ((unused,unused,unused)) signedint *__q__Pi_1){261 __attribute__ ((unused)) signedint ___retval_ipd3__i_1;262 } 263 signed int __ipd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) signed int (*__p__PFi___1)(), __attribute__ ((unused,unused,unused)) signedint (*__q__PFi___1)());264 signed int __ipd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) signed int (*__p__PFi___1)(), __attribute__ ((unused,unused,unused)) signedint (*__q__PFi___1)()){265 __attribute__ ((unused)) signedint ___retval_ipd4__i_1;266 } 267 signed int __tpr1__Fi_i__1(__attribute__ ((unused,unused,unused)) signedint __Foo__i_1);268 signed int __tpr2__Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signedint **__Foo__PPi_1);269 signed int __tpr3__Fi_Pi__1(__attribute__ ((unused,unused,unused)) signedint *__Foo__Pi_1);270 signed int __tpr4__Fi_PFi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object5)(__attribute__ ((unused,unused)) signed int __anonymous_object6[((unsigned longint )5)]));271 signed int __tpr5__Fi_PFi____1(__attribute__ ((unused,unused,unused)) signedint (*__Foo__PFi___1)());272 signed int __tpr6__Fi_PFi____1(__attribute__ ((unused,unused,unused)) signedint (*__Foo__PFi___1)());273 signed int __tpr7__Fi_PFi_PFi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object7)(__attribute__ ((unused)) signed int (*__anonymous_object8)(__attribute__ ((unused,unused)) signedint __anonymous_object9)));274 signedint __ad__Fi___1(){275 __attribute__ ((unused)) signedint ___retval_ad__i_1;276 __attribute__ ((used,unused)) signedint __ad1__i_2;277 __attribute__ ((unused,unused,unused)) signedint *__ad2__Pi_2;278 __attribute__ ((unused,unused,unused)) signed int __ad3__A0i_2[((unsigned longint )5)];279 __attribute__ ((unused,unused,unused,unused,unused)) signed int (*__ad4__PA0i_2)[((unsigned longint )10)];280 __attribute__ ((unused,unused,unused,unused,used)) signedint __ad5__i_2;281 __attribute__ ((unused,unused,unused,unused,unused)) signedint __ad6__Fi___2();282 ((void)sizeof(__attribute__ ((unused,unused)) signedint ));283 ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signedint **));284 ((void)sizeof(__attribute__ ((unused,unused,unused)) signedint [5]));285 ((void)sizeof(__attribute__ ((unused,unused,unused)) signedint (*)[10]));286 ((void)sizeof(__attribute__ ((unused,unused,unused)) signedint ()));217 __attribute__ ((unused)) int __f__Fi___1() asm ( "xyz" ); 218 __attribute__ ((used,used)) const int __vd1__Ci_1; 219 __attribute__ ((used,unused)) const int __vd2__Ci_1; 220 __attribute__ ((used,used,used,used)) const int *__vd3__PCi_1; 221 __attribute__ ((used,used,unused,used,unused)) const int *__vd4__PCi_1; 222 __attribute__ ((used,used,used)) const int __vd5__A0Ci_1[((long unsigned int )5)]; 223 __attribute__ ((used,used,unused,used)) const int __vd6__A0Ci_1[((long unsigned int )5)]; 224 __attribute__ ((used,used,used,used)) const int (*__vd7__PFCi___1)(); 225 __attribute__ ((used,used,unused,used,used)) const int (*__vd8__PFCi___1)(); 226 __attribute__ ((unused,used)) int __f1__Fi___1(); 227 __attribute__ ((unused)) int __f1__Fi___1(){ 228 __attribute__ ((unused)) int ___retval_f1__i_1; 229 } 230 __attribute__ ((unused,unused,unused,used)) int **const __f2__FCPPi___1(); 231 __attribute__ ((unused,unused,unused)) int **const __f2__FCPPi___1(){ 232 __attribute__ ((unused)) int **const ___retval_f2__CPPi_1; 233 } 234 __attribute__ ((unused,used,unused)) int (*__f3__FPA0i_i__1(int __anonymous_object1))[]; 235 __attribute__ ((unused,unused)) int (*__f3__FPA0i_i__1(int __p__i_1))[]{ 236 __attribute__ ((unused)) int (*___retval_f3__PA0i_1)[]; 237 } 238 __attribute__ ((unused,used,unused)) int (*__f4__FPFi_i____1())(int __anonymous_object2); 239 __attribute__ ((unused,unused)) int (*__f4__FPFi_i____1())(int __anonymous_object3){ 240 __attribute__ ((unused)) int (*___retval_f4__PFi_i__1)(int __anonymous_object4); 241 } 242 int __vtr__Fi___1(){ 243 __attribute__ ((unused)) int ___retval_vtr__i_1; 244 __attribute__ ((unused,unused,used)) int __t1__i_2; 245 __attribute__ ((unused,unused,unused,unused,unused)) int **__t2__PPi_2; 246 __attribute__ ((unused,unused,unused)) int __t3__A0i_2[((long unsigned int )5)]; 247 __attribute__ ((unused,unused,unused,unused,unused)) int **__t4__A0PPi_2[((long unsigned int )5)]; 248 __attribute__ ((unused,unused,unused)) int __t5__Fi___2(); 249 __attribute__ ((unused,unused,unused,unused)) int *__t6__FPi___2(); 250 } 251 int __ipd1__Fi_ii__1(__attribute__ ((unused,unused,unused)) int __p__i_1, __attribute__ ((unused,unused,unused)) int __q__i_1); 252 int __ipd1__Fi_ii__1(__attribute__ ((unused,unused,unused)) int __p__i_1, __attribute__ ((unused,unused,unused)) int __q__i_1){ 253 __attribute__ ((unused)) int ___retval_ipd1__i_1; 254 } 255 int __ipd2__Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) int *__p__Pi_1, __attribute__ ((unused,unused,unused)) int *__q__Pi_1); 256 int __ipd2__Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) int *__p__Pi_1, __attribute__ ((unused,unused,unused)) int *__q__Pi_1){ 257 __attribute__ ((unused)) int ___retval_ipd2__i_1; 258 } 259 int __ipd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__p__Pi_1, __attribute__ ((unused,unused,unused)) int *__q__Pi_1); 260 int __ipd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__p__Pi_1, __attribute__ ((unused,unused,unused)) int *__q__Pi_1){ 261 __attribute__ ((unused)) int ___retval_ipd3__i_1; 262 } 263 int __ipd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__p__PFi___1)(), __attribute__ ((unused,unused,unused)) int (*__q__PFi___1)()); 264 int __ipd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__p__PFi___1)(), __attribute__ ((unused,unused,unused)) int (*__q__PFi___1)()){ 265 __attribute__ ((unused)) int ___retval_ipd4__i_1; 266 } 267 int __tpr1__Fi_i__1(__attribute__ ((unused,unused,unused)) int __Foo__i_1); 268 int __tpr2__Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) int **__Foo__PPi_1); 269 int __tpr3__Fi_Pi__1(__attribute__ ((unused,unused,unused)) int *__Foo__Pi_1); 270 int __tpr4__Fi_PFi_Pi___1(__attribute__ ((unused,unused)) int (*__anonymous_object5)(__attribute__ ((unused,unused)) int __anonymous_object6[((long unsigned int )5)])); 271 int __tpr5__Fi_PFi____1(__attribute__ ((unused,unused,unused)) int (*__Foo__PFi___1)()); 272 int __tpr6__Fi_PFi____1(__attribute__ ((unused,unused,unused)) int (*__Foo__PFi___1)()); 273 int __tpr7__Fi_PFi_PFi_i____1(__attribute__ ((unused,unused)) int (*__anonymous_object7)(__attribute__ ((unused)) int (*__anonymous_object8)(__attribute__ ((unused,unused)) int __anonymous_object9))); 274 int __ad__Fi___1(){ 275 __attribute__ ((unused)) int ___retval_ad__i_1; 276 __attribute__ ((used,unused)) int __ad1__i_2; 277 __attribute__ ((unused,unused,unused)) int *__ad2__Pi_2; 278 __attribute__ ((unused,unused,unused)) int __ad3__A0i_2[((long unsigned int )5)]; 279 __attribute__ ((unused,unused,unused,unused,unused)) int (*__ad4__PA0i_2)[((long unsigned int )10)]; 280 __attribute__ ((unused,unused,unused,unused,used)) int __ad5__i_2; 281 __attribute__ ((unused,unused,unused,unused,unused)) int __ad6__Fi___2(); 282 ((void)sizeof(__attribute__ ((unused,unused)) int )); 283 ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) int **)); 284 ((void)sizeof(__attribute__ ((unused,unused,unused)) int [5])); 285 ((void)sizeof(__attribute__ ((unused,unused,unused)) int (*)[10])); 286 ((void)sizeof(__attribute__ ((unused,unused,unused)) int ())); 287 287 __attribute__ ((unused)) struct __anonymous4 { 288 signedint __i__i_2;288 int __i__i_2; 289 289 }; 290 290 inline void ___constructor__F_R13s__anonymous4_autogen___2(struct __anonymous4 *___dst__R13s__anonymous4_2){ … … 303 303 return ((struct __anonymous4 )___ret__13s__anonymous4_2); 304 304 } 305 inline void ___constructor__F_R13s__anonymous4i_autogen___2(struct __anonymous4 *___dst__R13s__anonymous4_2, signedint __i__i_2){305 inline void ___constructor__F_R13s__anonymous4i_autogen___2(struct __anonymous4 *___dst__R13s__anonymous4_2, int __i__i_2){ 306 306 ((void)((*___dst__R13s__anonymous4_2).__i__i_2=__i__i_2) /* ?{} */); 307 307 } … … 324 324 ((void)sizeof(enum __anonymous5 )); 325 325 } 326 signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object10, __attribute__ ((unused,unused,unused)) signedint *__anonymous_object11);327 signed int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object12, __attribute__ ((unused,unused,unused,unused)) signedint **__anonymous_object13);328 signed int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object14, __attribute__ ((unused,unused,unused)) signedint *__anonymous_object15);329 signed int __apd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(), __attribute__ ((unused,unused,unused)) signedint (*__anonymous_object17)());330 signed int __apd5__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object18)(__attribute__ ((unused)) signed int __anonymous_object19), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object20)(__attribute__ ((unused)) signedint __anonymous_object21));331 signed int __apd6__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)(), __attribute__ ((unused,unused,unused)) signedint (*__anonymous_object23)());332 signed int __apd7__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object24)(__attribute__ ((unused)) signed int __anonymous_object25), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object26)(__attribute__ ((unused)) signedint __anonymous_object27));326 int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__anonymous_object10, __attribute__ ((unused,unused,unused)) int *__anonymous_object11); 327 int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) int **__anonymous_object12, __attribute__ ((unused,unused,unused,unused)) int **__anonymous_object13); 328 int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__anonymous_object14, __attribute__ ((unused,unused,unused)) int *__anonymous_object15); 329 int __apd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object16)(), __attribute__ ((unused,unused,unused)) int (*__anonymous_object17)()); 330 int __apd5__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object18)(__attribute__ ((unused)) int __anonymous_object19), __attribute__ ((unused,unused,unused)) int (*__anonymous_object20)(__attribute__ ((unused)) int __anonymous_object21)); 331 int __apd6__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object22)(), __attribute__ ((unused,unused,unused)) int (*__anonymous_object23)()); 332 int __apd7__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object24)(__attribute__ ((unused)) int __anonymous_object25), __attribute__ ((unused,unused,unused)) int (*__anonymous_object26)(__attribute__ ((unused)) int __anonymous_object27)); 333 333 struct Vad { 334 __attribute__ ((unused)) signedint __anonymous_object28;335 __attribute__ ((unused,unused)) signedint *__anonymous_object29;336 __attribute__ ((unused,unused)) signed int __anonymous_object30[((unsigned longint )10)];337 __attribute__ ((unused,unused)) signedint (*__anonymous_object31)();334 __attribute__ ((unused)) int __anonymous_object28; 335 __attribute__ ((unused,unused)) int *__anonymous_object29; 336 __attribute__ ((unused,unused)) int __anonymous_object30[((long unsigned int )10)]; 337 __attribute__ ((unused,unused)) int (*__anonymous_object31)(); 338 338 }; 339 339 static inline void ___constructor__F_R4sVad_autogen___1(struct Vad *___dst__R4sVad_1); -
src/tests/.expect/64/declarationSpecifier.txt
r982832e re3e16bc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc( unsigned longint __size);1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(long unsigned int __size); 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 volatile const s igned short int __x1__CVs_1;8 static volatile const s igned short int __x2__CVs_1;9 static volatile const s igned short int __x3__CVs_1;10 static volatile const s igned short int __x4__CVs_1;11 static volatile const s igned short int __x5__CVs_1;12 static volatile const s igned short int __x6__CVs_1;13 static volatile const s igned short int __x7__CVs_1;14 static volatile const s igned short int __x8__CVs_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 volatile const short __x1__CVs_1; 8 static volatile const short __x2__CVs_1; 9 static volatile const short __x3__CVs_1; 10 static volatile const short __x4__CVs_1; 11 static volatile const short __x5__CVs_1; 12 static volatile const short __x6__CVs_1; 13 static volatile const short __x7__CVs_1; 14 static volatile const short __x8__CVs_1; 15 15 struct __anonymous0 { 16 signedint __i__i_1;16 int __i__i_1; 17 17 }; 18 18 static inline void ___constructor__F_R13s__anonymous0_autogen___1(struct __anonymous0 *___dst__R13s__anonymous0_1); … … 35 35 return ((struct __anonymous0 )___ret__13s__anonymous0_1); 36 36 } 37 static inline void ___constructor__F_R13s__anonymous0i_autogen___1(struct __anonymous0 *___dst__R13s__anonymous0_1, signedint __i__i_1){37 static inline void ___constructor__F_R13s__anonymous0i_autogen___1(struct __anonymous0 *___dst__R13s__anonymous0_1, int __i__i_1){ 38 38 ((void)((*___dst__R13s__anonymous0_1).__i__i_1=__i__i_1) /* ?{} */); 39 39 } 40 40 volatile const struct __anonymous0 __x10__CV13s__anonymous0_1; 41 41 struct __anonymous1 { 42 signedint __i__i_1;42 int __i__i_1; 43 43 }; 44 44 static inline void ___constructor__F_R13s__anonymous1_autogen___1(struct __anonymous1 *___dst__R13s__anonymous1_1); … … 61 61 return ((struct __anonymous1 )___ret__13s__anonymous1_1); 62 62 } 63 static inline void ___constructor__F_R13s__anonymous1i_autogen___1(struct __anonymous1 *___dst__R13s__anonymous1_1, signedint __i__i_1){63 static inline void ___constructor__F_R13s__anonymous1i_autogen___1(struct __anonymous1 *___dst__R13s__anonymous1_1, int __i__i_1){ 64 64 ((void)((*___dst__R13s__anonymous1_1).__i__i_1=__i__i_1) /* ?{} */); 65 65 } 66 66 volatile const struct __anonymous1 __x11__CV13s__anonymous1_1; 67 67 struct __anonymous2 { 68 signedint __i__i_1;68 int __i__i_1; 69 69 }; 70 70 static inline void ___constructor__F_R13s__anonymous2_autogen___1(struct __anonymous2 *___dst__R13s__anonymous2_1); … … 87 87 return ((struct __anonymous2 )___ret__13s__anonymous2_1); 88 88 } 89 static inline void ___constructor__F_R13s__anonymous2i_autogen___1(struct __anonymous2 *___dst__R13s__anonymous2_1, signedint __i__i_1){89 static inline void ___constructor__F_R13s__anonymous2i_autogen___1(struct __anonymous2 *___dst__R13s__anonymous2_1, int __i__i_1){ 90 90 ((void)((*___dst__R13s__anonymous2_1).__i__i_1=__i__i_1) /* ?{} */); 91 91 } 92 92 volatile const struct __anonymous2 __x12__CV13s__anonymous2_1; 93 93 struct __anonymous3 { 94 signedint __i__i_1;94 int __i__i_1; 95 95 }; 96 96 static inline void ___constructor__F_R13s__anonymous3_autogen___1(struct __anonymous3 *___dst__R13s__anonymous3_1); … … 113 113 return ((struct __anonymous3 )___ret__13s__anonymous3_1); 114 114 } 115 static inline void ___constructor__F_R13s__anonymous3i_autogen___1(struct __anonymous3 *___dst__R13s__anonymous3_1, signedint __i__i_1){115 static inline void ___constructor__F_R13s__anonymous3i_autogen___1(struct __anonymous3 *___dst__R13s__anonymous3_1, int __i__i_1){ 116 116 ((void)((*___dst__R13s__anonymous3_1).__i__i_1=__i__i_1) /* ?{} */); 117 117 } 118 118 static volatile const struct __anonymous3 __x13__CV13s__anonymous3_1; 119 119 struct __anonymous4 { 120 signedint __i__i_1;120 int __i__i_1; 121 121 }; 122 122 static inline void ___constructor__F_R13s__anonymous4_autogen___1(struct __anonymous4 *___dst__R13s__anonymous4_1); … … 139 139 return ((struct __anonymous4 )___ret__13s__anonymous4_1); 140 140 } 141 static inline void ___constructor__F_R13s__anonymous4i_autogen___1(struct __anonymous4 *___dst__R13s__anonymous4_1, signedint __i__i_1){141 static inline void ___constructor__F_R13s__anonymous4i_autogen___1(struct __anonymous4 *___dst__R13s__anonymous4_1, int __i__i_1){ 142 142 ((void)((*___dst__R13s__anonymous4_1).__i__i_1=__i__i_1) /* ?{} */); 143 143 } 144 144 static volatile const struct __anonymous4 __x14__CV13s__anonymous4_1; 145 145 struct __anonymous5 { 146 signedint __i__i_1;146 int __i__i_1; 147 147 }; 148 148 static inline void ___constructor__F_R13s__anonymous5_autogen___1(struct __anonymous5 *___dst__R13s__anonymous5_1); … … 165 165 return ((struct __anonymous5 )___ret__13s__anonymous5_1); 166 166 } 167 static inline void ___constructor__F_R13s__anonymous5i_autogen___1(struct __anonymous5 *___dst__R13s__anonymous5_1, signedint __i__i_1){167 static inline void ___constructor__F_R13s__anonymous5i_autogen___1(struct __anonymous5 *___dst__R13s__anonymous5_1, int __i__i_1){ 168 168 ((void)((*___dst__R13s__anonymous5_1).__i__i_1=__i__i_1) /* ?{} */); 169 169 } 170 170 static volatile const struct __anonymous5 __x15__CV13s__anonymous5_1; 171 171 struct __anonymous6 { 172 signedint __i__i_1;172 int __i__i_1; 173 173 }; 174 174 static inline void ___constructor__F_R13s__anonymous6_autogen___1(struct __anonymous6 *___dst__R13s__anonymous6_1); … … 191 191 return ((struct __anonymous6 )___ret__13s__anonymous6_1); 192 192 } 193 static inline void ___constructor__F_R13s__anonymous6i_autogen___1(struct __anonymous6 *___dst__R13s__anonymous6_1, signedint __i__i_1){193 static inline void ___constructor__F_R13s__anonymous6i_autogen___1(struct __anonymous6 *___dst__R13s__anonymous6_1, int __i__i_1){ 194 194 ((void)((*___dst__R13s__anonymous6_1).__i__i_1=__i__i_1) /* ?{} */); 195 195 } 196 196 static volatile const struct __anonymous6 __x16__CV13s__anonymous6_1; 197 197 struct __anonymous7 { 198 signedint __i__i_1;198 int __i__i_1; 199 199 }; 200 200 static inline void ___constructor__F_R13s__anonymous7_autogen___1(struct __anonymous7 *___dst__R13s__anonymous7_1); … … 217 217 return ((struct __anonymous7 )___ret__13s__anonymous7_1); 218 218 } 219 static inline void ___constructor__F_R13s__anonymous7i_autogen___1(struct __anonymous7 *___dst__R13s__anonymous7_1, signedint __i__i_1){219 static inline void ___constructor__F_R13s__anonymous7i_autogen___1(struct __anonymous7 *___dst__R13s__anonymous7_1, int __i__i_1){ 220 220 ((void)((*___dst__R13s__anonymous7_1).__i__i_1=__i__i_1) /* ?{} */); 221 221 } 222 222 static volatile const struct __anonymous7 __x17__CV13s__anonymous7_1; 223 volatile const s igned short int __x20__CVs_1;224 static volatile const s igned short int __x21__CVs_1;225 static volatile const s igned short int __x22__CVs_1;226 static volatile const s igned short int __x23__CVs_1;227 static volatile const s igned short int __x24__CVs_1;228 static volatile const s igned short int __x25__CVs_1;229 static volatile const s igned short int __x26__CVs_1;230 static volatile const s igned short int __x27__CVs_1;223 volatile const short __x20__CVs_1; 224 static volatile const short __x21__CVs_1; 225 static volatile const short __x22__CVs_1; 226 static volatile const short __x23__CVs_1; 227 static volatile const short __x24__CVs_1; 228 static volatile const short __x25__CVs_1; 229 static volatile const short __x26__CVs_1; 230 static volatile const short __x27__CVs_1; 231 231 struct __anonymous8 { 232 s igned short int __i__s_1;232 short __i__s_1; 233 233 }; 234 234 static inline void ___constructor__F_R13s__anonymous8_autogen___1(struct __anonymous8 *___dst__R13s__anonymous8_1); … … 251 251 return ((struct __anonymous8 )___ret__13s__anonymous8_1); 252 252 } 253 static inline void ___constructor__F_R13s__anonymous8s_autogen___1(struct __anonymous8 *___dst__R13s__anonymous8_1, s igned short int __i__s_1){253 static inline void ___constructor__F_R13s__anonymous8s_autogen___1(struct __anonymous8 *___dst__R13s__anonymous8_1, short __i__s_1){ 254 254 ((void)((*___dst__R13s__anonymous8_1).__i__s_1=__i__s_1) /* ?{} */); 255 255 } 256 256 volatile const struct __anonymous8 __x29__CV13s__anonymous8_1; 257 257 struct __anonymous9 { 258 s igned short int __i__s_1;258 short __i__s_1; 259 259 }; 260 260 static inline void ___constructor__F_R13s__anonymous9_autogen___1(struct __anonymous9 *___dst__R13s__anonymous9_1); … … 277 277 return ((struct __anonymous9 )___ret__13s__anonymous9_1); 278 278 } 279 static inline void ___constructor__F_R13s__anonymous9s_autogen___1(struct __anonymous9 *___dst__R13s__anonymous9_1, s igned short int __i__s_1){279 static inline void ___constructor__F_R13s__anonymous9s_autogen___1(struct __anonymous9 *___dst__R13s__anonymous9_1, short __i__s_1){ 280 280 ((void)((*___dst__R13s__anonymous9_1).__i__s_1=__i__s_1) /* ?{} */); 281 281 } 282 282 volatile const struct __anonymous9 __x30__CV13s__anonymous9_1; 283 283 struct __anonymous10 { 284 s igned short int __i__s_1;284 short __i__s_1; 285 285 }; 286 286 static inline void ___constructor__F_R14s__anonymous10_autogen___1(struct __anonymous10 *___dst__R14s__anonymous10_1); … … 303 303 return ((struct __anonymous10 )___ret__14s__anonymous10_1); 304 304 } 305 static inline void ___constructor__F_R14s__anonymous10s_autogen___1(struct __anonymous10 *___dst__R14s__anonymous10_1, s igned short int __i__s_1){305 static inline void ___constructor__F_R14s__anonymous10s_autogen___1(struct __anonymous10 *___dst__R14s__anonymous10_1, short __i__s_1){ 306 306 ((void)((*___dst__R14s__anonymous10_1).__i__s_1=__i__s_1) /* ?{} */); 307 307 } 308 308 volatile const struct __anonymous10 __x31__CV14s__anonymous10_1; 309 309 struct __anonymous11 { 310 s igned short int __i__s_1;310 short __i__s_1; 311 311 }; 312 312 static inline void ___constructor__F_R14s__anonymous11_autogen___1(struct __anonymous11 *___dst__R14s__anonymous11_1); … … 329 329 return ((struct __anonymous11 )___ret__14s__anonymous11_1); 330 330 } 331 static inline void ___constructor__F_R14s__anonymous11s_autogen___1(struct __anonymous11 *___dst__R14s__anonymous11_1, s igned short int __i__s_1){331 static inline void ___constructor__F_R14s__anonymous11s_autogen___1(struct __anonymous11 *___dst__R14s__anonymous11_1, short __i__s_1){ 332 332 ((void)((*___dst__R14s__anonymous11_1).__i__s_1=__i__s_1) /* ?{} */); 333 333 } 334 334 static volatile const struct __anonymous11 __x32__CV14s__anonymous11_1; 335 335 struct __anonymous12 { 336 s igned short int __i__s_1;336 short __i__s_1; 337 337 }; 338 338 static inline void ___constructor__F_R14s__anonymous12_autogen___1(struct __anonymous12 *___dst__R14s__anonymous12_1); … … 355 355 return ((struct __anonymous12 )___ret__14s__anonymous12_1); 356 356 } 357 static inline void ___constructor__F_R14s__anonymous12s_autogen___1(struct __anonymous12 *___dst__R14s__anonymous12_1, s igned short int __i__s_1){357 static inline void ___constructor__F_R14s__anonymous12s_autogen___1(struct __anonymous12 *___dst__R14s__anonymous12_1, short __i__s_1){ 358 358 ((void)((*___dst__R14s__anonymous12_1).__i__s_1=__i__s_1) /* ?{} */); 359 359 } 360 360 static volatile const struct __anonymous12 __x33__CV14s__anonymous12_1; 361 361 struct __anonymous13 { 362 s igned short int __i__s_1;362 short __i__s_1; 363 363 }; 364 364 static inline void ___constructor__F_R14s__anonymous13_autogen___1(struct __anonymous13 *___dst__R14s__anonymous13_1); … … 381 381 return ((struct __anonymous13 )___ret__14s__anonymous13_1); 382 382 } 383 static inline void ___constructor__F_R14s__anonymous13s_autogen___1(struct __anonymous13 *___dst__R14s__anonymous13_1, s igned short int __i__s_1){383 static inline void ___constructor__F_R14s__anonymous13s_autogen___1(struct __anonymous13 *___dst__R14s__anonymous13_1, short __i__s_1){ 384 384 ((void)((*___dst__R14s__anonymous13_1).__i__s_1=__i__s_1) /* ?{} */); 385 385 } 386 386 static volatile const struct __anonymous13 __x34__CV14s__anonymous13_1; 387 387 struct __anonymous14 { 388 s igned short int __i__s_1;388 short __i__s_1; 389 389 }; 390 390 static inline void ___constructor__F_R14s__anonymous14_autogen___1(struct __anonymous14 *___dst__R14s__anonymous14_1); … … 407 407 return ((struct __anonymous14 )___ret__14s__anonymous14_1); 408 408 } 409 static inline void ___constructor__F_R14s__anonymous14s_autogen___1(struct __anonymous14 *___dst__R14s__anonymous14_1, s igned short int __i__s_1){409 static inline void ___constructor__F_R14s__anonymous14s_autogen___1(struct __anonymous14 *___dst__R14s__anonymous14_1, short __i__s_1){ 410 410 ((void)((*___dst__R14s__anonymous14_1).__i__s_1=__i__s_1) /* ?{} */); 411 411 } 412 412 static volatile const struct __anonymous14 __x35__CV14s__anonymous14_1; 413 413 struct __anonymous15 { 414 s igned short int __i__s_1;414 short __i__s_1; 415 415 }; 416 416 static inline void ___constructor__F_R14s__anonymous15_autogen___1(struct __anonymous15 *___dst__R14s__anonymous15_1); … … 433 433 return ((struct __anonymous15 )___ret__14s__anonymous15_1); 434 434 } 435 static inline void ___constructor__F_R14s__anonymous15s_autogen___1(struct __anonymous15 *___dst__R14s__anonymous15_1, s igned short int __i__s_1){435 static inline void ___constructor__F_R14s__anonymous15s_autogen___1(struct __anonymous15 *___dst__R14s__anonymous15_1, short __i__s_1){ 436 436 ((void)((*___dst__R14s__anonymous15_1).__i__s_1=__i__s_1) /* ?{} */); 437 437 } 438 438 static volatile const struct __anonymous15 __x36__CV14s__anonymous15_1; 439 static inline volatile const signedint __f11__FCVi___1();440 static inline volatile const signedint __f12__FCVi___1();441 static inline volatile const signedint __f13__FCVi___1();442 static inline volatile const signedint __f14__FCVi___1();443 static inline volatile const signedint __f15__FCVi___1();444 static inline volatile const signedint __f16__FCVi___1();445 static inline volatile const signedint __f17__FCVi___1();446 static inline volatile const signedint __f18__FCVi___1();447 static inline volatile const s igned short int __f21__FCVs___1();448 static inline volatile const s igned short int __f22__FCVs___1();449 static inline volatile const s igned short int __f23__FCVs___1();450 static inline volatile const s igned short int __f24__FCVs___1();451 static inline volatile const s igned short int __f25__FCVs___1();452 static inline volatile const s igned short int __f26__FCVs___1();453 static inline volatile const s igned short int __f27__FCVs___1();454 static inline volatile const s igned short int __f28__FCVs___1();439 static inline volatile const int __f11__FCVi___1(); 440 static inline volatile const int __f12__FCVi___1(); 441 static inline volatile const int __f13__FCVi___1(); 442 static inline volatile const int __f14__FCVi___1(); 443 static inline volatile const int __f15__FCVi___1(); 444 static inline volatile const int __f16__FCVi___1(); 445 static inline volatile const int __f17__FCVi___1(); 446 static inline volatile const int __f18__FCVi___1(); 447 static inline volatile const short __f21__FCVs___1(); 448 static inline volatile const short __f22__FCVs___1(); 449 static inline volatile const short __f23__FCVs___1(); 450 static inline volatile const short __f24__FCVs___1(); 451 static inline volatile const short __f25__FCVs___1(); 452 static inline volatile const short __f26__FCVs___1(); 453 static inline volatile const short __f27__FCVs___1(); 454 static inline volatile const short __f28__FCVs___1(); 455 455 struct __anonymous16 { 456 signedint __i__i_1;456 int __i__i_1; 457 457 }; 458 458 static inline void ___constructor__F_R14s__anonymous16_autogen___1(struct __anonymous16 *___dst__R14s__anonymous16_1); … … 475 475 return ((struct __anonymous16 )___ret__14s__anonymous16_1); 476 476 } 477 static inline void ___constructor__F_R14s__anonymous16i_autogen___1(struct __anonymous16 *___dst__R14s__anonymous16_1, signedint __i__i_1){477 static inline void ___constructor__F_R14s__anonymous16i_autogen___1(struct __anonymous16 *___dst__R14s__anonymous16_1, int __i__i_1){ 478 478 ((void)((*___dst__R14s__anonymous16_1).__i__i_1=__i__i_1) /* ?{} */); 479 479 } 480 480 static inline volatile const struct __anonymous16 __f31__FCV14s__anonymous16___1(); 481 481 struct __anonymous17 { 482 signedint __i__i_1;482 int __i__i_1; 483 483 }; 484 484 static inline void ___constructor__F_R14s__anonymous17_autogen___1(struct __anonymous17 *___dst__R14s__anonymous17_1); … … 501 501 return ((struct __anonymous17 )___ret__14s__anonymous17_1); 502 502 } 503 static inline void ___constructor__F_R14s__anonymous17i_autogen___1(struct __anonymous17 *___dst__R14s__anonymous17_1, signedint __i__i_1){503 static inline void ___constructor__F_R14s__anonymous17i_autogen___1(struct __anonymous17 *___dst__R14s__anonymous17_1, int __i__i_1){ 504 504 ((void)((*___dst__R14s__anonymous17_1).__i__i_1=__i__i_1) /* ?{} */); 505 505 } 506 506 static inline volatile const struct __anonymous17 __f32__FCV14s__anonymous17___1(); 507 507 struct __anonymous18 { 508 signedint __i__i_1;508 int __i__i_1; 509 509 }; 510 510 static inline void ___constructor__F_R14s__anonymous18_autogen___1(struct __anonymous18 *___dst__R14s__anonymous18_1); … … 527 527 return ((struct __anonymous18 )___ret__14s__anonymous18_1); 528 528 } 529 static inline void ___constructor__F_R14s__anonymous18i_autogen___1(struct __anonymous18 *___dst__R14s__anonymous18_1, signedint __i__i_1){529 static inline void ___constructor__F_R14s__anonymous18i_autogen___1(struct __anonymous18 *___dst__R14s__anonymous18_1, int __i__i_1){ 530 530 ((void)((*___dst__R14s__anonymous18_1).__i__i_1=__i__i_1) /* ?{} */); 531 531 } 532 532 static inline volatile const struct __anonymous18 __f33__FCV14s__anonymous18___1(); 533 533 struct __anonymous19 { 534 signedint __i__i_1;534 int __i__i_1; 535 535 }; 536 536 static inline void ___constructor__F_R14s__anonymous19_autogen___1(struct __anonymous19 *___dst__R14s__anonymous19_1); … … 553 553 return ((struct __anonymous19 )___ret__14s__anonymous19_1); 554 554 } 555 static inline void ___constructor__F_R14s__anonymous19i_autogen___1(struct __anonymous19 *___dst__R14s__anonymous19_1, signedint __i__i_1){555 static inline void ___constructor__F_R14s__anonymous19i_autogen___1(struct __anonymous19 *___dst__R14s__anonymous19_1, int __i__i_1){ 556 556 ((void)((*___dst__R14s__anonymous19_1).__i__i_1=__i__i_1) /* ?{} */); 557 557 } 558 558 static inline volatile const struct __anonymous19 __f34__FCV14s__anonymous19___1(); 559 559 struct __anonymous20 { 560 signedint __i__i_1;560 int __i__i_1; 561 561 }; 562 562 static inline void ___constructor__F_R14s__anonymous20_autogen___1(struct __anonymous20 *___dst__R14s__anonymous20_1); … … 579 579 return ((struct __anonymous20 )___ret__14s__anonymous20_1); 580 580 } 581 static inline void ___constructor__F_R14s__anonymous20i_autogen___1(struct __anonymous20 *___dst__R14s__anonymous20_1, signedint __i__i_1){581 static inline void ___constructor__F_R14s__anonymous20i_autogen___1(struct __anonymous20 *___dst__R14s__anonymous20_1, int __i__i_1){ 582 582 ((void)((*___dst__R14s__anonymous20_1).__i__i_1=__i__i_1) /* ?{} */); 583 583 } 584 584 static inline volatile const struct __anonymous20 __f35__FCV14s__anonymous20___1(); 585 585 struct __anonymous21 { 586 signedint __i__i_1;586 int __i__i_1; 587 587 }; 588 588 static inline void ___constructor__F_R14s__anonymous21_autogen___1(struct __anonymous21 *___dst__R14s__anonymous21_1); … … 605 605 return ((struct __anonymous21 )___ret__14s__anonymous21_1); 606 606 } 607 static inline void ___constructor__F_R14s__anonymous21i_autogen___1(struct __anonymous21 *___dst__R14s__anonymous21_1, signedint __i__i_1){607 static inline void ___constructor__F_R14s__anonymous21i_autogen___1(struct __anonymous21 *___dst__R14s__anonymous21_1, int __i__i_1){ 608 608 ((void)((*___dst__R14s__anonymous21_1).__i__i_1=__i__i_1) /* ?{} */); 609 609 } 610 610 static inline volatile const struct __anonymous21 __f36__FCV14s__anonymous21___1(); 611 611 struct __anonymous22 { 612 signedint __i__i_1;612 int __i__i_1; 613 613 }; 614 614 static inline void ___constructor__F_R14s__anonymous22_autogen___1(struct __anonymous22 *___dst__R14s__anonymous22_1); … … 631 631 return ((struct __anonymous22 )___ret__14s__anonymous22_1); 632 632 } 633 static inline void ___constructor__F_R14s__anonymous22i_autogen___1(struct __anonymous22 *___dst__R14s__anonymous22_1, signedint __i__i_1){633 static inline void ___constructor__F_R14s__anonymous22i_autogen___1(struct __anonymous22 *___dst__R14s__anonymous22_1, int __i__i_1){ 634 634 ((void)((*___dst__R14s__anonymous22_1).__i__i_1=__i__i_1) /* ?{} */); 635 635 } 636 636 static inline volatile const struct __anonymous22 __f37__FCV14s__anonymous22___1(); 637 637 struct __anonymous23 { 638 signedint __i__i_1;638 int __i__i_1; 639 639 }; 640 640 static inline void ___constructor__F_R14s__anonymous23_autogen___1(struct __anonymous23 *___dst__R14s__anonymous23_1); … … 657 657 return ((struct __anonymous23 )___ret__14s__anonymous23_1); 658 658 } 659 static inline void ___constructor__F_R14s__anonymous23i_autogen___1(struct __anonymous23 *___dst__R14s__anonymous23_1, signedint __i__i_1){659 static inline void ___constructor__F_R14s__anonymous23i_autogen___1(struct __anonymous23 *___dst__R14s__anonymous23_1, int __i__i_1){ 660 660 ((void)((*___dst__R14s__anonymous23_1).__i__i_1=__i__i_1) /* ?{} */); 661 661 } 662 662 static inline volatile const struct __anonymous23 __f38__FCV14s__anonymous23___1(); 663 static inline volatile const s igned short int __f41__FCVs___1();664 static inline volatile const s igned short int __f42__FCVs___1();665 static inline volatile const s igned short int __f43__FCVs___1();666 static inline volatile const s igned short int __f44__FCVs___1();667 static inline volatile const s igned short int __f45__FCVs___1();668 static inline volatile const s igned short int __f46__FCVs___1();669 static inline volatile const s igned short int __f47__FCVs___1();670 static inline volatile const s igned short int __f48__FCVs___1();671 signed int __main__Fi_iPPCc__1(signedint __argc__i_1, const char **__argv__PPCc_1){672 __attribute__ ((unused)) signedint ___retval_main__i_1;673 ((void)(___retval_main__i_1=(( signedint )0)) /* ?{} */);674 return (( signedint )___retval_main__i_1);663 static inline volatile const short __f41__FCVs___1(); 664 static inline volatile const short __f42__FCVs___1(); 665 static inline volatile const short __f43__FCVs___1(); 666 static inline volatile const short __f44__FCVs___1(); 667 static inline volatile const short __f45__FCVs___1(); 668 static inline volatile const short __f46__FCVs___1(); 669 static inline volatile const short __f47__FCVs___1(); 670 static inline volatile const short __f48__FCVs___1(); 671 int __main__Fi_iPPCc__1(int __argc__i_1, const char **__argv__PPCc_1){ 672 __attribute__ ((unused)) int ___retval_main__i_1; 673 ((void)(___retval_main__i_1=((int )0)) /* ?{} */); 674 return ((int )___retval_main__i_1); 675 675 ((void)(___retval_main__i_1=0) /* ?{} */); 676 return (( signedint )___retval_main__i_1);676 return ((int )___retval_main__i_1); 677 677 } 678 678 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); } 679 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc( unsigned longint __size);679 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(long unsigned int __size); 680 680 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 681 681 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 682 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));683 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);684 extern signedint printf(const char *__restrict __format, ...);685 static inline signed int invoke_main(signedint argc, char **argv, char **envp);686 signed int main(signedint __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){687 __attribute__ ((unused)) signedint ___retval_main__i_1;688 signedint _tmp_cp_ret0;682 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 683 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 684 extern int printf(const char *__restrict __format, ...); 685 static inline int invoke_main(int argc, char **argv, char **envp); 686 int main(int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ 687 __attribute__ ((unused)) int ___retval_main__i_1; 688 int _tmp_cp_ret0; 689 689 ((void)(___retval_main__i_1=(((void)(_tmp_cp_ret0=invoke_main(__argc__i_1, __argv__PPc_1, __envp__PPc_1))) , _tmp_cp_ret0)) /* ?{} */); 690 690 ((void)(_tmp_cp_ret0) /* ^?{} */); 691 return (( signedint )___retval_main__i_1);692 } 691 return ((int )___retval_main__i_1); 692 } -
src/tests/.expect/64/extension.txt
r982832e re3e16bc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc( unsigned longint __size);1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(long unsigned int __size); 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 __extension__ signedint __a__i_1;8 __extension__ signedint __b__i_1;9 __extension__ signedint __c__i_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 __extension__ int __a__i_1; 8 __extension__ int __b__i_1; 9 __extension__ int __c__i_1; 10 10 __extension__ struct S { 11 __extension__ signedint __a__i_1;12 __extension__ signedint __b__i_1;13 __extension__ signedint __c__i_1;11 __extension__ int __a__i_1; 12 __extension__ int __b__i_1; 13 __extension__ int __c__i_1; 14 14 }; 15 15 static inline void ___constructor__F_R2sS_autogen___1(struct S *___dst__R2sS_1); … … 40 40 return ((struct S )___ret__2sS_1); 41 41 } 42 static inline void ___constructor__F_R2sSi_autogen___1(struct S *___dst__R2sS_1, signedint __a__i_1){42 static inline void ___constructor__F_R2sSi_autogen___1(struct S *___dst__R2sS_1, int __a__i_1){ 43 43 ((void)((*___dst__R2sS_1).__a__i_1=__a__i_1) /* ?{} */); 44 44 ((void)((*___dst__R2sS_1).__b__i_1) /* ?{} */); 45 45 ((void)((*___dst__R2sS_1).__c__i_1) /* ?{} */); 46 46 } 47 static inline void ___constructor__F_R2sSii_autogen___1(struct S *___dst__R2sS_1, signed int __a__i_1, signedint __b__i_1){47 static inline void ___constructor__F_R2sSii_autogen___1(struct S *___dst__R2sS_1, int __a__i_1, int __b__i_1){ 48 48 ((void)((*___dst__R2sS_1).__a__i_1=__a__i_1) /* ?{} */); 49 49 ((void)((*___dst__R2sS_1).__b__i_1=__b__i_1) /* ?{} */); 50 50 ((void)((*___dst__R2sS_1).__c__i_1) /* ?{} */); 51 51 } 52 static inline void ___constructor__F_R2sSiii_autogen___1(struct S *___dst__R2sS_1, signed int __a__i_1, signed int __b__i_1, signedint __c__i_1){52 static inline void ___constructor__F_R2sSiii_autogen___1(struct S *___dst__R2sS_1, int __a__i_1, int __b__i_1, int __c__i_1){ 53 53 ((void)((*___dst__R2sS_1).__a__i_1=__a__i_1) /* ?{} */); 54 54 ((void)((*___dst__R2sS_1).__b__i_1=__b__i_1) /* ?{} */); … … 56 56 } 57 57 __extension__ union U { 58 __extension__ signedint __a__i_1;59 __extension__ signedint __b__i_1;60 __extension__ signedint __c__i_1;58 __extension__ int __a__i_1; 59 __extension__ int __b__i_1; 60 __extension__ int __c__i_1; 61 61 }; 62 62 static inline void ___constructor__F_R2uU_autogen___1(__attribute__ ((unused)) union U *___dst__R2uU_1){ … … 73 73 return ((union U )___ret__2uU_1); 74 74 } 75 static inline void ___constructor__F_R2uUi_autogen___1(__attribute__ ((unused)) union U *___dst__R2uU_1, signedint __src__i_1){76 ((void)__builtin_memcpy(((void *)___dst__R2uU_1), ((const void *)(&__src__i_1)), sizeof( signedint )));75 static inline void ___constructor__F_R2uUi_autogen___1(__attribute__ ((unused)) union U *___dst__R2uU_1, int __src__i_1){ 76 ((void)__builtin_memcpy(((void *)___dst__R2uU_1), ((const void *)(&__src__i_1)), sizeof(int ))); 77 77 } 78 78 __extension__ enum E { … … 81 81 __B__C2eE_1, 82 82 }; 83 __extension__ signedint __f__Fi___1();84 __extension__ signedint i;85 __extension__ signedint j;86 __extension__ signed int __fred__Fi_i__1(signedint __p__i_1){87 __attribute__ ((unused)) signedint ___retval_fred__i_1;83 __extension__ int __f__Fi___1(); 84 __extension__ int i; 85 __extension__ int j; 86 __extension__ int __fred__Fi_i__1(int __p__i_1){ 87 __attribute__ ((unused)) int ___retval_fred__i_1; 88 88 __extension__ struct S { 89 __extension__ signedint __a__i_2;90 __extension__ signedint __b__i_2;91 __extension__ signedint __c__i_2;92 __extension__ signedint *__x__Pi_2;93 __extension__ signedint *__y__Pi_2;94 __extension__ signedint *__z__Pi_2;89 __extension__ int __a__i_2; 90 __extension__ int __b__i_2; 91 __extension__ int __c__i_2; 92 __extension__ int *__x__Pi_2; 93 __extension__ int *__y__Pi_2; 94 __extension__ int *__z__Pi_2; 95 95 }; 96 signed int __i__i_2 = ((signedint )(__extension__ __a__i_1+__extension__ 3));96 int __i__i_2 = ((int )(__extension__ __a__i_1+__extension__ 3)); 97 97 ((void)__extension__ 3); 98 98 ((void)__extension__ __a__i_1); 99 __extension__ signedint __a__i_2;100 __extension__ signedint __b__i_2;101 __extension__ signedint __c__i_2;99 __extension__ int __a__i_2; 100 __extension__ int __b__i_2; 101 __extension__ int __c__i_2; 102 102 ((void)(__extension__ __a__i_2=(__extension__ __b__i_2+__extension__ __c__i_2))); 103 signedint _tmp_cp_ret0;103 int _tmp_cp_ret0; 104 104 ((void)(((void)(_tmp_cp_ret0=__extension__ __fred__Fi_i__1(3))) , _tmp_cp_ret0)); 105 105 ((void)(_tmp_cp_ret0) /* ^?{} */); 106 __extension__ signed int __mary__Fi_i__2(signedint __p__i_2){107 __attribute__ ((unused)) signedint ___retval_mary__i_2;106 __extension__ int __mary__Fi_i__2(int __p__i_2){ 107 __attribute__ ((unused)) int ___retval_mary__i_2; 108 108 } 109 109 ((void)__extension__ sizeof(3)); 110 ((void)__extension__ ((( signed int )(3!=((signed int )0))) || ((signed int )(4!=((signedint )0)))));110 ((void)__extension__ (((int )(3!=((int )0))) || ((int )(4!=((int )0))))); 111 111 ((void)__extension__ __alignof__(__extension__ __a__i_2)); 112 ((void)((( signed int )(__extension__ __a__i_2!=((signed int )0))) || ((signed int )((((signed int )(__extension__ __b__i_2!=((signed int )0))) && ((signed int )(__extension__ __c__i_2!=((signed int )0))))!=((signedint )0)))));113 ((void)((( signed int )((__extension__ __a__i_2>__extension__ __b__i_2)!=((signedint )0))) ? __extension__ __c__i_2 : __extension__ __c__i_2));112 ((void)(((int )(__extension__ __a__i_2!=((int )0))) || ((int )((((int )(__extension__ __b__i_2!=((int )0))) && ((int )(__extension__ __c__i_2!=((int )0))))!=((int )0))))); 113 ((void)(((int )((__extension__ __a__i_2>__extension__ __b__i_2)!=((int )0))) ? __extension__ __c__i_2 : __extension__ __c__i_2)); 114 114 ((void)(__extension__ __a__i_2=__extension__ (__extension__ __b__i_2+__extension__ __c__i_2))); 115 115 ((void)(((void)(((void)__extension__ __a__i_2) , __extension__ __b__i_2)) , __extension__ __c__i_2)); -
src/tests/.expect/64/gccExtensions.txt
r982832e re3e16bc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc( unsigned longint __size);1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(long unsigned int __size); 2 2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 3 3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);6 extern signedint printf(const char *__restrict __format, ...);7 extern signedint __x__i_1 asm ( "xx" );8 signed int __main__Fi_iPPCc__1(signedint __argc__i_1, const char **__argv__PPCc_1){9 __attribute__ ((unused)) signedint ___retval_main__i_1;4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 extern int __x__i_1 asm ( "xx" ); 8 int __main__Fi_iPPCc__1(int __argc__i_1, const char **__argv__PPCc_1){ 9 __attribute__ ((unused)) int ___retval_main__i_1; 10 10 asm ( "nop" : : : ); 11 11 asm ( "nop" : : : ); 12 12 asm ( "nop" : : : ); 13 static signedint __y__i_2 asm ( "yy" );14 static signedint *__z__Pi_2 asm ( "zz" );15 signedint __src__i_2;16 signedint __dst__i_2;17 asm volatile ( "mov %1, %0\n\t " "add $1, %0" : : : );18 asm volatile ( "mov %1, %0\n\t " "add $1, %0" : "=" "r" ( __dst__i_2 ) : : );19 asm volatile ( "mov %1, %0\n\t " "add $1, %0" : "=r" ( __dst__i_2 ) : "r" ( __src__i_2 ) : );20 asm ( "mov %1, %0\n\t " "add $1, %0" : "=r" ( __dst__i_2 ), "=r" ( __src__i_2 ) : [ __src__i_2 ] "r" ( __dst__i_2 ) : "r0" );13 static int __y__i_2 asm ( "yy" ); 14 static int *__z__Pi_2 asm ( "zz" ); 15 int __src__i_2; 16 int __dst__i_2; 17 asm volatile ( "mov %1, %0\n\tadd $1, %0" : : : ); 18 asm volatile ( "mov %1, %0\n\tadd $1, %0" : "=r" ( __dst__i_2 ) : : ); 19 asm volatile ( "mov %1, %0\n\tadd $1, %0" : "=r" ( __dst__i_2 ) : "r" ( __src__i_2 ) : ); 20 asm ( "mov %1, %0\n\tadd $1, %0" : "=r" ( __dst__i_2 ), "=r" ( __src__i_2 ) : [ __src__i_2 ] "r" ( __dst__i_2 ) : "r0" ); 21 21 L2: L1: asm goto ( "frob %%r5, %1; jc %l[L1]; mov (%2), %%r5" : : "r" ( __src__i_2 ), "r" ( (&__dst__i_2) ) : "r5", "memory" : L1, L2 ); 22 22 double _Complex __c1__Xd_2; 23 23 double _Complex __c2__Xd_2; 24 const signedint __i1__Ci_2;25 const signedint __i2__Ci_2;26 const signedint __i3__Ci_2;27 inline signedint __f1__Fi___2(){28 __attribute__ ((unused)) signedint ___retval_f1__i_2;24 const int __i1__Ci_2; 25 const int __i2__Ci_2; 26 const int __i3__Ci_2; 27 inline int __f1__Fi___2(){ 28 __attribute__ ((unused)) int ___retval_f1__i_2; 29 29 } 30 inline signedint __f2__Fi___2(){31 __attribute__ ((unused)) signedint ___retval_f2__i_2;30 inline int __f2__Fi___2(){ 31 __attribute__ ((unused)) int ___retval_f2__i_2; 32 32 } 33 signedint __s1__i_2;34 signedint __s2__i_2;35 volatile signedint __v1__Vi_2;36 volatile signedint __v2__Vi_2;37 signedint __t1___2;38 signedint __t2___2;39 __extension__ const signedint __ex__Ci_2;33 int __s1__i_2; 34 int __s2__i_2; 35 volatile int __v1__Vi_2; 36 volatile int __v2__Vi_2; 37 int __t1___2; 38 int __t2___2; 39 __extension__ const int __ex__Ci_2; 40 40 struct S { 41 __extension__ signedint __a__i_2;42 __extension__ signedint __b__i_2;43 __extension__ signedint __c__i_2;41 __extension__ int __a__i_2; 42 __extension__ int __b__i_2; 43 __extension__ int __c__i_2; 44 44 }; 45 45 inline void ___constructor__F_R2sS_autogen___2(struct S *___dst__R2sS_2){ … … 66 66 return ((struct S )___ret__2sS_2); 67 67 } 68 inline void ___constructor__F_R2sSi_autogen___2(struct S *___dst__R2sS_2, signedint __a__i_2){68 inline void ___constructor__F_R2sSi_autogen___2(struct S *___dst__R2sS_2, int __a__i_2){ 69 69 ((void)((*___dst__R2sS_2).__a__i_2=__a__i_2) /* ?{} */); 70 70 ((void)((*___dst__R2sS_2).__b__i_2) /* ?{} */); 71 71 ((void)((*___dst__R2sS_2).__c__i_2) /* ?{} */); 72 72 } 73 inline void ___constructor__F_R2sSii_autogen___2(struct S *___dst__R2sS_2, signed int __a__i_2, signedint __b__i_2){73 inline void ___constructor__F_R2sSii_autogen___2(struct S *___dst__R2sS_2, int __a__i_2, int __b__i_2){ 74 74 ((void)((*___dst__R2sS_2).__a__i_2=__a__i_2) /* ?{} */); 75 75 ((void)((*___dst__R2sS_2).__b__i_2=__b__i_2) /* ?{} */); 76 76 ((void)((*___dst__R2sS_2).__c__i_2) /* ?{} */); 77 77 } 78 inline void ___constructor__F_R2sSiii_autogen___2(struct S *___dst__R2sS_2, signed int __a__i_2, signed int __b__i_2, signedint __c__i_2){78 inline void ___constructor__F_R2sSiii_autogen___2(struct S *___dst__R2sS_2, int __a__i_2, int __b__i_2, int __c__i_2){ 79 79 ((void)((*___dst__R2sS_2).__a__i_2=__a__i_2) /* ?{} */); 80 80 ((void)((*___dst__R2sS_2).__b__i_2=__b__i_2) /* ?{} */); 81 81 ((void)((*___dst__R2sS_2).__c__i_2=__c__i_2) /* ?{} */); 82 82 } 83 signed int __i__i_2 = ((signedint )__extension__ 3);84 __extension__ signedint __a__i_2;85 __extension__ signedint __b__i_2;86 __extension__ signedint __c__i_2;83 int __i__i_2 = ((int )__extension__ 3); 84 __extension__ int __a__i_2; 85 __extension__ int __b__i_2; 86 __extension__ int __c__i_2; 87 87 ((void)(((void)(((void)__extension__ __a__i_2) , __extension__ __b__i_2)) , __extension__ __c__i_2)); 88 88 ((void)(__extension__ __a__i_2=(__extension__ __b__i_2+__extension__ __c__i_2))); 89 89 ((void)(__extension__ __a__i_2=__extension__ (__extension__ __b__i_2+__extension__ __c__i_2))); 90 signedint __a1__i_2;91 const signedint __a2__Ci_2;92 static const signedint __a3__Ci_2;93 static const signedint __a4__Ci_2;94 static const signedint __a5__Ci_2;95 static const signedint __a6__Ci_2;96 static const signedint __a7__Ci_2;97 signedint *__p1__Pi_2;98 signedint *__p2__Pi_2;90 int __a1__i_2; 91 const int __a2__Ci_2; 92 static const int __a3__Ci_2; 93 static const int __a4__Ci_2; 94 static const int __a5__Ci_2; 95 static const int __a6__Ci_2; 96 static const int __a7__Ci_2; 97 int *__p1__Pi_2; 98 int *__p2__Pi_2; 99 99 struct s1; 100 100 struct s2 { 101 signedint __i__i_2;101 int __i__i_2; 102 102 }; 103 103 inline void ___constructor__F_R3ss2_autogen___2(struct s2 *___dst__R3ss2_2){ … … 116 116 return ((struct s2 )___ret__3ss2_2); 117 117 } 118 inline void ___constructor__F_R3ss2i_autogen___2(struct s2 *___dst__R3ss2_2, signedint __i__i_2){118 inline void ___constructor__F_R3ss2i_autogen___2(struct s2 *___dst__R3ss2_2, int __i__i_2){ 119 119 ((void)((*___dst__R3ss2_2).__i__i_2=__i__i_2) /* ?{} */); 120 120 } 121 121 struct s3 { 122 signedint __i__i_2;122 int __i__i_2; 123 123 }; 124 124 inline void ___constructor__F_R3ss3_autogen___2(struct s3 *___dst__R3ss3_2){ … … 137 137 return ((struct s3 )___ret__3ss3_2); 138 138 } 139 inline void ___constructor__F_R3ss3i_autogen___2(struct s3 *___dst__R3ss3_2, signedint __i__i_2){139 inline void ___constructor__F_R3ss3i_autogen___2(struct s3 *___dst__R3ss3_2, int __i__i_2){ 140 140 ((void)((*___dst__R3ss3_2).__i__i_2=__i__i_2) /* ?{} */); 141 141 } … … 143 143 struct s3 __y1__3ss3_2; 144 144 struct s4 { 145 signedint __i__i_2;145 int __i__i_2; 146 146 }; 147 147 inline void ___constructor__F_R3ss4_autogen___2(struct s4 *___dst__R3ss4_2){ … … 160 160 return ((struct s4 )___ret__3ss4_2); 161 161 } 162 inline void ___constructor__F_R3ss4i_autogen___2(struct s4 *___dst__R3ss4_2, signedint __i__i_2){162 inline void ___constructor__F_R3ss4i_autogen___2(struct s4 *___dst__R3ss4_2, int __i__i_2){ 163 163 ((void)((*___dst__R3ss4_2).__i__i_2=__i__i_2) /* ?{} */); 164 164 } 165 165 struct s4 __x2__3ss4_2; 166 166 struct s4 __y2__3ss4_2; 167 signed int __m1__A0i_2[((unsigned longint )10)];168 signed int __m2__A0A0i_2[((unsigned long int )10)][((unsigned longint )10)];169 signed int __m3__A0A0i_2[((unsigned long int )10)][((unsigned longint )10)];170 ((void)(___retval_main__i_1=(( signedint )0)) /* ?{} */);171 return (( signedint )___retval_main__i_1);167 int __m1__A0i_2[((long unsigned int )10)]; 168 int __m2__A0A0i_2[((long unsigned int )10)][((long unsigned int )10)]; 169 int __m3__A0A0i_2[((long unsigned int )10)][((long unsigned int )10)]; 170 ((void)(___retval_main__i_1=((int )0)) /* ?{} */); 171 return ((int )___retval_main__i_1); 172 172 ((void)(___retval_main__i_1=0) /* ?{} */); 173 return (( signedint )___retval_main__i_1);173 return ((int )___retval_main__i_1); 174 174 } 175 175 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); } 176 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc( unsigned longint __size);176 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(long unsigned int __size); 177 177 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr); 178 178 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void); 179 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signedint atexit(void (*__func)(void));180 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit( signedint __status);181 extern signedint printf(const char *__restrict __format, ...);182 static inline signed int invoke_main(signedint argc, char **argv, char **envp);183 signed int main(signedint __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){184 __attribute__ ((unused)) signedint ___retval_main__i_1;185 signedint _tmp_cp_ret0;179 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void)); 180 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status); 181 extern int printf(const char *__restrict __format, ...); 182 static inline int invoke_main(int argc, char **argv, char **envp); 183 int main(int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ 184 __attribute__ ((unused)) int ___retval_main__i_1; 185 int _tmp_cp_ret0; 186 186 ((void)(___retval_main__i_1=(((void)(_tmp_cp_ret0=invoke_main(__argc__i_1, __argv__PPc_1, __envp__PPc_1))) , _tmp_cp_ret0)) /* ?{} */); 187 187 ((void)(_tmp_cp_ret0) /* ^?{} */); 188 return (( signedint )___retval_main__i_1);188 return ((int )___retval_main__i_1); 189 189 } -
src/tests/.expect/io.txt
r982832e re3e16bc 27 27 28 28 output basic types 29 A 23 9329 A 30 30 1 2 3 4 5 6 7 8 31 31 1.1 1.2 1.3 -
src/tests/.expect/user_literals.txt
r982832e re3e16bc 5 5 11.0714285714286 6 6 22.0457142857143 7 secs 18 secs 239 mins 2310 hours 2311 _A_ 2312 _thingy_ 123413 secs 6553514 mins 6553515 hours 6553516 _A_ 6553517 _thingy_ 6553518 secs 1019 hours 1020 mins 1021 _A_ 1022 _thingy_ 1023 secs abc24 mins25 hours abc26 _A_ abc27 _thingy_ abc -
src/tests/Makefile.am
r982832e re3e16bc 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Sep 11 16:17:16201714 ## Update Count : 4 513 ## Last Modified On : Thu Jun 8 07:41:43 2017 14 ## Update Count : 44 15 15 ############################################################################### 16 16 … … 101 101 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 102 102 103 literals : literals.c @CFA_BINDIR@/@CFA_NAME@104 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@}105 106 103 gmp : gmp.c @CFA_BINDIR@/@CFA_NAME@ 107 104 ${CC} ${AM_CFLAGS} ${CFLAGS} -lgmp ${<} -o ${@} -
src/tests/Makefile.in
r982832e re3e16bc 853 853 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 854 854 855 literals : literals.c @CFA_BINDIR@/@CFA_NAME@856 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@}857 858 855 gmp : gmp.c @CFA_BINDIR@/@CFA_NAME@ 859 856 ${CC} ${AM_CFLAGS} ${CFLAGS} -lgmp ${<} -o ${@} -
src/tests/io.c
r982832e re3e16bc 10 10 // Created On : Wed Mar 2 16:56:02 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 11 08:53:41201713 // Update Count : 8112 // Last Modified On : Wed Aug 23 21:27:50 2017 13 // Update Count : 79 14 14 // 15 15 … … 18 18 int main() { 19 19 char c; // basic types 20 signed char sc;21 unsigned char usc;22 20 short int si; 23 21 unsigned short int usi; … … 91 89 92 90 sout | "input bacis types" | endl; 93 &in | c | sc | usc// character91 &in | c // character 94 92 | si | usi | i | ui | li | uli | lli | ulli // integral 95 93 | f | d | ld // floating point … … 99 97 100 98 sout | "output basic types" | endl; 101 sout | c | ' ' | sc | ' ' | usc | endl// character99 sout | c | ' ' | endl // character 102 100 | si | usi | i | ui | li | uli | lli | ulli | endl // integral 103 101 | f | d | ld | endl // floating point -
src/tests/io.data
r982832e re3e16bc 1 A 23 931 2 3 4 5 6 7 8 1.1 1.2 1.3 1.1+2.3 1.1-2.3 1.1-2.3 abc xyz1 A 1 2 3 4 5 6 7 8 1.1 1.2 1.3 1.1+2.3 1.1-2.3 1.1-2.3 abc xyz -
src/tests/user_literals.c
r982832e re3e16bc 10 10 // Created On : Wed Sep 6 21:40:50 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 9 08:31:32201713 // Update Count : 4812 // Last Modified On : Wed Sep 6 23:19:08 2017 13 // Update Count : 36 14 14 // 15 15 16 16 #include <fstream> 17 #include <wchar.h>18 #include <uchar.h>19 20 int ?`s( int s ) { sout | "secs" | s | endl; return s; }21 int ?`m( int m ) { sout | "mins" | m | endl; return m * 60; }22 int ?`h( int h ) { sout | "hours" | h | endl; return h * 3600; }23 int ?`_A_( int x ) { sout | "_A_" | x | endl; return x; }24 int ?`__thingy_( int x ) { sout | "_thingy_" | x | endl; return x; }25 26 int ?`s( const char * s ) { sout | "secs" | s | endl; return 0; }27 int ?`m( const char16_t * m ) { sout | "mins" | m | endl; return 0;}28 int ?`h( const char32_t * h ) { sout | "hours" | h | endl; return 0; }29 int ?`_A_( const wchar_t * str ) { sout | "_A_" | str | endl; return 0; }30 int ?`__thingy_( const char * str ) { sout | "_thingy_" | str | endl; return 0; }31 32 17 33 18 struct Weight { 34 double stones;19 double stones; 35 20 }; 36 void ?{}( Weight & w ) { w.stones = 0; } // operations21 void ?{}( Weight & w ) { w.stones = 0; } // constructors 37 22 void ?{}( Weight & w, double w ) { w.stones = w; } 23 38 24 Weight ?+?( Weight l, Weight r ) { return (Weight){ l.stones + r.stones }; } 39 25 ofstream * ?|?( ofstream * os, Weight w ) { return os | w.stones; } 40 26 41 Weight ?`st( double w ) { return (Weight){ w }; } // backquote foruser literals27 Weight ?`st( double w ) { return (Weight){ w }; } // user literals 42 28 Weight ?`lb( double w ) { return (Weight){ w / 14.0 }; } 43 29 Weight ?`kg( double w ) { return (Weight) { w * 0.1575}; } 44 30 31 int main() { 32 Weight w, hw = { 14 }; 33 w = 11`st + 1`lb; 34 sout | w | endl; 35 w = 70.3`kg; 36 sout | w | endl; 37 w = 155`lb; 38 sout | w | endl; 39 w = 0x9b`lb; // hexadecimal weight 40 sout | w | endl; 41 w = 0233`lb; // octal weight 42 sout | w | endl; 43 w = 5`st + 8`kg + 25`lb + hw; 44 sout | w | endl; 45 } 45 46 46 int main() {47 Weight w, hw = { 14 }; // 14 stone48 w = 11`st + 1`lb;49 sout | w | endl;50 w = 70.3`kg;51 sout | w | endl;52 w = 155`lb;53 sout | w | endl;54 w = 0x_9b_u`lb; // hexadecimal unsigned weight (155)55 sout | w | endl;56 w = 0_233`lb; // octal weight (155)57 sout | w | endl;58 w = 5`st + 8`kg + 25`lb + hw;59 sout | w | endl;60 47 61 // 0`secs;62 1`s;63 23`s;64 23u`m;65 23l`h;66 23_ul`_A_;67 1_234_LL`__thingy_;68 69 0xff_ffl;70 0xff_ff`s;71 0xff_ffu`m;72 0xff_ffl`h;73 0xff_fful`_A_;74 0xff_ffLL`__thingy_;75 76 '\n'`s;77 L'\n'`h;78 u'\n'`m;79 L_'\n'`_A_;80 U_'\n'`__thingy_;81 82 "abc"`s;83 u"abc"`m;84 U_"abc"`h;85 L"abc"`_A_;86 u8_"abc"`__thingy_;87 } // main88 48 89 49 // Local Variables: //
Note:
See TracChangeset
for help on using the changeset viewer.