Changeset 866545b


Ignore:
Timestamp:
Jun 6, 2019, 10:23:59 PM (3 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
arm-eh, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr
Children:
46438e4
Parents:
c6a1e8a (diff), 5684736 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Files:
2 added
23 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Convert.cpp

    rc6a1e8a r866545b  
    1010// Created On       : Thu May 09 15::37::05 2019
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Wed May 29 17:05:00 2019
    13 // Update Count     : 9
     12// Last Modified On : Thu May 06 19:51:00 2019
     13// Update Count     : 10
    1414//
    1515
     
    4949// This is to preserve the FindSpecialDecls hack. It does not (and perhaps should not)
    5050// allow us to use the same stratagy in the new ast.
     51ast::Type * sizeType = nullptr;
    5152ast::FunctionDecl * dereferenceOperator = nullptr;
    5253ast::StructDecl   * dtorStruct = nullptr;
     
    147148
    148149        const ast::DeclWithType * visit( const ast::ObjectDecl * node ) override final {
    149                 if ( inCache( node ) ) return nullptr;
     150                auto&& bfwd = get<Expression>().accept1( node->bitfieldWidth );
     151                auto&& type = get<Type>().accept1( node->type );
     152                auto&& init = get<Initializer>().accept1( node->init );
     153                auto&& attr = get<Attribute>().acceptL( node->attributes );
     154                if ( inCache( node ) ) {
     155                        if(node->name == "tmp") {
     156                                std::cerr << (void*)node << "(new) in cache " << (void*)this->node << "(old)" << std::endl;
     157                        }
     158                        return nullptr;
     159                }
    150160                auto decl = new ObjectDecl(
    151161                        node->name,
    152162                        Type::StorageClasses( node->storage.val ),
    153163                        LinkageSpec::Spec( node->linkage.val ),
    154                         get<Expression>().accept1( node->bitfieldWidth ),
    155                         get<Type>().accept1( node->type ),
    156                         get<Initializer>().accept1( node->init ),
    157                         get<Attribute>().acceptL( node->attributes ),
     164                        bfwd,
     165                        type,
     166                        init,
     167                        attr,
    158168                        Type::FuncSpecifiers( node->funcSpec.val )
    159169                );
     170                if(node->name == "tmp") {
     171                        std::cerr << (void*)node << "(new) created " << (void*)decl << "(old)" << std::endl;
     172                }
    160173                return declWithTypePostamble( decl, node );
    161174        }
     
    709722                auto expr = visitBaseExpr( node,
    710723                        new MemberExpr(
    711                                 inCache(node->member) ?
    712                                         dynamic_cast<DeclarationWithType *>(this->node) :
    713                                         get<DeclarationWithType>().accept1(node->member),
     724                                get<DeclarationWithType>().accept1(node->member),
    714725                                get<Expression>().accept1(node->aggregate)
    715726                        )
     
    720731
    721732        const ast::Expr * visit( const ast::VariableExpr * node ) override final {
    722                 auto expr = visitBaseExpr( node,
    723                         new VariableExpr(
    724                                 inCache(node->var) ?
    725                                         dynamic_cast<DeclarationWithType *>(this->node) :
    726                                         get<DeclarationWithType>().accept1(node->var)
    727                         )
    728                 );
     733                auto expr = new VariableExpr();
     734                visitBaseExpr( node, expr );
     735                expr->var = get<DeclarationWithType>().accept1(node->var);
     736                Type * type = expr->var->get_type()->clone();
     737                type->set_lvalue( true );
     738                expr->set_result( type );
    729739                this->node = expr;
    730740                return nullptr;
     
    819829                        new OffsetofExpr(
    820830                                get<Type>().accept1(node->type),
    821                                 inCache(node->member) ?
    822                                         dynamic_cast<DeclarationWithType *>(this->node) :
    823                                         get<DeclarationWithType>().accept1(node->member)
     831                                get<DeclarationWithType>().accept1(node->member)
    824832                        )
    825833                );
     
    10821090
    10831091        const ast::Type * visit( const ast::BasicType * node ) override final {
    1084                 this->node = new BasicType{ cv( node ), (BasicType::Kind)(unsigned)node->kind };
     1092                auto type = new BasicType{ cv( node ), (BasicType::Kind)(unsigned)node->kind };
     1093                // I believe this should always be a BasicType.
     1094                if ( sizeType == node ) {
     1095                        Validate::SizeType = type;
     1096                }
     1097                this->node = type;
    10851098                return nullptr;
    10861099        }
     
    13561369                return strict_dynamic_cast< ast::Decl * >( node );
    13571370        }
     1371
     1372        ConverterOldToNew() = default;
     1373        ConverterOldToNew(const ConverterOldToNew &) = delete;
     1374        ConverterOldToNew(ConverterOldToNew &&) = delete;
    13581375private:
    13591376        /// conversion output
    1360         ast::Node * node;
     1377        ast::Node * node = nullptr;
    13611378        /// cache of nodes that might be referenced by readonly<> for de-duplication
    1362         std::unordered_map< BaseSyntaxNode *, ast::Node * > cache;
     1379        std::unordered_map< BaseSyntaxNode *, ast::Node * > cache = {};
    13631380
    13641381        // Local Utilities:
     1382
     1383        #define construct(T, key, ...) ({ \
     1384                void * data = ::operator new(sizeof(T)); \
     1385                cache.emplace( key, (T*)data ); \
     1386                new (data) T( __VA_ARGS__ ); \
     1387        })
    13651388
    13661389        template<typename NewT, typename OldT>
     
    14241447
    14251448        virtual void visit( ObjectDecl * old ) override final {
    1426                 if ( inCache( old ) ) return;
     1449                if( old->name == "tmp" ) {
     1450                        std::cerr << "building parameters for" << (void*)old << std::endl;
     1451                }
     1452                auto&& type = GET_ACCEPT_1(type, Type);
     1453                auto&& init = GET_ACCEPT_1(init, Init);
     1454                auto&& bfwd = GET_ACCEPT_1(bitfieldWidth, Expr);
     1455                auto&& attr = GET_ACCEPT_V(attributes, Attribute);
     1456                if( old->name == "tmp" ) {
     1457                        std::cerr << "checking cache for " << (void*)old << std::endl;
     1458                }
     1459                if ( inCache( old ) ) {
     1460                        if( old->name == "tmp" ) {
     1461                                std::cerr << (void*)old << "(old) in cache " << (void*)this->node << "(new)" << std::endl;
     1462                        }
     1463                        return;
     1464                }
    14271465                auto decl = new ast::ObjectDecl(
    14281466                        old->location,
    14291467                        old->name,
    1430                         GET_ACCEPT_1(type, Type),
    1431                         GET_ACCEPT_1(init, Init),
     1468                        type,
     1469                        init,
    14321470                        { old->get_storageClasses().val },
    14331471                        { old->linkage.val },
    1434                         GET_ACCEPT_1(bitfieldWidth, Expr),
    1435                         GET_ACCEPT_V(attributes, Attribute),
     1472                        bfwd,
     1473                        std::move(attr),
    14361474                        { old->get_funcSpec().val }
    14371475                );
    1438                 cache.emplace( old, decl );
     1476                cache.emplace(old, decl);
     1477                if( old->name == "tmp" ) {
     1478                        std::cerr << (void*)old << "(old) added to cache with " << (void*)decl << "(new)" << std::endl;
     1479                }
     1480                assert(cache.find( old ) != cache.end());
    14391481                decl->scopeLevel = old->scopeLevel;
    14401482                decl->mangleName = old->mangleName;
     
    14441486
    14451487                this->node = decl;
     1488
     1489                if( old->name == "tmp" ) {
     1490                        std::cerr << (void*)old << "(old) created " << (void*)this->node << "(new)" << std::endl;
     1491                }
    14461492        }
    14471493
     
    20922138                        new ast::MemberExpr(
    20932139                                old->location,
    2094                                 inCache(old->member) ?
    2095                                         dynamic_cast<ast::DeclWithType *>(this->node) :
    2096                                         GET_ACCEPT_1(member, DeclWithType),
     2140                                GET_ACCEPT_1(member, DeclWithType),
    20972141                                GET_ACCEPT_1(aggregate, Expr)
    20982142                        )
     
    21012145
    21022146        virtual void visit( VariableExpr * old ) override final {
    2103                 this->node = visitBaseExpr( old,
    2104                         new ast::VariableExpr(
    2105                                 old->location,
    2106                                 inCache(old->var) ?
    2107                                         dynamic_cast<ast::DeclWithType *>(this->node) :
    2108                                         GET_ACCEPT_1(var, DeclWithType)
    2109                         )
    2110                 );
     2147                auto expr = new ast::VariableExpr(
     2148                        old->location
     2149                );
     2150
     2151                visitBaseExpr( old,
     2152                        expr
     2153                );
     2154
     2155                expr->var = GET_ACCEPT_1(var, DeclWithType);
     2156                expr->result = expr->var->get_type();
     2157                add_qualifiers( expr->result, ast::CV::Lvalue );
     2158                this->node = expr;
    21112159        }
    21122160
     
    22342282                                old->location,
    22352283                                GET_ACCEPT_1(type, Type),
    2236                                 inCache(old->member) ?
    2237                                         dynamic_cast<ast::DeclWithType *>(this->node) :
    2238                                         GET_ACCEPT_1(member, DeclWithType)
     2284                                GET_ACCEPT_1(member, DeclWithType)
    22392285                        )
    22402286                );
     
    24722518
    24732519        virtual void visit( BasicType * old ) override final {
    2474                 this->node = new ast::BasicType{ (ast::BasicType::Kind)(unsigned)old->kind, cv( old ) };
     2520                auto type = new ast::BasicType{ (ast::BasicType::Kind)(unsigned)old->kind, cv( old ) };
     2521                // I believe this should always be a BasicType.
     2522                if ( Validate::SizeType == old ) {
     2523                        sizeType = type;
     2524                }
     2525                this->node = type;
    24752526        }
    24762527
  • src/AST/Expr.cpp

    rc6a1e8a r866545b  
    170170// --- VariableExpr
    171171
     172VariableExpr::VariableExpr( const CodeLocation & loc )
     173: Expr( loc ), var( nullptr ) {}
     174
    172175VariableExpr::VariableExpr( const CodeLocation & loc, const DeclWithType * v )
    173176: Expr( loc ), var( v ) {
  • src/AST/Expr.hpp

    rc6a1e8a r866545b  
    315315        readonly<DeclWithType> var;
    316316
     317        VariableExpr( const CodeLocation & loc );
    317318        VariableExpr( const CodeLocation & loc, const DeclWithType * v );
    318319
  • src/AST/Node.hpp

    rc6a1e8a r866545b  
    1818#include <cassert>
    1919#include <iosfwd>
     20#include <type_traits> // for remove_reference
    2021
    2122#include "Common/ErrorObjects.h"  // for SemanticErrorException
     
    8283};
    8384
    84 // Mutate a node, non-member function to avoid static type
    85 // problems and be able to use auto return
     85/// Mutate a node, non-member function to avoid static type
     86/// problems and be able to use auto return
    8687template<typename node_t>
    8788node_t * mutate( const node_t * node ) {
     
    9596        );
    9697        return node->clone();
     98}
     99
     100/// Mutate a node field (only clones if not equal to existing value)
     101template<typename node_t, typename field_t>
     102const node_t * mutate_field(
     103        const node_t * node,
     104        typename std::remove_const<typename std::remove_reference<field_t>::type>::type node_t::* field,
     105        field_t&& val
     106) {
     107        if ( node->*field == val ) return node;
     108       
     109        node_t * ret = mutate( node );
     110        ret->*field = std::forward< field_t >( val );
     111        return ret;
    97112}
    98113
     
    191206        /// wrapper for convenient access to strict_dynamic_cast
    192207        template<typename o_node_t>
    193         const o_node_t * strict_as() const { return strict_dynamic_cast<const o_node_t *>(node); }
     208        const o_node_t * strict_as() const { _check(); return strict_dynamic_cast<const o_node_t *>(node); }
    194209
    195210        /// Returns a mutable version of the pointer in this node.
  • src/AST/Pass.hpp

    rc6a1e8a r866545b  
    201201        container_t< ptr<node_t> > call_accept( const container_t< ptr<node_t> > & container );
    202202
     203public:
    203204        /// Logic to call the accept and mutate the parent if needed, delegates call to accept
    204205        template<typename node_t, typename parent_t, typename child_t>
  • src/AST/module.mk

    rc6a1e8a r866545b  
    1616
    1717SRC_AST = \
     18        AST/AssertAcyclic.cpp \
    1819        AST/Attribute.cpp \
    1920        AST/Convert.cpp \
  • src/InitTweak/FixInit.cc

    rc6a1e8a r866545b  
    262262                        // unwrap implicit statement wrapper
    263263                        Statement * dtor = input;
    264                         if ( ImplicitCtorDtorStmt * implicit = dynamic_cast< ImplicitCtorDtorStmt * >( input ) ) {
    265                                 // dtor = implicit->callStmt;
    266                                 // implicit->callStmt = nullptr;
    267                         }
    268264                        assert( dtor );
    269265                        std::list< Expression * > matches;
     
    291287                        // wraps the more complicated code.
    292288                        static UniqueName dtorNamer( "__cleanup_dtor" );
    293                         FunctionDecl * dtorFunc = FunctionDecl::newFunction( dtorNamer.newName(), SymTab::genDefaultType( objDecl->type->stripReferences(), false ), new CompoundStmt() );
     289                        std::string name = dtorNamer.newName();
     290                        FunctionDecl * dtorFunc = FunctionDecl::newFunction( name, SymTab::genDefaultType( objDecl->type->stripReferences(), false ), new CompoundStmt() );
    294291                        stmtsToAdd.push_back( new DeclStmt( dtorFunc ) );
    295292
     
    304301                                replacement = new CastExpr( replacement, base->clone() );
    305302                        }
    306                         DeclReplacer::replace( dtor, { std::make_pair( objDecl, replacement ) } );
     303                        size_t replaced = DeclReplacer::replace( dtor, { std::make_pair( objDecl, replacement ) } );
     304                        if(replaced == 0) {
     305                                objDecl->print(std::cerr);
     306                                std::cerr << "-----" << std::endl;
     307                                dtor->print(std::cerr);
     308                                std::cerr << "Failed to replace " << objDecl << std::endl;
     309                                abort();
     310                        }
    307311                        dtorFunc->statements->push_back( strict_dynamic_cast<Statement *>( dtor ) );
    308312
  • src/Makefile.in

    rc6a1e8a r866545b  
    165165libdemangle_a_LIBADD =
    166166am__dirstamp = $(am__leading_dot)dirstamp
    167 am__objects_1 = AST/Attribute.$(OBJEXT) AST/Convert.$(OBJEXT) \
    168         AST/Decl.$(OBJEXT) AST/DeclReplacer.$(OBJEXT) \
    169         AST/Expr.$(OBJEXT) AST/GenericSubstitution.$(OBJEXT) \
    170         AST/Init.$(OBJEXT) AST/LinkageSpec.$(OBJEXT) \
    171         AST/Node.$(OBJEXT) AST/Pass.$(OBJEXT) AST/Print.$(OBJEXT) \
    172         AST/Stmt.$(OBJEXT) AST/SymbolTable.$(OBJEXT) \
    173         AST/Type.$(OBJEXT) AST/TypeEnvironment.$(OBJEXT) \
    174         AST/TypeSubstitution.$(OBJEXT)
     167am__objects_1 = AST/AssertAcyclic.$(OBJEXT) AST/Attribute.$(OBJEXT) \
     168        AST/Convert.$(OBJEXT) AST/Decl.$(OBJEXT) \
     169        AST/DeclReplacer.$(OBJEXT) AST/Expr.$(OBJEXT) \
     170        AST/GenericSubstitution.$(OBJEXT) AST/Init.$(OBJEXT) \
     171        AST/LinkageSpec.$(OBJEXT) AST/Node.$(OBJEXT) \
     172        AST/Pass.$(OBJEXT) AST/Print.$(OBJEXT) AST/Stmt.$(OBJEXT) \
     173        AST/SymbolTable.$(OBJEXT) AST/Type.$(OBJEXT) \
     174        AST/TypeEnvironment.$(OBJEXT) AST/TypeSubstitution.$(OBJEXT)
    175175am__objects_2 = CodeGen/CodeGenerator.$(OBJEXT) \
    176176        CodeGen/FixMain.$(OBJEXT) CodeGen/GenType.$(OBJEXT) \
     
    577577@WITH_LIBTCMALLOC_TRUE@TCMALLOCFLAG = -DTCMALLOC
    578578SRC_AST = \
     579        AST/AssertAcyclic.cpp \
    579580        AST/Attribute.cpp \
    580581        AST/Convert.cpp \
     
    744745        @$(MKDIR_P) AST/$(DEPDIR)
    745746        @: > AST/$(DEPDIR)/$(am__dirstamp)
     747AST/AssertAcyclic.$(OBJEXT): AST/$(am__dirstamp) \
     748        AST/$(DEPDIR)/$(am__dirstamp)
    746749AST/Attribute.$(OBJEXT): AST/$(am__dirstamp) \
    747750        AST/$(DEPDIR)/$(am__dirstamp)
     
    11931196@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MakeLibCfa.Po@am__quote@
    11941197@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
     1198@AMDEP_TRUE@@am__include@ @am__quote@AST/$(DEPDIR)/AssertAcyclic.Po@am__quote@
    11951199@AMDEP_TRUE@@am__include@ @am__quote@AST/$(DEPDIR)/Attribute.Po@am__quote@
    11961200@AMDEP_TRUE@@am__include@ @am__quote@AST/$(DEPDIR)/Convert.Po@am__quote@
  • src/ResolvExpr/CurrentObject.cc

    rc6a1e8a r866545b  
    2020#include <string>                      // for string, operator<<, allocator
    2121
     22#include "AST/Expr.hpp"                // for InitAlternative
     23#include "AST/Init.hpp"                // for Designation
     24#include "AST/Node.hpp"                // for readonly
    2225#include "Common/Indenter.h"           // for Indenter, operator<<
    2326#include "Common/SemanticError.h"      // for SemanticError
     
    579582} // namespace ResolvExpr
    580583
     584namespace ast {
     585
     586        /// Iterates members of a type by initializer
     587        class MemberIterator {
     588        public:
     589                virtual ~MemberIterator() {}
     590
     591                /// retrieve the list of possible (Type,Designation) pairs for the current position in the
     592                /// current object
     593                virtual std::vector< InitAlternative > operator* () const = 0;
     594       
     595        protected:
     596                /// helper for operator*; aggregates must add designator to each init alternative, but
     597                /// adding designators in operator* creates duplicates
     598                virtual std::vector< InitAlternative > first() const = 0;
     599        };
     600
     601        /// Iterates "other" types (e.g. basic, pointer) which do not change at list initializer entry
     602        class SimpleIterator final : public MemberIterator {
     603                CodeLocation location;
     604                readonly< Type > type = nullptr;
     605        public:
     606                SimpleIterator( const CodeLocation & loc, const Type * t ) : location( loc ), type( t ) {}
     607
     608                std::vector< InitAlternative > operator* () const override { return first(); }
     609
     610        protected:
     611                std::vector< InitAlternative > first() const override {
     612                        if ( type ) return { InitAlternative{ type, new Designation{ location } } };
     613                        return {};
     614                }
     615        };
     616
     617        CurrentObject::CurrentObject( const CodeLocation & loc, const Type * type ) : objStack() {
     618                objStack.emplace_back( new SimpleIterator{ loc, type } );
     619        }
     620
     621        std::vector< InitAlternative > CurrentObject::getOptions() {
     622                PRINT( std::cerr << "____getting current options" << std::endl; )
     623                assertf( ! objStack.empty(), "objstack empty in getOptions" );
     624                return **objStack.back();
     625        }
     626}
     627
    581628// Local Variables: //
    582629// tab-width: 4 //
  • src/ResolvExpr/CurrentObject.h

    rc6a1e8a r866545b  
    1717
    1818#include <list>   // for list
     19#include <memory> // for unique_ptr
    1920#include <stack>  // for stack
     21#include <vector>
     22
     23#include "Common/CodeLocation.h"
    2024
    2125class Designation;
     
    5256} // namespace ResolvExpr
    5357
     58namespace ast {
     59        // AST class types
     60        class Designation;
     61        class InitAlternative;
     62        class Type;
     63
     64        // forward declaration of internal detail
     65        class MemberIterator;
     66
     67        /// Builds initializer lists in resolution
     68        class CurrentObject final {
     69                std::vector< std::shared_ptr<MemberIterator> > objStack;
     70       
     71        public:
     72                CurrentObject() = default;
     73                CurrentObject( const CodeLocation & loc, const Type * type );
     74
     75                /// produces a list of alternatives (Type *, Designation *) for the current sub-object's
     76                /// initializer.
     77                std::vector< InitAlternative > getOptions();
     78        };
     79} // namespace ast
     80
    5481// Local Variables: //
    5582// tab-width: 4 //
  • src/ResolvExpr/ResolveAssertions.cc

    rc6a1e8a r866545b  
    342342
    343343        /// Limit to depth of recursion of assertion satisfaction
    344         static const int recursionLimit = /* 10 */ 4;
     344        static const int recursionLimit = 4;
     345        /// Maximum number of simultaneously-deferred assertions to attempt concurrent satisfaction of
     346        static const int deferLimit = 10;
    345347
    346348        void resolveAssertions( Alternative& alt, const SymTab::Indexer& indexer, AltList& out, std::list<std::string>& errors ) {
     
    369371                                                ss << tabs << "Unsatisfiable alternative:\n";
    370372                                                resn.alt.print( ss, ++tabs );
    371                                                 ss << --tabs << "Could not satisfy assertion:\n";
    372                                                 assn.decl->print( ss, ++tabs );
     373                                                ss << (tabs-1) << "Could not satisfy assertion:\n";
     374                                                assn.decl->print( ss, tabs );
    373375                                               
    374376                                                errors.emplace_back( ss.str() );
     
    384386                                                new_resns.emplace_back( std::move(resn), IterateState );
    385387                                        }
     388                                } else if ( resn.deferred.size() > deferLimit ) {
     389                                        // too many deferred assertions to attempt mutual compatibility
     390                                        Indenter tabs{ 3 };
     391                                        std::ostringstream ss;
     392                                        ss << tabs << "Unsatisfiable alternative:\n";
     393                                        resn.alt.print( ss, ++tabs );
     394                                        ss << (tabs-1) << "Too many non-unique satisfying assignments for "
     395                                                "assertions:\n";
     396                                        for ( const auto& d : resn.deferred ) {
     397                                                d.decl->print( ss, tabs );
     398                                        }
     399
     400                                        errors.emplace_back( ss.str() );
     401                                        goto nextResn;
    386402                                } else {
    387403                                        // resolve deferred assertions by mutual compatibility
     
    395411                                                ss << tabs << "Unsatisfiable alternative:\n";
    396412                                                resn.alt.print( ss, ++tabs );
    397                                                 ss << --tabs << "No mutually-compatible satisfaction for assertions:\n";
    398                                                 ++tabs;
     413                                                ss << (tabs-1) << "No mutually-compatible satisfaction for assertions:\n";
    399414                                                for ( const auto& d : resn.deferred ) {
    400415                                                        d.decl->print( ss, tabs );
  • src/ResolvExpr/Resolver.cc

    rc6a1e8a r866545b  
    165165                void removeExtraneousCast( Expression *& expr, const SymTab::Indexer & indexer ) {
    166166                        if ( CastExpr * castExpr = dynamic_cast< CastExpr * >( expr ) ) {
    167                                 if ( ResolvExpr::typesCompatible( castExpr->arg->result, castExpr->result, indexer ) ) {
     167                                if ( typesCompatible( castExpr->arg->result, castExpr->result, indexer ) ) {
    168168                                        // cast is to the same type as its argument, so it's unnecessary -- remove it
    169169                                        expr = castExpr->arg;
     
    965965                }
    966966
     967                /// always-accept candidate filter
     968                bool anyCandidate( const Candidate & ) { return true; }
     969
    967970                /// Calls the CandidateFinder and finds the single best candidate
    968971                CandidateRef findUnfinishedKindExpression(
    969972                        const ast::Expr * untyped, const ast::SymbolTable & symtab, const std::string & kind,
    970                         std::function<bool(const Candidate &)> pred, ResolvMode mode = {}
     973                        std::function<bool(const Candidate &)> pred = anyCandidate, ResolvMode mode = {}
    971974                ) {
    972975                        if ( ! untyped ) return nullptr;
     
    10561059                                ) {
    10571060                                        // generated cast is the same type as its argument, remove it after keeping env
    1058                                         ast::ptr<ast::Expr> arg = castExpr->arg;
    1059                                         arg.get_and_mutate()->env = castExpr->env;
    1060                                         return arg;
     1061                                        return ast::mutate_field(
     1062                                                castExpr->arg.get(), &ast::Expr::env, castExpr->env );
    10611063                                }
    10621064                                return castExpr;
     
    10681070                        }
    10691071                };
     1072
     1073                /// Removes cast to type of argument (unlike StripCasts, also handles non-generated casts)
     1074                void removeExtraneousCast( ast::ptr<ast::Expr> & expr, const ast::SymbolTable & symtab ) {
     1075                        if ( const ast::CastExpr * castExpr = expr.as< ast::CastExpr >() ) {
     1076                                if ( typesCompatible( castExpr->arg->result, castExpr->result, symtab ) ) {
     1077                                        // cast is to the same type as its argument, remove it
     1078                                        ast::ptr< ast::TypeSubstitution > env = castExpr->env;
     1079                                        expr.set_and_mutate( castExpr->arg )->env = env;
     1080                                }
     1081                        }
     1082                }
    10701083
    10711084                /// Establish post-resolver invariants for expressions
     
    10821095                        StripCasts_new::strip( expr );
    10831096                }
    1084                
     1097
     1098                /// Find the expression candidate that is the unique best match for `untyped` in a `void`
     1099                /// context.
     1100                ast::ptr< ast::Expr > resolveInVoidContext(
     1101                        const ast::Expr * expr, const ast::SymbolTable & symtab, ast::TypeEnvironment & env
     1102                ) {
     1103                        assertf( expr, "expected a non-null expression" );
     1104                       
     1105                        // set up and resolve expression cast to void
     1106                        ast::CastExpr * untyped = new ast::CastExpr{ expr->location, expr };
     1107                        CandidateRef choice = findUnfinishedKindExpression(
     1108                                untyped, symtab, "", anyCandidate, ResolvMode::withAdjustment() );
     1109                       
     1110                        // a cast expression has either 0 or 1 interpretations (by language rules);
     1111                        // if 0, an exception has already been thrown, and this code will not run
     1112                        const ast::CastExpr * castExpr = choice->expr.strict_as< ast::CastExpr >();
     1113                        env = std::move( choice->env );
     1114
     1115                        return castExpr->arg;
     1116                }
     1117
     1118                /// Resolve `untyped` to the expression whose candidate is the best match for a `void`
     1119                /// context.
     1120                ast::ptr< ast::Expr > findVoidExpression(
     1121                        const ast::Expr * untyped, const ast::SymbolTable & symtab
     1122                ) {
     1123                        resetTyVarRenaming();
     1124                        ast::TypeEnvironment env;
     1125                        ast::ptr< ast::Expr > newExpr = resolveInVoidContext( untyped, symtab, env );
     1126                        finishExpr( newExpr, env, untyped->env );
     1127                        return newExpr;
     1128                }
     1129
    10851130                /// resolve `untyped` to the expression whose candidate satisfies `pred` with the
    10861131                /// lowest cost, returning the resolved version
    10871132                ast::ptr< ast::Expr > findKindExpression(
    1088                         const ast::Expr * untyped, const ast::SymbolTable & symtab, const std::string & kind,
    1089                         std::function<bool(const Candidate &)> pred, ResolvMode mode = {}
     1133                        const ast::Expr * untyped, const ast::SymbolTable & symtab,
     1134                        std::function<bool(const Candidate &)> pred = anyCandidate,
     1135                        const std::string & kind = "", ResolvMode mode = {}
    10901136                ) {
    10911137                        if ( ! untyped ) return {};
     
    10941140                        finishExpr( choice->expr, choice->env, untyped->env );
    10951141                        return std::move( choice->expr );
     1142                }
     1143
     1144                /// Resolve `untyped` to the single expression whose candidate is the best match for the
     1145                /// given type.
     1146                ast::ptr< ast::Expr > findSingleExpression(
     1147                        const ast::Expr * untyped, const ast::Type * type, const ast::SymbolTable & symtab
     1148                ) {
     1149                        assert( untyped && type );
     1150                        const ast::Expr * castExpr = new ast::CastExpr{ untyped->location, untyped, type };
     1151                        ast::ptr< ast::Expr > newExpr = findKindExpression( castExpr, symtab );
     1152                        removeExtraneousCast( newExpr, symtab );
     1153                        return newExpr;
    10961154                }
    10971155
     
    11151173                        const ast::Expr * untyped, const ast::SymbolTable & symtab
    11161174                ) {
    1117                         return findKindExpression( untyped, symtab, "condition", hasIntegralType );
     1175                        return findKindExpression( untyped, symtab, hasIntegralType, "condition" );
    11181176                }
    11191177        }
     
    11251183
    11261184                ast::ptr< ast::Type > functionReturn = nullptr;
    1127                 // ast::CurrentObject currentObject = nullptr;
     1185                ast::CurrentObject currentObject;
    11281186                bool inEnumDecl = false;
    11291187
     
    11411199                void previsit( const ast::PointerType * );
    11421200
    1143                 void previsit( const ast::ExprStmt * );
    1144                 void previsit( const ast::AsmExpr * );
    1145                 void previsit( const ast::AsmStmt * );
    1146                 void previsit( const ast::IfStmt * );
    1147                 void previsit( const ast::WhileStmt * );
    1148                 void previsit( const ast::ForStmt * );
    1149                 void previsit( const ast::SwitchStmt * );
    1150                 void previsit( const ast::CaseStmt * );
    1151                 void previsit( const ast::BranchStmt * );
    1152                 void previsit( const ast::ReturnStmt * );
    1153                 void previsit( const ast::ThrowStmt * );
    1154                 void previsit( const ast::CatchStmt * );
     1201                const ast::ExprStmt *  previsit( const ast::ExprStmt * );
     1202                const ast::AsmExpr *    previsit( const ast::AsmExpr * );
     1203                const ast::AsmStmt *    previsit( const ast::AsmStmt * );
     1204                const ast::IfStmt *    previsit( const ast::IfStmt * );
     1205                const ast::WhileStmt * previsit( const ast::WhileStmt * );
     1206                const ast::ForStmt *    previsit( const ast::ForStmt * );
     1207                const ast::SwitchStmt * previsit( const ast::SwitchStmt * );
     1208                const ast::CaseStmt *  previsit( const ast::CaseStmt * );
     1209                const ast::BranchStmt * previsit( const ast::BranchStmt * );
     1210                const ast::ReturnStmt * previsit( const ast::ReturnStmt * );
     1211                const ast::ThrowStmt * previsit( const ast::ThrowStmt * );
     1212                const ast::CatchStmt * previsit( const ast::CatchStmt * );
    11551213                void previsit( const ast::WaitForStmt * );
    11561214
     
    11961254
    11971255        void Resolver_new::previsit( const ast::ObjectDecl * objectDecl ) {
    1198                 #warning unimplemented; Resolver port in progress
    1199                 (void)objectDecl;
    1200                 assert(false);
     1256                // To handle initialization of routine pointers [e.g. int (*fp)(int) = foo()],
     1257                // class-variable `initContext` is changed multiple times because the LHS is analyzed
     1258                // twice. The second analysis changes `initContext` because a function type can contain
     1259                // object declarations in the return and parameter types. Therefore each value of
     1260                // `initContext` is retained so the type on the first analysis is preserved and used for
     1261                // selecting the RHS.
     1262                GuardValue( currentObject );
     1263                currentObject = ast::CurrentObject{ objectDecl->location, objectDecl->get_type() };
     1264                if ( inEnumDecl && dynamic_cast< const ast::EnumInstType * >( objectDecl->get_type() ) ) {
     1265                        // enumerator initializers should not use the enum type to initialize, since the
     1266                        // enum type is still incomplete at this point. Use `int` instead.
     1267                        currentObject = ast::CurrentObject{
     1268                                objectDecl->location, new ast::BasicType{ ast::BasicType::SignedInt } };
     1269                }
    12011270        }
    12021271
     
    12101279                const ast::StaticAssertDecl * assertDecl
    12111280        ) {
    1212                 ast::ptr< ast::Expr > cond = findIntegralExpression( assertDecl->cond, symtab );
    1213                 if ( cond == assertDecl->cond ) return assertDecl;
     1281                return ast::mutate_field(
     1282                        assertDecl, &ast::StaticAssertDecl::cond,
     1283                        findIntegralExpression( assertDecl->cond, symtab ) );
     1284        }
     1285
     1286        template< typename PtrType >
     1287        void handlePtrType( const PtrType * type, const ast::SymbolTable & symtab ) {
     1288                #warning unimplemented; needs support for new Validate::SizeType global
     1289                (void)type; (void)symtab;
     1290                assert( false );
     1291        }
     1292
     1293        void Resolver_new::previsit( const ast::ArrayType * at ) {
     1294                handlePtrType( at, symtab );
     1295        }
     1296
     1297        void Resolver_new::previsit( const ast::PointerType * pt ) {
     1298                handlePtrType( pt, symtab );
     1299        }
     1300
     1301        const ast::ExprStmt * Resolver_new::previsit( const ast::ExprStmt * exprStmt ) {
     1302                visit_children = false;
     1303                assertf( exprStmt->expr, "ExprStmt has null expression in resolver" );
    12141304               
    1215                 ast::StaticAssertDecl * ret = mutate( assertDecl );
    1216                 ret->cond = cond;
    1217                 return ret;
    1218         }
    1219 
    1220         void Resolver_new::previsit( const ast::ArrayType * at ) {
    1221                 #warning unimplemented; Resolver port in progress
    1222                 (void)at;
    1223                 assert(false);
    1224         }
    1225 
    1226         void Resolver_new::previsit( const ast::PointerType * pt ) {
    1227                 #warning unimplemented; Resolver port in progress
    1228                 (void)pt;
    1229                 assert(false);
    1230         }
    1231 
    1232         void Resolver_new::previsit( const ast::ExprStmt * exprStmt ) {
    1233                 #warning unimplemented; Resolver port in progress
    1234                 (void)exprStmt;
    1235                 assert(false);
    1236         }
    1237 
    1238         void Resolver_new::previsit( const ast::AsmExpr * asmExpr ) {
    1239                 #warning unimplemented; Resolver port in progress
    1240                 (void)asmExpr;
    1241                 assert(false);
    1242         }
    1243 
    1244         void Resolver_new::previsit( const ast::AsmStmt * asmStmt ) {
    1245                 #warning unimplemented; Resolver port in progress
    1246                 (void)asmStmt;
    1247                 assert(false);
    1248         }
    1249 
    1250         void Resolver_new::previsit( const ast::IfStmt * ifStmt ) {
    1251                 #warning unimplemented; Resolver port in progress
    1252                 (void)ifStmt;
    1253                 assert(false);
    1254         }
    1255 
    1256         void Resolver_new::previsit( const ast::WhileStmt * whileStmt ) {
    1257                 #warning unimplemented; Resolver port in progress
    1258                 (void)whileStmt;
    1259                 assert(false);
    1260         }
    1261 
    1262         void Resolver_new::previsit( const ast::ForStmt * forStmt ) {
    1263                 #warning unimplemented; Resolver port in progress
    1264                 (void)forStmt;
    1265                 assert(false);
    1266         }
    1267 
    1268         void Resolver_new::previsit( const ast::SwitchStmt * switchStmt ) {
    1269                 #warning unimplemented; Resolver port in progress
    1270                 (void)switchStmt;
    1271                 assert(false);
    1272         }
    1273 
    1274         void Resolver_new::previsit( const ast::CaseStmt * caseStmt ) {
    1275                 #warning unimplemented; Resolver port in progress
    1276                 (void)caseStmt;
    1277                 assert(false);
    1278         }
    1279 
    1280         void Resolver_new::previsit( const ast::BranchStmt * branchStmt ) {
    1281                 #warning unimplemented; Resolver port in progress
    1282                 (void)branchStmt;
    1283                 assert(false);
    1284         }
    1285 
    1286         void Resolver_new::previsit( const ast::ReturnStmt * returnStmt ) {
    1287                 #warning unimplemented; Resolver port in progress
    1288                 (void)returnStmt;
    1289                 assert(false);
    1290         }
    1291 
    1292         void Resolver_new::previsit( const ast::ThrowStmt * throwStmt ) {
    1293                 #warning unimplemented; Resolver port in progress
    1294                 (void)throwStmt;
    1295                 assert(false);
    1296         }
    1297 
    1298         void Resolver_new::previsit( const ast::CatchStmt * catchStmt ) {
    1299                 #warning unimplemented; Resolver port in progress
    1300                 (void)catchStmt;
    1301                 assert(false);
     1305                return ast::mutate_field(
     1306                        exprStmt, &ast::ExprStmt::expr, findVoidExpression( exprStmt->expr, symtab ) );
     1307        }
     1308
     1309        const ast::AsmExpr * Resolver_new::previsit( const ast::AsmExpr * asmExpr ) {
     1310                visit_children = false;
     1311
     1312                asmExpr = ast::mutate_field(
     1313                        asmExpr, &ast::AsmExpr::operand, findVoidExpression( asmExpr->operand, symtab ) );
     1314               
     1315                if ( asmExpr->inout ) {
     1316                        asmExpr = ast::mutate_field(
     1317                                asmExpr, &ast::AsmExpr::inout, findVoidExpression( asmExpr->inout, symtab ) );
     1318                }
     1319               
     1320                return asmExpr;
     1321        }
     1322
     1323        const ast::AsmStmt * Resolver_new::previsit( const ast::AsmStmt * asmStmt ) {
     1324                visitor->maybe_accept( asmStmt, &ast::AsmStmt::input );
     1325                visitor->maybe_accept( asmStmt, &ast::AsmStmt::output );
     1326                visit_children = false;
     1327                return asmStmt;
     1328        }
     1329
     1330        const ast::IfStmt * Resolver_new::previsit( const ast::IfStmt * ifStmt ) {
     1331                return ast::mutate_field(
     1332                        ifStmt, &ast::IfStmt::cond, findIntegralExpression( ifStmt->cond, symtab ) );
     1333        }
     1334
     1335        const ast::WhileStmt * Resolver_new::previsit( const ast::WhileStmt * whileStmt ) {
     1336                return ast::mutate_field(
     1337                        whileStmt, &ast::WhileStmt::cond, findIntegralExpression( whileStmt->cond, symtab ) );
     1338        }
     1339
     1340        const ast::ForStmt * Resolver_new::previsit( const ast::ForStmt * forStmt ) {
     1341                if ( forStmt->cond ) {
     1342                        forStmt = ast::mutate_field(
     1343                                forStmt, &ast::ForStmt::cond, findIntegralExpression( forStmt->cond, symtab ) );
     1344                }
     1345
     1346                if ( forStmt->inc ) {
     1347                        forStmt = ast::mutate_field(
     1348                                forStmt, &ast::ForStmt::inc, findVoidExpression( forStmt->inc, symtab ) );
     1349                }
     1350
     1351                return forStmt;
     1352        }
     1353
     1354        const ast::SwitchStmt * Resolver_new::previsit( const ast::SwitchStmt * switchStmt ) {
     1355                GuardValue( currentObject );
     1356                switchStmt = ast::mutate_field(
     1357                        switchStmt, &ast::SwitchStmt::cond,
     1358                        findIntegralExpression( switchStmt->cond, symtab ) );
     1359                currentObject = ast::CurrentObject{ switchStmt->location, switchStmt->cond->result };
     1360                return switchStmt;
     1361        }
     1362
     1363        const ast::CaseStmt * Resolver_new::previsit( const ast::CaseStmt * caseStmt ) {
     1364                if ( caseStmt->cond ) {
     1365                        std::vector< ast::InitAlternative > initAlts = currentObject.getOptions();
     1366                        assertf( initAlts.size() == 1, "SwitchStmt did not correctly resolve an integral "
     1367                                "expression." );
     1368                       
     1369                        const ast::Expr * untyped =
     1370                                new ast::CastExpr{ caseStmt->location, caseStmt->cond, initAlts.front().type };
     1371                        ast::ptr< ast::Expr > newExpr = findKindExpression( untyped, symtab );
     1372                       
     1373                        // case condition cannot have a cast in C, so it must be removed here, regardless of
     1374                        // whether it would perform a conversion.
     1375                        if ( const ast::CastExpr * castExpr = newExpr.as< ast::CastExpr >() ) {
     1376                                ast::ptr< ast::TypeSubstitution > env = castExpr->env;
     1377                                newExpr.set_and_mutate( castExpr->arg )->env = env;
     1378                        }
     1379                       
     1380                        caseStmt = ast::mutate_field( caseStmt, &ast::CaseStmt::cond, newExpr );
     1381                }
     1382                return caseStmt;
     1383        }
     1384
     1385        const ast::BranchStmt * Resolver_new::previsit( const ast::BranchStmt * branchStmt ) {
     1386                visit_children = false;
     1387                // must resolve the argument of a computed goto
     1388                if ( branchStmt->kind == ast::BranchStmt::Goto && branchStmt->computedTarget ) {
     1389                        // computed goto argument is void*
     1390                        branchStmt = ast::mutate_field(
     1391                                branchStmt, &ast::BranchStmt::computedTarget,
     1392                                findSingleExpression(
     1393                                        branchStmt->computedTarget, new ast::PointerType{ new ast::VoidType{} },
     1394                                        symtab ) );
     1395                }
     1396                return branchStmt;
     1397        }
     1398
     1399        const ast::ReturnStmt * Resolver_new::previsit( const ast::ReturnStmt * returnStmt ) {
     1400                visit_children = false;
     1401                if ( returnStmt->expr ) {
     1402                        returnStmt = ast::mutate_field(
     1403                                returnStmt, &ast::ReturnStmt::expr,
     1404                                findSingleExpression( returnStmt->expr, functionReturn, symtab ) );
     1405                }
     1406                return returnStmt;
     1407        }
     1408
     1409        const ast::ThrowStmt * Resolver_new::previsit( const ast::ThrowStmt * throwStmt ) {
     1410                visit_children = false;
     1411                if ( throwStmt->expr ) {
     1412                        const ast::StructDecl * exceptionDecl =
     1413                                symtab.lookupStruct( "__cfaabi_ehm__base_exception_t" );
     1414                        assert( exceptionDecl );
     1415                        ast::ptr< ast::Type > exceptType =
     1416                                new ast::PointerType{ new ast::StructInstType{ exceptionDecl } };
     1417                        throwStmt = ast::mutate_field(
     1418                                throwStmt, &ast::ThrowStmt::expr,
     1419                                findSingleExpression( throwStmt->expr, exceptType, symtab ) );
     1420                }
     1421                return throwStmt;
     1422        }
     1423
     1424        const ast::CatchStmt * Resolver_new::previsit( const ast::CatchStmt * catchStmt ) {
     1425                if ( catchStmt->cond ) {
     1426                        ast::ptr< ast::Type > boolType = new ast::BasicType{ ast::BasicType::Bool };
     1427                        catchStmt = ast::mutate_field(
     1428                                catchStmt, &ast::CatchStmt::cond,
     1429                                findSingleExpression( catchStmt->cond, boolType, symtab ) );
     1430                }
     1431                return catchStmt;
    13021432        }
    13031433
  • src/SynTree/DeclReplacer.h

    rc6a1e8a r866545b  
    3333
    3434        size_t replace( BaseSyntaxNode *& node, const ExprMap & exprMap, bool debug = false);
     35
    3536        template<typename T>
    36                 void replace( T *& node, const ExprMap & exprMap, bool debug = false ) {
    37                 if ( ! node ) return;
     37        size_t replace( T *& node, const ExprMap & exprMap, bool debug = false ) {
     38                if ( ! node ) return 0ul;
    3839                BaseSyntaxNode * arg = node;
    39                 replace( arg, exprMap, debug );
     40                size_t replaced = replace( arg, exprMap, debug );
    4041                node = dynamic_cast<T *>( arg );
    4142                assertf( node, "DeclReplacer fundamentally changed the type of its argument." );
     43                return replaced;
    4244        }
    4345}
  • src/SynTree/Expression.cc

    rc6a1e8a r866545b  
    102102        SemanticError( this, "Constant expression of non-integral type " );
    103103}
     104
     105VariableExpr::VariableExpr() : Expression(), var( nullptr ) {}
    104106
    105107VariableExpr::VariableExpr( DeclarationWithType *_var ) : Expression(), var( _var ) {
  • src/SynTree/Expression.h

    rc6a1e8a r866545b  
    299299        DeclarationWithType * var;
    300300
     301        VariableExpr();
    301302        VariableExpr( DeclarationWithType * var );
    302303        VariableExpr( const VariableExpr & other );
  • tests/.expect/KRfunctions.x64.txt

    rc6a1e8a r866545b  
    11signed int _X2f0Fi_iPKii__1(signed int _X1ai_1, const signed int *_X1bPKi_1, signed int _X1ci_1){
    2     __attribute__ ((unused)) signed int _X10_retval_f0i_1;
    3 }
     2          __attribute__ ((unused)) signed int _X10_retval_f0i_1;
     3        }
    44signed int _X2f1Fi_PiiPi__1(signed int *_X1aPi_1, __attribute__ ((unused)) signed int _X1bi_1, signed int *_X1cPi_1){
    5     __attribute__ ((unused)) signed int _X10_retval_f1i_1;
    6 }
     5          __attribute__ ((unused)) signed int _X10_retval_f1i_1;
     6        }
    77signed int _X2f2Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
    8     __attribute__ ((unused)) signed int _X10_retval_f2i_1;
    9 }
     8          __attribute__ ((unused)) signed int _X10_retval_f2i_1;
     9        }
    1010struct S {
    11     signed int _X1ii_1;
    12 };
     11          signed int _X1ii_1;
     12        };
    1313static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
    1414static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
     
    1717static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1);
    1818static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
    19     {
    20         ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
    21     }
     19          {
     20            ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
     21          }
    2222
    23 }
     23        }
    2424static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
    25     {
    26         ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
    27     }
     25          {
     26            ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
     27          }
    2828
    29 }
     29        }
    3030static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
    31     {
    32         ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
    33     }
     31          {
     32            ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
     33          }
    3434
    35 }
     35        }
    3636static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
    37     struct S _X4_retS1S_1;
    38     {
    39         ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
    40     }
     37          struct S _X4_retS1S_1;
     38          {
     39            ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
     40          }
    4141
    42     {
    43         ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
    44     }
     42          {
     43            ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
     44          }
    4545
    46     return _X4_retS1S_1;
    47 }
     46          return _X4_retS1S_1;
     47        }
    4848static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){
    49     {
    50         ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
    51     }
     49          {
     50            ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
     51          }
    5252
    53 }
     53        }
    5454signed int _X2f3Fi_S1SS1SPi__1(struct S _X1aS1S_1, struct S _X1bS1S_1, signed int *_X1cPi_1){
    55     __attribute__ ((unused)) signed int _X10_retval_f3i_1;
    56     struct S _X1sS1S_2;
    57 }
     55          __attribute__ ((unused)) signed int _X10_retval_f3i_1;
     56          struct S _X1sS1S_2;
     57        }
    5858signed int _X2f4Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
    59     __attribute__ ((unused)) signed int _X10_retval_f4i_1;
    60 }
     59          __attribute__ ((unused)) signed int _X10_retval_f4i_1;
     60        }
    6161signed int _X2f5Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
    62     __attribute__ ((unused)) signed int _X10_retval_f5i_1;
    63 }
     62          __attribute__ ((unused)) signed int _X10_retval_f5i_1;
     63        }
    6464signed int (*_X2f6FFi_i__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(__attribute__ ((unused)) signed int __anonymous_object0){
    65     __attribute__ ((unused)) signed int (*_X10_retval_f6Fi_i__1)(signed int __anonymous_object1);
    66 }
     65          __attribute__ ((unused)) signed int (*_X10_retval_f6Fi_i__1)(signed int __anonymous_object1);
     66        }
    6767signed int (*_X2f7FFi_ii__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(signed int _X1ai_1, signed int _X1bi_1){
    68     __attribute__ ((unused)) signed int (*_X10_retval_f7Fi_ii__1)(signed int _X1ai_1, signed int _X1bi_1);
    69 }
     68          __attribute__ ((unused)) signed int (*_X10_retval_f7Fi_ii__1)(signed int _X1ai_1, signed int _X1bi_1);
     69        }
    7070signed int *_X2f8FPi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
    71     __attribute__ ((unused)) signed int *_X10_retval_f8Pi_1;
    72 }
     71          __attribute__ ((unused)) signed int *_X10_retval_f8Pi_1;
     72        }
    7373signed int *const _X2f9FPi_PiiPi__1(signed int *_X1aPi_1, signed int _X1bi_1, signed int *_X1cPi_1){
    74     __attribute__ ((unused)) signed int *const _X10_retval_f9KPi_1;
    75 }
     74          __attribute__ ((unused)) signed int *const _X10_retval_f9KPi_1;
     75        }
    7676signed int *(*_X3f10FFPi_ii__iPiPid__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1, double _X1yd_1))(signed int _X1xi_1, signed int _X1yi_1){
    77     __attribute__ ((unused)) signed int *(*_X11_retval_f10FPi_ii__1)(signed int _X1xi_1, signed int _X1yi_1);
    78     signed int *_X1xFPi_ii__2(signed int __anonymous_object2, signed int __anonymous_object3);
    79     {
    80         ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */);
    81     }
     77          __attribute__ ((unused)) signed int *(*_X11_retval_f10FPi_ii__1)(signed int _X1xi_1, signed int _X1yi_1);
     78          signed int *_X1xFPi_ii__2(signed int __anonymous_object2, signed int __anonymous_object3);
     79          {
     80            ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */);
     81          }
    8282
    83     return _X11_retval_f10FPi_ii__1;
    84 }
     83          return _X11_retval_f10FPi_ii__1;
     84        }
    8585signed int (*_X3f11FPA0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[]{
    86     __attribute__ ((unused)) signed int (*_X11_retval_f11PA0i_1)[];
    87 }
     86          __attribute__ ((unused)) signed int (*_X11_retval_f11PA0i_1)[];
     87        }
    8888signed int (*_X3f12FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
    89     __attribute__ ((unused)) signed int (*_X11_retval_f12PA0A0i_1)[][((unsigned long int )10)];
    90 }
     89          __attribute__ ((unused)) signed int (*_X11_retval_f12PA0A0i_1)[][((unsigned long int )10)];
     90        }
    9191signed int (*_X3f13FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
    92     __attribute__ ((unused)) signed int (*_X11_retval_f13PA0A0i_1)[][((unsigned long int )10)];
    93 }
     92          __attribute__ ((unused)) signed int (*_X11_retval_f13PA0A0i_1)[][((unsigned long int )10)];
     93        }
    9494signed int (*_X3f14FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
    95     __attribute__ ((unused)) signed int (*_X11_retval_f14PA0A0i_1)[][((unsigned long int )10)];
    96 }
     95          __attribute__ ((unused)) signed int (*_X11_retval_f14PA0A0i_1)[][((unsigned long int )10)];
     96        }
    9797signed int _X3f15Fi_iii__1(signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){
    98     __attribute__ ((unused)) signed int _X11_retval_f15i_1;
    99 }
     98          __attribute__ ((unused)) signed int _X11_retval_f15i_1;
     99        }
    100100const signed int _X4fredFi___1(){
    101     __attribute__ ((unused)) const signed int _X12_retval_fredKi_1;
    102     signed int *(*_X1xFPi_ii__2)(signed int __anonymous_object4, signed int __anonymous_object5);
    103     signed int _X1ai_2;
    104     signed int _X1bi_2;
    105     {
    106         signed int *(*_tmp_cp_ret4)(signed int _X1xi_1, signed int _X1yi_1);
    107         ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));
    108     }
     101          __attribute__ ((unused)) const signed int _X12_retval_fredKi_1;
     102          signed int *(*_X1xFPi_ii__2)(signed int __anonymous_object4, signed int __anonymous_object5);
     103          signed int _X1ai_2;
     104          signed int _X1bi_2;
     105          {
     106            signed int *(*_tmp_cp_ret4)(signed int _X1xi_1, signed int _X1yi_1);
     107            ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));
     108          }
    109109
    110     const signed int _X2f1Fi_iPiPi__2(signed int _X1ai_2, signed int *_X1bPi_2, signed int *_X1cPi_2){
    111         __attribute__ ((unused)) const signed int _X10_retval_f1Ki_2;
    112     }
    113     const signed int _X2f2Fi_iii__2(signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){
    114         __attribute__ ((unused)) const signed int _X10_retval_f2Ki_2;
    115     }
    116 }
     110          const signed int _X2f1Fi_iPiPi__2(signed int _X1ai_2, signed int *_X1bPi_2, signed int *_X1cPi_2){
     111            __attribute__ ((unused)) const signed int _X10_retval_f1Ki_2;
     112          }
     113          const signed int _X2f2Fi_iii__2(signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){
     114            __attribute__ ((unused)) const signed int _X10_retval_f2Ki_2;
     115          }
     116        }
  • tests/.expect/attributes.x64.txt

    rc6a1e8a r866545b  
    11signed int _X2laFi___1(){
    2     __attribute__ ((unused)) signed int _X10_retval_lai_1;
    3     {
    4         L: __attribute__ ((unused)) ((void)1);
    5     }
    6 
    7 }
     2          __attribute__ ((unused)) signed int _X10_retval_lai_1;
     3          {
     4            L: __attribute__ ((unused)) ((void)1);
     5          }
     6
     7        }
    88struct __attribute__ ((unused)) __anonymous0 {
    9 };
     9        };
    1010static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1);
    1111static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
     
    1313static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
    1414static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
    15 }
     15        }
    1616static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
    17 }
     17        }
    1818static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
    19 }
     19        }
    2020static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
    21     struct __anonymous0 _X4_retS12__anonymous0_1;
    22     {
    23         ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1)));
    24     }
    25 
    26     return _X4_retS12__anonymous0_1;
    27 }
     21          struct __anonymous0 _X4_retS12__anonymous0_1;
     22          {
     23            ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1)));
     24          }
     25
     26          return _X4_retS12__anonymous0_1;
     27        }
    2828struct __attribute__ ((unused)) Agn1;
    2929struct __attribute__ ((unused)) Agn2 {
    30 };
     30        };
    3131static inline void _X12_constructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1);
    3232static inline void _X12_constructorFv_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1);
     
    3434static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1);
    3535static inline void _X12_constructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1){
    36 }
     36        }
    3737static inline void _X12_constructorFv_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){
    38 }
     38        }
    3939static inline void _X11_destructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1){
    40 }
     40        }
    4141static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){
    42     struct Agn2 _X4_retS4Agn2_1;
    43     {
    44         ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1)));
    45     }
    46 
    47     return _X4_retS4Agn2_1;
    48 }
     42          struct Agn2 _X4_retS4Agn2_1;
     43          {
     44            ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1)));
     45          }
     46
     47          return _X4_retS4Agn2_1;
     48        }
    4949enum __attribute__ ((unused)) __anonymous1 {
    50     _X2E1KM12__anonymous1_1,
    51 };
     50          _X2E1KM12__anonymous1_1,
     51        };
    5252enum __attribute__ ((unused)) Agn3;
    5353enum __attribute__ ((packed)) Agn3 {
    54     _X2E2KM4Agn3_1,
    55 };
     54          _X2E2KM4Agn3_1,
     55        };
    5656struct __attribute__ ((unused)) __anonymous2 {
    57 };
     57        };
    5858static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1);
    5959static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
     
    6161static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
    6262static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
    63 }
     63        }
    6464static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
    65 }
     65        }
    6666static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
    67 }
     67        }
    6868static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
    69     struct __anonymous2 _X4_retS12__anonymous2_1;
    70     {
    71         ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1)));
    72     }
    73 
    74     return _X4_retS12__anonymous2_1;
    75 }
     69          struct __anonymous2 _X4_retS12__anonymous2_1;
     70          {
     71            ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1)));
     72          }
     73
     74          return _X4_retS12__anonymous2_1;
     75        }
    7676struct __attribute__ ((unused)) Agn4 {
    77 };
     77        };
    7878static inline void _X12_constructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1);
    7979static inline void _X12_constructorFv_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1);
     
    8181static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1);
    8282static inline void _X12_constructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1){
    83 }
     83        }
    8484static inline void _X12_constructorFv_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){
    85 }
     85        }
    8686static inline void _X11_destructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1){
    87 }
     87        }
    8888static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){
    89     struct Agn4 _X4_retS4Agn4_1;
    90     {
    91         ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1)));
    92     }
    93 
    94     return _X4_retS4Agn4_1;
    95 }
     89          struct Agn4 _X4_retS4Agn4_1;
     90          {
     91            ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1)));
     92          }
     93
     94          return _X4_retS4Agn4_1;
     95        }
    9696struct Fdl {
    97     __attribute__ ((unused)) signed int _X2f1i_1;
    98     __attribute__ ((unused)) signed int _X2f2i_1;
    99     __attribute__ ((unused,unused)) signed int _X2f3i_1;
    100     __attribute__ ((unused)) signed int _X2f4i_1;
    101     __attribute__ ((unused,unused)) signed int _X2f5i_1;
    102     __attribute__ ((used,packed)) signed int _X2f6i_1;
    103     __attribute__ ((used,unused,unused)) signed int _X2f7i_1;
    104     __attribute__ ((used,used,unused)) signed int _X2f8i_1;
    105     __attribute__ ((unused,unused)) signed int *_X2f9Pi_1;
    106 };
     97          __attribute__ ((unused)) signed int _X2f1i_1;
     98          __attribute__ ((unused)) signed int _X2f2i_1;
     99          __attribute__ ((unused,unused)) signed int _X2f3i_1;
     100          __attribute__ ((unused)) signed int _X2f4i_1;
     101          __attribute__ ((unused,unused)) signed int _X2f5i_1;
     102          __attribute__ ((used,packed)) signed int _X2f6i_1;
     103          __attribute__ ((used,unused,unused)) signed int _X2f7i_1;
     104          __attribute__ ((used,used,unused)) signed int _X2f8i_1;
     105          __attribute__ ((unused,unused)) signed int *_X2f9Pi_1;
     106        };
    107107static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1);
    108108static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1);
     
    119119static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1);
    120120static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){
    121     {
    122         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */);
    123     }
    124 
    125     {
    126         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
    127     }
    128 
    129     {
    130         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
    131     }
    132 
    133     {
    134         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
    135     }
    136 
    137     {
    138         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
    139     }
    140 
    141     {
    142         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
    143     }
    144 
    145     {
    146         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
    147     }
    148 
    149     {
    150         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
    151     }
    152 
    153     {
    154         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    155     }
    156 
    157 }
     121          {
     122            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */);
     123          }
     124
     125          {
     126            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
     127          }
     128
     129          {
     130            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
     131          }
     132
     133          {
     134            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
     135          }
     136
     137          {
     138            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
     139          }
     140
     141          {
     142            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
     143          }
     144
     145          {
     146            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
     147          }
     148
     149          {
     150            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
     151          }
     152
     153          {
     154            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     155          }
     156
     157        }
    158158static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){
    159     {
    160         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */);
    161     }
    162 
    163     {
    164         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */);
    165     }
    166 
    167     {
    168         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */);
    169     }
    170 
    171     {
    172         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */);
    173     }
    174 
    175     {
    176         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */);
    177     }
    178 
    179     {
    180         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */);
    181     }
    182 
    183     {
    184         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */);
    185     }
    186 
    187     {
    188         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */);
    189     }
    190 
    191     {
    192         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */);
    193     }
    194 
    195 }
     159          {
     160            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */);
     161          }
     162
     163          {
     164            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */);
     165          }
     166
     167          {
     168            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */);
     169          }
     170
     171          {
     172            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */);
     173          }
     174
     175          {
     176            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */);
     177          }
     178
     179          {
     180            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */);
     181          }
     182
     183          {
     184            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */);
     185          }
     186
     187          {
     188            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */);
     189          }
     190
     191          {
     192            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */);
     193          }
     194
     195        }
    196196static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){
    197     {
    198         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */);
    199     }
    200 
    201     {
    202         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */);
    203     }
    204 
    205     {
    206         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */);
    207     }
    208 
    209     {
    210         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */);
    211     }
    212 
    213     {
    214         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */);
    215     }
    216 
    217     {
    218         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */);
    219     }
    220 
    221     {
    222         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */);
    223     }
    224 
    225     {
    226         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */);
    227     }
    228 
    229     {
    230         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */);
    231     }
    232 
    233 }
     197          {
     198            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */);
     199          }
     200
     201          {
     202            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */);
     203          }
     204
     205          {
     206            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */);
     207          }
     208
     209          {
     210            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */);
     211          }
     212
     213          {
     214            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */);
     215          }
     216
     217          {
     218            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */);
     219          }
     220
     221          {
     222            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */);
     223          }
     224
     225          {
     226            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */);
     227          }
     228
     229          {
     230            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */);
     231          }
     232
     233        }
    234234static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){
    235     struct Fdl _X4_retS3Fdl_1;
    236     {
    237         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1));
    238     }
    239 
    240     {
    241         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1));
    242     }
    243 
    244     {
    245         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1));
    246     }
    247 
    248     {
    249         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1));
    250     }
    251 
    252     {
    253         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1));
    254     }
    255 
    256     {
    257         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1));
    258     }
    259 
    260     {
    261         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1));
    262     }
    263 
    264     {
    265         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1));
    266     }
    267 
    268     {
    269         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1));
    270     }
    271 
    272     {
    273         ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1)));
    274     }
    275 
    276     return _X4_retS3Fdl_1;
    277 }
     235          struct Fdl _X4_retS3Fdl_1;
     236          {
     237            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1));
     238          }
     239
     240          {
     241            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1));
     242          }
     243
     244          {
     245            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1));
     246          }
     247
     248          {
     249            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1));
     250          }
     251
     252          {
     253            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1));
     254          }
     255
     256          {
     257            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1));
     258          }
     259
     260          {
     261            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1));
     262          }
     263
     264          {
     265            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1));
     266          }
     267
     268          {
     269            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1));
     270          }
     271
     272          {
     273            ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1)));
     274          }
     275
     276          return _X4_retS3Fdl_1;
     277        }
    278278static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1){
    279     {
    280         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    281     }
    282 
    283     {
    284         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
    285     }
    286 
    287     {
    288         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
    289     }
    290 
    291     {
    292         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
    293     }
    294 
    295     {
    296         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
    297     }
    298 
    299     {
    300         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
    301     }
    302 
    303     {
    304         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
    305     }
    306 
    307     {
    308         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
    309     }
    310 
    311     {
    312         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    313     }
    314 
    315 }
     279          {
     280            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     281          }
     282
     283          {
     284            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
     285          }
     286
     287          {
     288            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
     289          }
     290
     291          {
     292            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
     293          }
     294
     295          {
     296            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
     297          }
     298
     299          {
     300            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
     301          }
     302
     303          {
     304            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
     305          }
     306
     307          {
     308            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
     309          }
     310
     311          {
     312            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     313          }
     314
     315        }
    316316static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1){
    317     {
    318         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    319     }
    320 
    321     {
    322         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
    323     }
    324 
    325     {
    326         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
    327     }
    328 
    329     {
    330         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
    331     }
    332 
    333     {
    334         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
    335     }
    336 
    337     {
    338         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
    339     }
    340 
    341     {
    342         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
    343     }
    344 
    345     {
    346         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
    347     }
    348 
    349     {
    350         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    351     }
    352 
    353 }
     317          {
     318            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     319          }
     320
     321          {
     322            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
     323          }
     324
     325          {
     326            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
     327          }
     328
     329          {
     330            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
     331          }
     332
     333          {
     334            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
     335          }
     336
     337          {
     338            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
     339          }
     340
     341          {
     342            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
     343          }
     344
     345          {
     346            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
     347          }
     348
     349          {
     350            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     351          }
     352
     353        }
    354354static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1){
    355     {
    356         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    357     }
    358 
    359     {
    360         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
    361     }
    362 
    363     {
    364         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
    365     }
    366 
    367     {
    368         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
    369     }
    370 
    371     {
    372         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
    373     }
    374 
    375     {
    376         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
    377     }
    378 
    379     {
    380         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
    381     }
    382 
    383     {
    384         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
    385     }
    386 
    387     {
    388         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    389     }
    390 
    391 }
     355          {
     356            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     357          }
     358
     359          {
     360            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
     361          }
     362
     363          {
     364            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
     365          }
     366
     367          {
     368            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
     369          }
     370
     371          {
     372            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
     373          }
     374
     375          {
     376            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
     377          }
     378
     379          {
     380            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
     381          }
     382
     383          {
     384            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
     385          }
     386
     387          {
     388            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     389          }
     390
     391        }
    392392static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1){
    393     {
    394         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    395     }
    396 
    397     {
    398         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
    399     }
    400 
    401     {
    402         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
    403     }
    404 
    405     {
    406         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
    407     }
    408 
    409     {
    410         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
    411     }
    412 
    413     {
    414         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
    415     }
    416 
    417     {
    418         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
    419     }
    420 
    421     {
    422         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
    423     }
    424 
    425     {
    426         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    427     }
    428 
    429 }
     393          {
     394            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     395          }
     396
     397          {
     398            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
     399          }
     400
     401          {
     402            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
     403          }
     404
     405          {
     406            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
     407          }
     408
     409          {
     410            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
     411          }
     412
     413          {
     414            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
     415          }
     416
     417          {
     418            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
     419          }
     420
     421          {
     422            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
     423          }
     424
     425          {
     426            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     427          }
     428
     429        }
    430430static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1){
    431     {
    432         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    433     }
    434 
    435     {
    436         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
    437     }
    438 
    439     {
    440         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
    441     }
    442 
    443     {
    444         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
    445     }
    446 
    447     {
    448         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
    449     }
    450 
    451     {
    452         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
    453     }
    454 
    455     {
    456         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
    457     }
    458 
    459     {
    460         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
    461     }
    462 
    463     {
    464         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    465     }
    466 
    467 }
     431          {
     432            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     433          }
     434
     435          {
     436            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
     437          }
     438
     439          {
     440            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
     441          }
     442
     443          {
     444            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
     445          }
     446
     447          {
     448            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
     449          }
     450
     451          {
     452            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
     453          }
     454
     455          {
     456            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
     457          }
     458
     459          {
     460            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
     461          }
     462
     463          {
     464            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     465          }
     466
     467        }
    468468static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1){
    469     {
    470         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    471     }
    472 
    473     {
    474         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
    475     }
    476 
    477     {
    478         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
    479     }
    480 
    481     {
    482         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
    483     }
    484 
    485     {
    486         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
    487     }
    488 
    489     {
    490         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
    491     }
    492 
    493     {
    494         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
    495     }
    496 
    497     {
    498         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
    499     }
    500 
    501     {
    502         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    503     }
    504 
    505 }
     469          {
     470            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     471          }
     472
     473          {
     474            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
     475          }
     476
     477          {
     478            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
     479          }
     480
     481          {
     482            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
     483          }
     484
     485          {
     486            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
     487          }
     488
     489          {
     490            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
     491          }
     492
     493          {
     494            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
     495          }
     496
     497          {
     498            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
     499          }
     500
     501          {
     502            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     503          }
     504
     505        }
    506506static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1){
    507     {
    508         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    509     }
    510 
    511     {
    512         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
    513     }
    514 
    515     {
    516         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
    517     }
    518 
    519     {
    520         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
    521     }
    522 
    523     {
    524         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
    525     }
    526 
    527     {
    528         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
    529     }
    530 
    531     {
    532         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
    533     }
    534 
    535     {
    536         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
    537     }
    538 
    539     {
    540         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    541     }
    542 
    543 }
     507          {
     508            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     509          }
     510
     511          {
     512            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
     513          }
     514
     515          {
     516            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
     517          }
     518
     519          {
     520            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
     521          }
     522
     523          {
     524            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
     525          }
     526
     527          {
     528            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
     529          }
     530
     531          {
     532            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
     533          }
     534
     535          {
     536            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
     537          }
     538
     539          {
     540            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     541          }
     542
     543        }
    544544static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1){
    545     {
    546         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    547     }
    548 
    549     {
    550         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
    551     }
    552 
    553     {
    554         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
    555     }
    556 
    557     {
    558         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
    559     }
    560 
    561     {
    562         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
    563     }
    564 
    565     {
    566         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
    567     }
    568 
    569     {
    570         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
    571     }
    572 
    573     {
    574         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
    575     }
    576 
    577     {
    578         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
    579     }
    580 
    581 }
     545          {
     546            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     547          }
     548
     549          {
     550            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
     551          }
     552
     553          {
     554            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
     555          }
     556
     557          {
     558            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
     559          }
     560
     561          {
     562            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
     563          }
     564
     565          {
     566            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
     567          }
     568
     569          {
     570            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
     571          }
     572
     573          {
     574            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
     575          }
     576
     577          {
     578            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
     579          }
     580
     581        }
    582582static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1){
    583     {
    584         ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
    585     }
    586 
    587     {
    588         ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
    589     }
    590 
    591     {
    592         ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
    593     }
    594 
    595     {
    596         ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
    597     }
    598 
    599     {
    600         ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
    601     }
    602 
    603     {
    604         ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
    605     }
    606 
    607     {
    608         ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
    609     }
    610 
    611     {
    612         ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
    613     }
    614 
    615     {
    616         ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */);
    617     }
    618 
    619 }
     583          {
     584            ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
     585          }
     586
     587          {
     588            ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
     589          }
     590
     591          {
     592            ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
     593          }
     594
     595          {
     596            ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
     597          }
     598
     599          {
     600            ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
     601          }
     602
     603          {
     604            ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
     605          }
     606
     607          {
     608            ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
     609          }
     610
     611          {
     612            ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
     613          }
     614
     615          {
     616            ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */);
     617          }
     618
     619        }
    620620__attribute__ ((unused)) signed int _X1fFi___1() asm ( "xyz" );
    621621__attribute__ ((used,used)) const signed int _X3vd1Ki_1;
     
    629629__attribute__ ((unused,used)) signed int _X2f1Fi___1();
    630630__attribute__ ((unused)) signed int _X2f1Fi___1(){
    631     __attribute__ ((unused)) signed int _X10_retval_f1i_1;
    632 }
     631          __attribute__ ((unused)) signed int _X10_retval_f1i_1;
     632        }
    633633__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1();
    634634__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(){
    635     __attribute__ ((unused)) signed int **const _X10_retval_f2KPPi_1;
    636 }
     635          __attribute__ ((unused)) signed int **const _X10_retval_f2KPPi_1;
     636        }
    637637__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
    638638__attribute__ ((unused,unused)) signed int (*_X2f3FPA0i_i__1(signed int _X1pi_1))[]{
    639     __attribute__ ((unused)) signed int (*_X10_retval_f3PA0i_1)[];
    640 }
     639          __attribute__ ((unused)) signed int (*_X10_retval_f3PA0i_1)[];
     640        }
    641641__attribute__ ((unused,used,unused)) signed int (*_X2f4FFi_i____1())(signed int __anonymous_object1);
    642642__attribute__ ((unused,unused)) signed int (*_X2f4FFi_i____1())(__attribute__ ((unused)) signed int __anonymous_object2){
    643     __attribute__ ((unused)) signed int (*_X10_retval_f4Fi_i__1)(signed int __anonymous_object3);
    644 }
     643          __attribute__ ((unused)) signed int (*_X10_retval_f4Fi_i__1)(signed int __anonymous_object3);
     644        }
    645645signed int _X3vtrFi___1(){
    646     __attribute__ ((unused)) signed int _X11_retval_vtri_1;
    647     __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
    648     __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
    649     __attribute__ ((unused,unused,unused)) signed int _X2t3A0i_2[((unsigned long int )5)];
    650     __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t4A0PPi_2[((unsigned long int )5)];
    651     __attribute__ ((unused,unused,unused)) signed int _X2t5Fi___2();
    652     __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2();
    653 }
     646          __attribute__ ((unused)) signed int _X11_retval_vtri_1;
     647          __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
     648          __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
     649          __attribute__ ((unused,unused,unused)) signed int _X2t3A0i_2[((unsigned long int )5)];
     650          __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t4A0PPi_2[((unsigned long int )5)];
     651          __attribute__ ((unused,unused,unused)) signed int _X2t5Fi___2();
     652          __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2();
     653        }
    654654signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
    655655signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
    656     __attribute__ ((unused)) signed int _X12_retval_ipd1i_1;
    657 }
     656          __attribute__ ((unused)) signed int _X12_retval_ipd1i_1;
     657        }
    658658signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    659659signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
    660     __attribute__ ((unused)) signed int _X12_retval_ipd2i_1;
    661 }
     660          __attribute__ ((unused)) signed int _X12_retval_ipd2i_1;
     661        }
    662662signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    663663signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
    664     __attribute__ ((unused)) signed int _X12_retval_ipd3i_1;
    665 }
     664          __attribute__ ((unused)) signed int _X12_retval_ipd3i_1;
     665        }
    666666signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)());
    667667signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)()){
    668     __attribute__ ((unused)) signed int _X12_retval_ipd4i_1;
    669 }
     668          __attribute__ ((unused)) signed int _X12_retval_ipd4i_1;
     669        }
    670670signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
    671671signed int _X4tpr2Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signed int **_X3FooPPi_1);
     
    676676signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object6)(__attribute__ ((unused)) signed int (*__anonymous_object7)(__attribute__ ((unused,unused)) signed int __anonymous_object8)));
    677677signed int _X2adFi___1(){
    678     __attribute__ ((unused)) signed int _X10_retval_adi_1;
    679     __attribute__ ((used,unused)) signed int _X3ad1i_2;
    680     __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
    681     __attribute__ ((unused,unused,unused)) signed int _X3ad3A0i_2[((unsigned long int )5)];
    682     __attribute__ ((unused,unused,unused,unused,unused)) signed int (*_X3ad4PA0i_2)[((unsigned long int )10)];
    683     __attribute__ ((unused,unused,unused,unused,used)) signed int _X3ad5i_2;
    684     __attribute__ ((unused,unused,unused,unused,unused)) signed int _X3ad6Fi___2();
    685     {
    686         ((void)sizeof(__attribute__ ((unused,unused)) signed int ));
    687     }
    688 
    689     {
    690         ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **));
    691     }
    692 
    693     {
    694         ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [((unsigned long int )5)]));
    695     }
    696 
    697     {
    698         ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[((unsigned long int )10)]));
    699     }
    700 
    701     {
    702         ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ()));
    703     }
    704 
    705     struct __attribute__ ((unused)) __anonymous3 {
    706         signed int _X1ii_2;
    707     };
    708     inline void _X12_constructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
    709         {
    710             ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */);
    711         }
    712 
    713     }
    714     inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
    715         {
    716             ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */);
    717         }
    718 
    719     }
    720     inline void _X11_destructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
    721         {
    722             ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */);
    723         }
    724 
    725     }
    726     inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
    727         struct __anonymous3 _X4_retS12__anonymous3_2;
    728         {
    729             ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2));
    730         }
    731 
    732         {
    733             ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2)));
    734         }
    735 
    736         return _X4_retS12__anonymous3_2;
    737     }
    738     inline void _X12_constructorFv_S12__anonymous3i_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, signed int _X1ii_2){
    739         {
    740             ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */);
    741         }
    742 
    743     }
    744     {
    745         ((void)sizeof(struct __anonymous3 ));
    746     }
    747 
    748     enum __attribute__ ((unused)) __anonymous4 {
    749         _X1RKM12__anonymous4_2,
    750     };
    751     inline void _X12_constructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
    752     }
    753     inline void _X12_constructorFv_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
    754         {
    755             ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */);
    756         }
    757 
    758     }
    759     inline void _X11_destructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
    760     }
    761     inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
    762         enum __anonymous4 _X4_retM12__anonymous4_2;
    763         {
    764             ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2));
    765         }
    766 
    767         {
    768             ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */);
    769         }
    770 
    771         return _X4_retM12__anonymous4_2;
    772     }
    773     {
    774         ((void)sizeof(enum __anonymous4 ));
    775     }
    776 
    777 }
     678          __attribute__ ((unused)) signed int _X10_retval_adi_1;
     679          __attribute__ ((used,unused)) signed int _X3ad1i_2;
     680          __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
     681          __attribute__ ((unused,unused,unused)) signed int _X3ad3A0i_2[((unsigned long int )5)];
     682          __attribute__ ((unused,unused,unused,unused,unused)) signed int (*_X3ad4PA0i_2)[((unsigned long int )10)];
     683          __attribute__ ((unused,unused,unused,unused,used)) signed int _X3ad5i_2;
     684          __attribute__ ((unused,unused,unused,unused,unused)) signed int _X3ad6Fi___2();
     685          {
     686            ((void)sizeof(__attribute__ ((unused,unused)) signed int ));
     687          }
     688
     689          {
     690            ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **));
     691          }
     692
     693          {
     694            ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [((unsigned long int )5)]));
     695          }
     696
     697          {
     698            ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[((unsigned long int )10)]));
     699          }
     700
     701          {
     702            ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ()));
     703          }
     704
     705          struct __attribute__ ((unused)) __anonymous3 {
     706            signed int _X1ii_2;
     707          };
     708          inline void _X12_constructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
     709            {
     710              ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */);
     711            }
     712
     713          }
     714          inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
     715            {
     716              ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */);
     717            }
     718
     719          }
     720          inline void _X11_destructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
     721            {
     722              ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */);
     723            }
     724
     725          }
     726          inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
     727            struct __anonymous3 _X4_retS12__anonymous3_2;
     728            {
     729              ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2));
     730            }
     731
     732            {
     733              ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2)));
     734            }
     735
     736            return _X4_retS12__anonymous3_2;
     737          }
     738          inline void _X12_constructorFv_S12__anonymous3i_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, signed int _X1ii_2){
     739            {
     740              ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */);
     741            }
     742
     743          }
     744          {
     745            ((void)sizeof(struct __anonymous3 ));
     746          }
     747
     748          enum __attribute__ ((unused)) __anonymous4 {
     749            _X1RKM12__anonymous4_2,
     750          };
     751          inline void _X12_constructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
     752          }
     753          inline void _X12_constructorFv_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
     754            {
     755              ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */);
     756            }
     757
     758          }
     759          inline void _X11_destructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
     760          }
     761          inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
     762            enum __anonymous4 _X4_retM12__anonymous4_2;
     763            {
     764              ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2));
     765            }
     766
     767            {
     768              ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */);
     769            }
     770
     771            return _X4_retM12__anonymous4_2;
     772          }
     773          {
     774            ((void)sizeof(enum __anonymous4 ));
     775          }
     776
     777        }
    778778signed int _X4apd1Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object9, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object10);
    779779signed int _X4apd2Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object11, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object12);
     
    784784signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object23)(__attribute__ ((unused)) signed int __anonymous_object24), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object25)(__attribute__ ((unused)) signed int __anonymous_object26));
    785785struct Vad {
    786     __attribute__ ((unused)) signed int __anonymous_object27:4;
    787     __attribute__ ((unused)) signed int __anonymous_object28:4;
    788     __attribute__ ((unused,unused)) signed int __anonymous_object29:6;
    789 };
     786          __attribute__ ((unused)) signed int __anonymous_object27:4;
     787          __attribute__ ((unused)) signed int __anonymous_object28:4;
     788          __attribute__ ((unused,unused)) signed int __anonymous_object29:6;
     789        };
    790790static inline void _X12_constructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1);
    791791static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1);
     
    793793static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1);
    794794static inline void _X12_constructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1){
    795 }
     795        }
    796796static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){
    797 }
     797        }
    798798static inline void _X11_destructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1){
    799 }
     799        }
    800800static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){
    801     struct Vad _X4_retS3Vad_1;
    802     {
    803         ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
    804     }
    805 
    806     return _X4_retS3Vad_1;
    807 }
     801          struct Vad _X4_retS3Vad_1;
     802          {
     803            ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
     804          }
     805
     806          return _X4_retS3Vad_1;
     807        }
  • tests/.expect/castError.txt

    rc6a1e8a r866545b  
    55  char Alternatives are:
    66Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of:
    7      Variable Expression: f: function
    8        accepting unspecified arguments
    9      ... returning nothing
     7      Variable Expression: f: function
     8        accepting unspecified arguments
     9      ... returning nothing
    1010
    11    ... to:
    12      char
    13  (types:
    14    char
    15  )
    16  Environment:
     11    ... to:
     12      char
     13  (types:
     14    char
     15  )
     16  Environment:
    1717
    1818Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of:
    19      Variable Expression: f: double
    20    ... to:
    21      char
    22  (types:
    23    char
    24  )
    25  Environment:
     19      Variable Expression: f: double
     20    ... to:
     21      char
     22  (types:
     23    char
     24  )
     25  Environment:
    2626
    2727Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of:
    28      Variable Expression: f: signed int
    29    ... to:
    30      char
    31  (types:
    32    char
    33  )
    34  Environment:
     28      Variable Expression: f: signed int
     29    ... to:
     30      char
     31  (types:
     32    char
     33  )
     34  Environment:
    3535
    3636
     
    4242... to: nothing Alternatives are:
    4343Cost ( 0, 0, 2, 0, 0, 0, 0 ): Generated Cast of:
    44      Comma Expression:
    45        constant expression (3 3: signed int)
    46        Variable Expression: v: unsigned char
    47    ... to: nothing
    48  (types:
    49    void
    50  )
    51  Environment:
     44      Comma Expression:
     45        constant expression (3 3: signed int)
     46        Variable Expression: v: unsigned char
     47    ... to: nothing
     48  (types:
     49    void
     50  )
     51  Environment:
    5252
    5353Cost ( 0, 0, 2, 0, 0, 0, 0 ): Generated Cast of:
    54      Comma Expression:
    55        constant expression (3 3: signed int)
    56        Variable Expression: v: signed short int
    57    ... to: nothing
    58  (types:
    59    void
    60  )
    61  Environment:
     54      Comma Expression:
     55        constant expression (3 3: signed int)
     56        Variable Expression: v: signed short int
     57    ... to: nothing
     58  (types:
     59    void
     60  )
     61  Environment:
    6262
    6363
  • tests/.expect/completeTypeError.txt

    rc6a1e8a r866545b  
    88... to: nothing Alternatives are:
    99Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
    10      Application of
    11        Variable Expression: *?: forall
    12          DT: object type
    13          function
    14        ... with parameters
    15          intrinsic pointer to instance of type DT (not function type)
    16        ... returning
    17          _retval__operator_deref: reference to instance of type DT (not function type)
    18          ... with attributes:
    19            Attribute with name: unused
     10      Application of
     11        Variable Expression: *?: forall
     12          DT: object type
     13          function
     14        ... with parameters
     15          intrinsic pointer to instance of type DT (not function type)
     16        ... returning
     17          _retval__operator_deref: reference to instance of type DT (not function type)
     18          ... with attributes:
     19            Attribute with name: unused
    2020
    2121
    22      ... to arguments
    23        Variable Expression: x: pointer to instance of struct A with body 0
     22      ... to arguments
     23        Variable Expression: x: pointer to instance of struct A with body 0
    2424
    25    ... to: nothing
    26  (types:
    27    void
    28  )
    29  Environment:( _82_4_DT ) -> instance of struct A with body 0 (no widening)
     25    ... to: nothing
     26  (types:
     27    void
     28  )
     29  Environment:( _82_4_DT ) -> instance of struct A with body 0 (no widening)
    3030
    3131
    3232Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
    33      Application of
    34        Variable Expression: *?: forall
    35          DT: object type
    36          function
    37        ... with parameters
    38          intrinsic pointer to instance of type DT (not function type)
    39        ... returning
    40          _retval__operator_deref: reference to instance of type DT (not function type)
    41          ... with attributes:
    42            Attribute with name: unused
     33      Application of
     34        Variable Expression: *?: forall
     35          DT: object type
     36          function
     37        ... with parameters
     38          intrinsic pointer to instance of type DT (not function type)
     39        ... returning
     40          _retval__operator_deref: reference to instance of type DT (not function type)
     41          ... with attributes:
     42            Attribute with name: unused
    4343
    4444
    45      ... to arguments
    46        Variable Expression: x: pointer to instance of struct B with body 1
     45      ... to arguments
     46        Variable Expression: x: pointer to instance of struct B with body 1
    4747
    48    ... to: nothing
    49  (types:
    50    void
    51  )
    52  Environment:( _82_4_DT ) -> instance of struct B with body 1 (no widening)
     48    ... to: nothing
     49  (types:
     50    void
     51  )
     52  Environment:( _82_4_DT ) -> instance of struct B with body 1 (no widening)
    5353
    5454
     
    8484  Name: z
    8585
    86    Unsatisfiable alternative:
     86      Unsatisfiable alternative:
    8787Cost ( 0, 1, 0, 0, 1, -5, 0 ): Application of
    88          Variable Expression: baz: forall
    89            T: sized object type
    90            ... with assertions
    91              ?=?: pointer to function
    92              ... with parameters
    93                reference to instance of type T (not function type)
    94                instance of type T (not function type)
    95              ... returning
    96                _retval__operator_assign: instance of type T (not function type)
    97                ... with attributes:
    98                  Attribute with name: unused
     88            Variable Expression: baz: forall
     89              T: sized object type
     90              ... with assertions
     91                ?=?: pointer to function
     92                ... with parameters
     93                  reference to instance of type T (not function type)
     94                  instance of type T (not function type)
     95                ... returning
     96                  _retval__operator_assign: instance of type T (not function type)
     97                  ... with attributes:
     98                    Attribute with name: unused
    9999
    100100
    101              ?{}: pointer to function
    102              ... with parameters
    103                reference to instance of type T (not function type)
    104              ... returning nothing
     101                ?{}: pointer to function
     102                ... with parameters
     103                  reference to instance of type T (not function type)
     104                ... returning nothing
    105105
    106              ?{}: pointer to function
    107              ... with parameters
    108                reference to instance of type T (not function type)
    109                instance of type T (not function type)
    110              ... returning nothing
     106                ?{}: pointer to function
     107                ... with parameters
     108                  reference to instance of type T (not function type)
     109                  instance of type T (not function type)
     110                ... returning nothing
    111111
    112              ^?{}: pointer to function
    113              ... with parameters
    114                reference to instance of type T (not function type)
    115              ... returning nothing
     112                ^?{}: pointer to function
     113                ... with parameters
     114                  reference to instance of type T (not function type)
     115                ... returning nothing
    116116
    117117
    118            function
    119          ... with parameters
    120            pointer to instance of type T (not function type)
    121          ... returning nothing
     118              function
     119            ... with parameters
     120              pointer to instance of type T (not function type)
     121            ... returning nothing
    122122
    123        ... to arguments
    124          Variable Expression: z: pointer to instance of type T (not function type)
     123          ... to arguments
     124            Variable Expression: z: pointer to instance of type T (not function type)
    125125
    126      (types:
    127        void
    128      )
    129      Environment:( _101_0_T ) -> instance of type T (not function type) (no widening)
     126        (types:
     127          void
     128        )
     129        Environment:( _101_0_T ) -> instance of type T (not function type) (no widening)
    130130
    131    Could not satisfy assertion:
     131      Could not satisfy assertion:
    132132?=?: pointer to function
    133      ... with parameters
    134        reference to instance of type _101_0_T (not function type)
    135        instance of type _101_0_T (not function type)
    136      ... returning
    137        _retval__operator_assign: instance of type _101_0_T (not function type)
    138        ... with attributes:
    139          Attribute with name: unused
     133        ... with parameters
     134          reference to instance of type _101_0_T (not function type)
     135          instance of type _101_0_T (not function type)
     136        ... returning
     137          _retval__operator_assign: instance of type _101_0_T (not function type)
     138          ... with attributes:
     139            Attribute with name: unused
    140140
    141141
  • tests/.expect/declarationSpecifier.x64.txt

    rc6a1e8a r866545b  
    88static volatile const signed short int _X2x8KVs_1;
    99struct __anonymous0 {
    10     signed int _X1ii_1;
    11 };
     10          signed int _X1ii_1;
     11        };
    1212static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1);
    1313static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
     
    1616static inline void _X12_constructorFv_S12__anonymous0i_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, signed int _X1ii_1);
    1717static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
    18     {
    19         ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ?{} */);
    20     }
    21 
    22 }
     18          {
     19            ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ?{} */);
     20          }
     21
     22        }
    2323static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
    24     {
    25         ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1) /* ?{} */);
    26     }
    27 
    28 }
     24          {
     25            ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1) /* ?{} */);
     26          }
     27
     28        }
    2929static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
    30     {
    31         ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ^?{} */);
    32     }
    33 
    34 }
     30          {
     31            ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ^?{} */);
     32          }
     33
     34        }
    3535static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
    36     struct __anonymous0 _X4_retS12__anonymous0_1;
    37     {
    38         ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1));
    39     }
    40 
    41     {
    42         ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1)));
    43     }
    44 
    45     return _X4_retS12__anonymous0_1;
    46 }
     36          struct __anonymous0 _X4_retS12__anonymous0_1;
     37          {
     38            ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1));
     39          }
     40
     41          {
     42            ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1)));
     43          }
     44
     45          return _X4_retS12__anonymous0_1;
     46        }
    4747static inline void _X12_constructorFv_S12__anonymous0i_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, signed int _X1ii_1){
    48     {
    49         ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X1ii_1) /* ?{} */);
    50     }
    51 
    52 }
     48          {
     49            ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X1ii_1) /* ?{} */);
     50          }
     51
     52        }
    5353volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1;
    5454struct __anonymous1 {
    55     signed int _X1ii_1;
    56 };
     55          signed int _X1ii_1;
     56        };
    5757static inline void _X12_constructorFv_S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1);
    5858static inline void _X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, struct __anonymous1 _X4_srcS12__anonymous1_1);
     
    6161static inline void _X12_constructorFv_S12__anonymous1i_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, signed int _X1ii_1);
    6262static inline void _X12_constructorFv_S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1){
    63     {
    64         ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ?{} */);
    65     }
    66 
    67 }
     63          {
     64            ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ?{} */);
     65          }
     66
     67        }
    6868static inline void _X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, struct __anonymous1 _X4_srcS12__anonymous1_1){
    69     {
    70         ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1) /* ?{} */);
    71     }
    72 
    73 }
     69          {
     70            ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1) /* ?{} */);
     71          }
     72
     73        }
    7474static inline void _X11_destructorFv_S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1){
    75     {
    76         ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ^?{} */);
    77     }
    78 
    79 }
     75          {
     76            ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ^?{} */);
     77          }
     78
     79        }
    8080static inline struct __anonymous1 _X16_operator_assignFS12__anonymous1_S12__anonymous1S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, struct __anonymous1 _X4_srcS12__anonymous1_1){
    81     struct __anonymous1 _X4_retS12__anonymous1_1;
    82     {
    83         ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1));
    84     }
    85 
    86     {
    87         ((void)_X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1((&_X4_retS12__anonymous1_1), (*_X4_dstS12__anonymous1_1)));
    88     }
    89 
    90     return _X4_retS12__anonymous1_1;
    91 }
     81          struct __anonymous1 _X4_retS12__anonymous1_1;
     82          {
     83            ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1));
     84          }
     85
     86          {
     87            ((void)_X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1((&_X4_retS12__anonymous1_1), (*_X4_dstS12__anonymous1_1)));
     88          }
     89
     90          return _X4_retS12__anonymous1_1;
     91        }
    9292static inline void _X12_constructorFv_S12__anonymous1i_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, signed int _X1ii_1){
    93     {
    94         ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X1ii_1) /* ?{} */);
    95     }
    96 
    97 }
     93          {
     94            ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X1ii_1) /* ?{} */);
     95          }
     96
     97        }
    9898volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1;
    9999struct __anonymous2 {
    100     signed int _X1ii_1;
    101 };
     100          signed int _X1ii_1;
     101        };
    102102static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1);
    103103static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
     
    106106static inline void _X12_constructorFv_S12__anonymous2i_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, signed int _X1ii_1);
    107107static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
    108     {
    109         ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ?{} */);
    110     }
    111 
    112 }
     108          {
     109            ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ?{} */);
     110          }
     111
     112        }
    113113static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
    114     {
    115         ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1) /* ?{} */);
    116     }
    117 
    118 }
     114          {
     115            ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1) /* ?{} */);
     116          }
     117
     118        }
    119119static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
    120     {
    121         ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ^?{} */);
    122     }
    123 
    124 }
     120          {
     121            ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ^?{} */);
     122          }
     123
     124        }
    125125static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
    126     struct __anonymous2 _X4_retS12__anonymous2_1;
    127     {
    128         ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1));
    129     }
    130 
    131     {
    132         ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1)));
    133     }
    134 
    135     return _X4_retS12__anonymous2_1;
    136 }
     126          struct __anonymous2 _X4_retS12__anonymous2_1;
     127          {
     128            ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1));
     129          }
     130
     131          {
     132            ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1)));
     133          }
     134
     135          return _X4_retS12__anonymous2_1;
     136        }
    137137static inline void _X12_constructorFv_S12__anonymous2i_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, signed int _X1ii_1){
    138     {
    139         ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X1ii_1) /* ?{} */);
    140     }
    141 
    142 }
     138          {
     139            ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X1ii_1) /* ?{} */);
     140          }
     141
     142        }
    143143volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1;
    144144struct __anonymous3 {
    145     signed int _X1ii_1;
    146 };
     145          signed int _X1ii_1;
     146        };
    147147static inline void _X12_constructorFv_S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1);
    148148static inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, struct __anonymous3 _X4_srcS12__anonymous3_1);
     
    151151static inline void _X12_constructorFv_S12__anonymous3i_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, signed int _X1ii_1);
    152152static inline void _X12_constructorFv_S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1){
    153     {
    154         ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ?{} */);
    155     }
    156 
    157 }
     153          {
     154            ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ?{} */);
     155          }
     156
     157        }
    158158static inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, struct __anonymous3 _X4_srcS12__anonymous3_1){
    159     {
    160         ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1) /* ?{} */);
    161     }
    162 
    163 }
     159          {
     160            ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1) /* ?{} */);
     161          }
     162
     163        }
    164164static inline void _X11_destructorFv_S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1){
    165     {
    166         ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ^?{} */);
    167     }
    168 
    169 }
     165          {
     166            ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ^?{} */);
     167          }
     168
     169        }
    170170static inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, struct __anonymous3 _X4_srcS12__anonymous3_1){
    171     struct __anonymous3 _X4_retS12__anonymous3_1;
    172     {
    173         ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1));
    174     }
    175 
    176     {
    177         ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1((&_X4_retS12__anonymous3_1), (*_X4_dstS12__anonymous3_1)));
    178     }
    179 
    180     return _X4_retS12__anonymous3_1;
    181 }
     171          struct __anonymous3 _X4_retS12__anonymous3_1;
     172          {
     173            ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1));
     174          }
     175
     176          {
     177            ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1((&_X4_retS12__anonymous3_1), (*_X4_dstS12__anonymous3_1)));
     178          }
     179
     180          return _X4_retS12__anonymous3_1;
     181        }
    182182static inline void _X12_constructorFv_S12__anonymous3i_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, signed int _X1ii_1){
    183     {
    184         ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X1ii_1) /* ?{} */);
    185     }
    186 
    187 }
     183          {
     184            ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X1ii_1) /* ?{} */);
     185          }
     186
     187        }
    188188static volatile const struct __anonymous3 _X3x13KVS12__anonymous3_1;
    189189struct __anonymous4 {
    190     signed int _X1ii_1;
    191 };
     190          signed int _X1ii_1;
     191        };
    192192static inline void _X12_constructorFv_S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1);
    193193static inline void _X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, struct __anonymous4 _X4_srcS12__anonymous4_1);
     
    196196static inline void _X12_constructorFv_S12__anonymous4i_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, signed int _X1ii_1);
    197197static inline void _X12_constructorFv_S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1){
    198     {
    199         ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ?{} */);
    200     }
    201 
    202 }
     198          {
     199            ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ?{} */);
     200          }
     201
     202        }
    203203static inline void _X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, struct __anonymous4 _X4_srcS12__anonymous4_1){
    204     {
    205         ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1) /* ?{} */);
    206     }
    207 
    208 }
     204          {
     205            ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1) /* ?{} */);
     206          }
     207
     208        }
    209209static inline void _X11_destructorFv_S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1){
    210     {
    211         ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ^?{} */);
    212     }
    213 
    214 }
     210          {
     211            ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ^?{} */);
     212          }
     213
     214        }
    215215static inline struct __anonymous4 _X16_operator_assignFS12__anonymous4_S12__anonymous4S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, struct __anonymous4 _X4_srcS12__anonymous4_1){
    216     struct __anonymous4 _X4_retS12__anonymous4_1;
    217     {
    218         ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1));
    219     }
    220 
    221     {
    222         ((void)_X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1((&_X4_retS12__anonymous4_1), (*_X4_dstS12__anonymous4_1)));
    223     }
    224 
    225     return _X4_retS12__anonymous4_1;
    226 }
     216          struct __anonymous4 _X4_retS12__anonymous4_1;
     217          {
     218            ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1));
     219          }
     220
     221          {
     222            ((void)_X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1((&_X4_retS12__anonymous4_1), (*_X4_dstS12__anonymous4_1)));
     223          }
     224
     225          return _X4_retS12__anonymous4_1;
     226        }
    227227static inline void _X12_constructorFv_S12__anonymous4i_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, signed int _X1ii_1){
    228     {
    229         ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X1ii_1) /* ?{} */);
    230     }
    231 
    232 }
     228          {
     229            ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X1ii_1) /* ?{} */);
     230          }
     231
     232        }
    233233static volatile const struct __anonymous4 _X3x14KVS12__anonymous4_1;
    234234struct __anonymous5 {
    235     signed int _X1ii_1;
    236 };
     235          signed int _X1ii_1;
     236        };
    237237static inline void _X12_constructorFv_S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1);
    238238static inline void _X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, struct __anonymous5 _X4_srcS12__anonymous5_1);
     
    241241static inline void _X12_constructorFv_S12__anonymous5i_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, signed int _X1ii_1);
    242242static inline void _X12_constructorFv_S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1){
    243     {
    244         ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ?{} */);
    245     }
    246 
    247 }
     243          {
     244            ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ?{} */);
     245          }
     246
     247        }
    248248static inline void _X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, struct __anonymous5 _X4_srcS12__anonymous5_1){
    249     {
    250         ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1) /* ?{} */);
    251     }
    252 
    253 }
     249          {
     250            ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1) /* ?{} */);
     251          }
     252
     253        }
    254254static inline void _X11_destructorFv_S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1){
    255     {
    256         ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ^?{} */);
    257     }
    258 
    259 }
     255          {
     256            ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ^?{} */);
     257          }
     258
     259        }
    260260static inline struct __anonymous5 _X16_operator_assignFS12__anonymous5_S12__anonymous5S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, struct __anonymous5 _X4_srcS12__anonymous5_1){
    261     struct __anonymous5 _X4_retS12__anonymous5_1;
    262     {
    263         ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1));
    264     }
    265 
    266     {
    267         ((void)_X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1((&_X4_retS12__anonymous5_1), (*_X4_dstS12__anonymous5_1)));
    268     }
    269 
    270     return _X4_retS12__anonymous5_1;
    271 }
     261          struct __anonymous5 _X4_retS12__anonymous5_1;
     262          {
     263            ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1));
     264          }
     265
     266          {
     267            ((void)_X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1((&_X4_retS12__anonymous5_1), (*_X4_dstS12__anonymous5_1)));
     268          }
     269
     270          return _X4_retS12__anonymous5_1;
     271        }
    272272static inline void _X12_constructorFv_S12__anonymous5i_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, signed int _X1ii_1){
    273     {
    274         ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X1ii_1) /* ?{} */);
    275     }
    276 
    277 }
     273          {
     274            ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X1ii_1) /* ?{} */);
     275          }
     276
     277        }
    278278static volatile const struct __anonymous5 _X3x15KVS12__anonymous5_1;
    279279struct __anonymous6 {
    280     signed int _X1ii_1;
    281 };
     280          signed int _X1ii_1;
     281        };
    282282static inline void _X12_constructorFv_S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1);
    283283static inline void _X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, struct __anonymous6 _X4_srcS12__anonymous6_1);
     
    286286static inline void _X12_constructorFv_S12__anonymous6i_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, signed int _X1ii_1);
    287287static inline void _X12_constructorFv_S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1){
    288     {
    289         ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ?{} */);
    290     }
    291 
    292 }
     288          {
     289            ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ?{} */);
     290          }
     291
     292        }
    293293static inline void _X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, struct __anonymous6 _X4_srcS12__anonymous6_1){
    294     {
    295         ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1) /* ?{} */);
    296     }
    297 
    298 }
     294          {
     295            ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1) /* ?{} */);
     296          }
     297
     298        }
    299299static inline void _X11_destructorFv_S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1){
    300     {
    301         ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ^?{} */);
    302     }
    303 
    304 }
     300          {
     301            ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ^?{} */);
     302          }
     303
     304        }
    305305static inline struct __anonymous6 _X16_operator_assignFS12__anonymous6_S12__anonymous6S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, struct __anonymous6 _X4_srcS12__anonymous6_1){
    306     struct __anonymous6 _X4_retS12__anonymous6_1;
    307     {
    308         ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1));
    309     }
    310 
    311     {
    312         ((void)_X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1((&_X4_retS12__anonymous6_1), (*_X4_dstS12__anonymous6_1)));
    313     }
    314 
    315     return _X4_retS12__anonymous6_1;
    316 }
     306          struct __anonymous6 _X4_retS12__anonymous6_1;
     307          {
     308            ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1));
     309          }
     310
     311          {
     312            ((void)_X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1((&_X4_retS12__anonymous6_1), (*_X4_dstS12__anonymous6_1)));
     313          }
     314
     315          return _X4_retS12__anonymous6_1;
     316        }
    317317static inline void _X12_constructorFv_S12__anonymous6i_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, signed int _X1ii_1){
    318     {
    319         ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X1ii_1) /* ?{} */);
    320     }
    321 
    322 }
     318          {
     319            ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X1ii_1) /* ?{} */);
     320          }
     321
     322        }
    323323static volatile const struct __anonymous6 _X3x16KVS12__anonymous6_1;
    324324struct __anonymous7 {
    325     signed int _X1ii_1;
    326 };
     325          signed int _X1ii_1;
     326        };
    327327static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);
    328328static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);
     
    331331static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1);
    332332static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){
    333     {
    334         ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ?{} */);
    335     }
    336 
    337 }
     333          {
     334            ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ?{} */);
     335          }
     336
     337        }
    338338static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){
    339     {
    340         ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1) /* ?{} */);
    341     }
    342 
    343 }
     339          {
     340            ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1) /* ?{} */);
     341          }
     342
     343        }
    344344static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){
    345     {
    346         ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ^?{} */);
    347     }
    348 
    349 }
     345          {
     346            ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ^?{} */);
     347          }
     348
     349        }
    350350static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){
    351     struct __anonymous7 _X4_retS12__anonymous7_1;
    352     {
    353         ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1));
    354     }
    355 
    356     {
    357         ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1)));
    358     }
    359 
    360     return _X4_retS12__anonymous7_1;
    361 }
     351          struct __anonymous7 _X4_retS12__anonymous7_1;
     352          {
     353            ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1));
     354          }
     355
     356          {
     357            ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1)));
     358          }
     359
     360          return _X4_retS12__anonymous7_1;
     361        }
    362362static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1){
    363     {
    364         ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X1ii_1) /* ?{} */);
    365     }
    366 
    367 }
     363          {
     364            ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X1ii_1) /* ?{} */);
     365          }
     366
     367        }
    368368static volatile const struct __anonymous7 _X3x17KVS12__anonymous7_1;
    369369volatile const signed short int _X3x20KVs_1;
     
    376376static volatile const signed short int _X3x27KVs_1;
    377377struct __anonymous8 {
    378     signed short int _X1is_1;
    379 };
     378          signed short int _X1is_1;
     379        };
    380380static inline void _X12_constructorFv_S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1);
    381381static inline void _X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, struct __anonymous8 _X4_srcS12__anonymous8_1);
     
    384384static inline void _X12_constructorFv_S12__anonymous8s_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, signed short int _X1is_1);
    385385static inline void _X12_constructorFv_S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1){
    386     {
    387         ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ?{} */);
    388     }
    389 
    390 }
     386          {
     387            ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ?{} */);
     388          }
     389
     390        }
    391391static inline void _X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, struct __anonymous8 _X4_srcS12__anonymous8_1){
    392     {
    393         ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1) /* ?{} */);
    394     }
    395 
    396 }
     392          {
     393            ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1) /* ?{} */);
     394          }
     395
     396        }
    397397static inline void _X11_destructorFv_S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1){
    398     {
    399         ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ^?{} */);
    400     }
    401 
    402 }
     398          {
     399            ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ^?{} */);
     400          }
     401
     402        }
    403403static inline struct __anonymous8 _X16_operator_assignFS12__anonymous8_S12__anonymous8S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, struct __anonymous8 _X4_srcS12__anonymous8_1){
    404     struct __anonymous8 _X4_retS12__anonymous8_1;
    405     {
    406         ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1));
    407     }
    408 
    409     {
    410         ((void)_X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1((&_X4_retS12__anonymous8_1), (*_X4_dstS12__anonymous8_1)));
    411     }
    412 
    413     return _X4_retS12__anonymous8_1;
    414 }
     404          struct __anonymous8 _X4_retS12__anonymous8_1;
     405          {
     406            ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1));
     407          }
     408
     409          {
     410            ((void)_X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1((&_X4_retS12__anonymous8_1), (*_X4_dstS12__anonymous8_1)));
     411          }
     412
     413          return _X4_retS12__anonymous8_1;
     414        }
    415415static inline void _X12_constructorFv_S12__anonymous8s_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, signed short int _X1is_1){
    416     {
    417         ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X1is_1) /* ?{} */);
    418     }
    419 
    420 }
     416          {
     417            ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X1is_1) /* ?{} */);
     418          }
     419
     420        }
    421421volatile const struct __anonymous8 _X3x29KVS12__anonymous8_1;
    422422struct __anonymous9 {
    423     signed short int _X1is_1;
    424 };
     423          signed short int _X1is_1;
     424        };
    425425static inline void _X12_constructorFv_S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1);
    426426static inline void _X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, struct __anonymous9 _X4_srcS12__anonymous9_1);
     
    429429static inline void _X12_constructorFv_S12__anonymous9s_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, signed short int _X1is_1);
    430430static inline void _X12_constructorFv_S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1){
    431     {
    432         ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ?{} */);
    433     }
    434 
    435 }
     431          {
     432            ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ?{} */);
     433          }
     434
     435        }
    436436static inline void _X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, struct __anonymous9 _X4_srcS12__anonymous9_1){
    437     {
    438         ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1) /* ?{} */);
    439     }
    440 
    441 }
     437          {
     438            ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1) /* ?{} */);
     439          }
     440
     441        }
    442442static inline void _X11_destructorFv_S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1){
    443     {
    444         ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ^?{} */);
    445     }
    446 
    447 }
     443          {
     444            ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ^?{} */);
     445          }
     446
     447        }
    448448static inline struct __anonymous9 _X16_operator_assignFS12__anonymous9_S12__anonymous9S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, struct __anonymous9 _X4_srcS12__anonymous9_1){
    449     struct __anonymous9 _X4_retS12__anonymous9_1;
    450     {
    451         ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1));
    452     }
    453 
    454     {
    455         ((void)_X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1((&_X4_retS12__anonymous9_1), (*_X4_dstS12__anonymous9_1)));
    456     }
    457 
    458     return _X4_retS12__anonymous9_1;
    459 }
     449          struct __anonymous9 _X4_retS12__anonymous9_1;
     450          {
     451            ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1));
     452          }
     453
     454          {
     455            ((void)_X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1((&_X4_retS12__anonymous9_1), (*_X4_dstS12__anonymous9_1)));
     456          }
     457
     458          return _X4_retS12__anonymous9_1;
     459        }
    460460static inline void _X12_constructorFv_S12__anonymous9s_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, signed short int _X1is_1){
    461     {
    462         ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X1is_1) /* ?{} */);
    463     }
    464 
    465 }
     461          {
     462            ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X1is_1) /* ?{} */);
     463          }
     464
     465        }
    466466volatile const struct __anonymous9 _X3x30KVS12__anonymous9_1;
    467467struct __anonymous10 {
    468     signed short int _X1is_1;
    469 };
     468          signed short int _X1is_1;
     469        };
    470470static inline void _X12_constructorFv_S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1);
    471471static inline void _X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, struct __anonymous10 _X4_srcS13__anonymous10_1);
     
    474474static inline void _X12_constructorFv_S13__anonymous10s_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, signed short int _X1is_1);
    475475static inline void _X12_constructorFv_S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1){
    476     {
    477         ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ?{} */);
    478     }
    479 
    480 }
     476          {
     477            ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ?{} */);
     478          }
     479
     480        }
    481481static inline void _X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, struct __anonymous10 _X4_srcS13__anonymous10_1){
    482     {
    483         ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1) /* ?{} */);
    484     }
    485 
    486 }
     482          {
     483            ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1) /* ?{} */);
     484          }
     485
     486        }
    487487static inline void _X11_destructorFv_S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1){
    488     {
    489         ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ^?{} */);
    490     }
    491 
    492 }
     488          {
     489            ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ^?{} */);
     490          }
     491
     492        }
    493493static inline struct __anonymous10 _X16_operator_assignFS13__anonymous10_S13__anonymous10S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, struct __anonymous10 _X4_srcS13__anonymous10_1){
    494     struct __anonymous10 _X4_retS13__anonymous10_1;
    495     {
    496         ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1));
    497     }
    498 
    499     {
    500         ((void)_X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1((&_X4_retS13__anonymous10_1), (*_X4_dstS13__anonymous10_1)));
    501     }
    502 
    503     return _X4_retS13__anonymous10_1;
    504 }
     494          struct __anonymous10 _X4_retS13__anonymous10_1;
     495          {
     496            ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1));
     497          }
     498
     499          {
     500            ((void)_X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1((&_X4_retS13__anonymous10_1), (*_X4_dstS13__anonymous10_1)));
     501          }
     502
     503          return _X4_retS13__anonymous10_1;
     504        }
    505505static inline void _X12_constructorFv_S13__anonymous10s_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, signed short int _X1is_1){
    506     {
    507         ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X1is_1) /* ?{} */);
    508     }
    509 
    510 }
     506          {
     507            ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X1is_1) /* ?{} */);
     508          }
     509
     510        }
    511511volatile const struct __anonymous10 _X3x31KVS13__anonymous10_1;
    512512struct __anonymous11 {
    513     signed short int _X1is_1;
    514 };
     513          signed short int _X1is_1;
     514        };
    515515static inline void _X12_constructorFv_S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1);
    516516static inline void _X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, struct __anonymous11 _X4_srcS13__anonymous11_1);
     
    519519static inline void _X12_constructorFv_S13__anonymous11s_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, signed short int _X1is_1);
    520520static inline void _X12_constructorFv_S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1){
    521     {
    522         ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ?{} */);
    523     }
    524 
    525 }
     521          {
     522            ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ?{} */);
     523          }
     524
     525        }
    526526static inline void _X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, struct __anonymous11 _X4_srcS13__anonymous11_1){
    527     {
    528         ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1) /* ?{} */);
    529     }
    530 
    531 }
     527          {
     528            ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1) /* ?{} */);
     529          }
     530
     531        }
    532532static inline void _X11_destructorFv_S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1){
    533     {
    534         ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ^?{} */);
    535     }
    536 
    537 }
     533          {
     534            ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ^?{} */);
     535          }
     536
     537        }
    538538static inline struct __anonymous11 _X16_operator_assignFS13__anonymous11_S13__anonymous11S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, struct __anonymous11 _X4_srcS13__anonymous11_1){
    539     struct __anonymous11 _X4_retS13__anonymous11_1;
    540     {
    541         ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1));
    542     }
    543 
    544     {
    545         ((void)_X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1((&_X4_retS13__anonymous11_1), (*_X4_dstS13__anonymous11_1)));
    546     }
    547 
    548     return _X4_retS13__anonymous11_1;
    549 }
     539          struct __anonymous11 _X4_retS13__anonymous11_1;
     540          {
     541            ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1));
     542          }
     543
     544          {
     545            ((void)_X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1((&_X4_retS13__anonymous11_1), (*_X4_dstS13__anonymous11_1)));
     546          }
     547
     548          return _X4_retS13__anonymous11_1;
     549        }
    550550static inline void _X12_constructorFv_S13__anonymous11s_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, signed short int _X1is_1){
    551     {
    552         ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X1is_1) /* ?{} */);
    553     }
    554 
    555 }
     551          {
     552            ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X1is_1) /* ?{} */);
     553          }
     554
     555        }
    556556static volatile const struct __anonymous11 _X3x32KVS13__anonymous11_1;
    557557struct __anonymous12 {
    558     signed short int _X1is_1;
    559 };
     558          signed short int _X1is_1;
     559        };
    560560static inline void _X12_constructorFv_S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1);
    561561static inline void _X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, struct __anonymous12 _X4_srcS13__anonymous12_1);
     
    564564static inline void _X12_constructorFv_S13__anonymous12s_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, signed short int _X1is_1);
    565565static inline void _X12_constructorFv_S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1){
    566     {
    567         ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ?{} */);
    568     }
    569 
    570 }
     566          {
     567            ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ?{} */);
     568          }
     569
     570        }
    571571static inline void _X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, struct __anonymous12 _X4_srcS13__anonymous12_1){
    572     {
    573         ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1) /* ?{} */);
    574     }
    575 
    576 }
     572          {
     573            ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1) /* ?{} */);
     574          }
     575
     576        }
    577577static inline void _X11_destructorFv_S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1){
    578     {
    579         ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ^?{} */);
    580     }
    581 
    582 }
     578          {
     579            ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ^?{} */);
     580          }
     581
     582        }
    583583static inline struct __anonymous12 _X16_operator_assignFS13__anonymous12_S13__anonymous12S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, struct __anonymous12 _X4_srcS13__anonymous12_1){
    584     struct __anonymous12 _X4_retS13__anonymous12_1;
    585     {
    586         ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1));
    587     }
    588 
    589     {
    590         ((void)_X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1((&_X4_retS13__anonymous12_1), (*_X4_dstS13__anonymous12_1)));
    591     }
    592 
    593     return _X4_retS13__anonymous12_1;
    594 }
     584          struct __anonymous12 _X4_retS13__anonymous12_1;
     585          {
     586            ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1));
     587          }
     588
     589          {
     590            ((void)_X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1((&_X4_retS13__anonymous12_1), (*_X4_dstS13__anonymous12_1)));
     591          }
     592
     593          return _X4_retS13__anonymous12_1;
     594        }
    595595static inline void _X12_constructorFv_S13__anonymous12s_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, signed short int _X1is_1){
    596     {
    597         ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X1is_1) /* ?{} */);
    598     }
    599 
    600 }
     596          {
     597            ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X1is_1) /* ?{} */);
     598          }
     599
     600        }
    601601static volatile const struct __anonymous12 _X3x33KVS13__anonymous12_1;
    602602struct __anonymous13 {
    603     signed short int _X1is_1;
    604 };
     603          signed short int _X1is_1;
     604        };
    605605static inline void _X12_constructorFv_S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1);
    606606static inline void _X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, struct __anonymous13 _X4_srcS13__anonymous13_1);
     
    609609static inline void _X12_constructorFv_S13__anonymous13s_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, signed short int _X1is_1);
    610610static inline void _X12_constructorFv_S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1){
    611     {
    612         ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ?{} */);
    613     }
    614 
    615 }
     611          {
     612            ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ?{} */);
     613          }
     614
     615        }
    616616static inline void _X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, struct __anonymous13 _X4_srcS13__anonymous13_1){
    617     {
    618         ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1) /* ?{} */);
    619     }
    620 
    621 }
     617          {
     618            ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1) /* ?{} */);
     619          }
     620
     621        }
    622622static inline void _X11_destructorFv_S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1){
    623     {
    624         ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ^?{} */);
    625     }
    626 
    627 }
     623          {
     624            ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ^?{} */);
     625          }
     626
     627        }
    628628static inline struct __anonymous13 _X16_operator_assignFS13__anonymous13_S13__anonymous13S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, struct __anonymous13 _X4_srcS13__anonymous13_1){
    629     struct __anonymous13 _X4_retS13__anonymous13_1;
    630     {
    631         ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1));
    632     }
    633 
    634     {
    635         ((void)_X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1((&_X4_retS13__anonymous13_1), (*_X4_dstS13__anonymous13_1)));
    636     }
    637 
    638     return _X4_retS13__anonymous13_1;
    639 }
     629          struct __anonymous13 _X4_retS13__anonymous13_1;
     630          {
     631            ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1));
     632          }
     633
     634          {
     635            ((void)_X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1((&_X4_retS13__anonymous13_1), (*_X4_dstS13__anonymous13_1)));
     636          }
     637
     638          return _X4_retS13__anonymous13_1;
     639        }
    640640static inline void _X12_constructorFv_S13__anonymous13s_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, signed short int _X1is_1){
    641     {
    642         ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X1is_1) /* ?{} */);
    643     }
    644 
    645 }
     641          {
     642            ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X1is_1) /* ?{} */);
     643          }
     644
     645        }
    646646static volatile const struct __anonymous13 _X3x34KVS13__anonymous13_1;
    647647struct __anonymous14 {
    648     signed short int _X1is_1;
    649 };
     648          signed short int _X1is_1;
     649        };
    650650static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1);
    651651static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1);
     
    654654static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1);
    655655static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){
    656     {
    657         ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ?{} */);
    658     }
    659 
    660 }
     656          {
     657            ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ?{} */);
     658          }
     659
     660        }
    661661static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){
    662     {
    663         ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1) /* ?{} */);
    664     }
    665 
    666 }
     662          {
     663            ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1) /* ?{} */);
     664          }
     665
     666        }
    667667static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){
    668     {
    669         ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ^?{} */);
    670     }
    671 
    672 }
     668          {
     669            ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ^?{} */);
     670          }
     671
     672        }
    673673static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){
    674     struct __anonymous14 _X4_retS13__anonymous14_1;
    675     {
    676         ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1));
    677     }
    678 
    679     {
    680         ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1)));
    681     }
    682 
    683     return _X4_retS13__anonymous14_1;
    684 }
     674          struct __anonymous14 _X4_retS13__anonymous14_1;
     675          {
     676            ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1));
     677          }
     678
     679          {
     680            ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1)));
     681          }
     682
     683          return _X4_retS13__anonymous14_1;
     684        }
    685685static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1){
    686     {
    687         ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X1is_1) /* ?{} */);
    688     }
    689 
    690 }
     686          {
     687            ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X1is_1) /* ?{} */);
     688          }
     689
     690        }
    691691static volatile const struct __anonymous14 _X3x35KVS13__anonymous14_1;
    692692struct __anonymous15 {
    693     signed short int _X1is_1;
    694 };
     693          signed short int _X1is_1;
     694        };
    695695static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1);
    696696static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1);
     
    699699static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1);
    700700static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){
    701     {
    702         ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ?{} */);
    703     }
    704 
    705 }
     701          {
     702            ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ?{} */);
     703          }
     704
     705        }
    706706static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){
    707     {
    708         ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1) /* ?{} */);
    709     }
    710 
    711 }
     707          {
     708            ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1) /* ?{} */);
     709          }
     710
     711        }
    712712static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){
    713     {
    714         ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ^?{} */);
    715     }
    716 
    717 }
     713          {
     714            ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ^?{} */);
     715          }
     716
     717        }
    718718static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){
    719     struct __anonymous15 _X4_retS13__anonymous15_1;
    720     {
    721         ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1));
    722     }
    723 
    724     {
    725         ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1)));
    726     }
    727 
    728     return _X4_retS13__anonymous15_1;
    729 }
     719          struct __anonymous15 _X4_retS13__anonymous15_1;
     720          {
     721            ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1));
     722          }
     723
     724          {
     725            ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1)));
     726          }
     727
     728          return _X4_retS13__anonymous15_1;
     729        }
    730730static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1){
    731     {
    732         ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X1is_1) /* ?{} */);
    733     }
    734 
    735 }
     731          {
     732            ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X1is_1) /* ?{} */);
     733          }
     734
     735        }
    736736static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1;
    737737static inline volatile const signed int _X3f11Fi___1();
     
    752752static inline volatile const signed short int _X3f28Fs___1();
    753753struct __anonymous16 {
    754     signed int _X1ii_1;
    755 };
     754          signed int _X1ii_1;
     755        };
    756756static inline void _X12_constructorFv_S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1);
    757757static inline void _X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, struct __anonymous16 _X4_srcS13__anonymous16_1);
     
    760760static inline void _X12_constructorFv_S13__anonymous16i_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, signed int _X1ii_1);
    761761static inline void _X12_constructorFv_S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1){
    762     {
    763         ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ?{} */);
    764     }
    765 
    766 }
     762          {
     763            ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ?{} */);
     764          }
     765
     766        }
    767767static inline void _X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, struct __anonymous16 _X4_srcS13__anonymous16_1){
    768     {
    769         ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1) /* ?{} */);
    770     }
    771 
    772 }
     768          {
     769            ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1) /* ?{} */);
     770          }
     771
     772        }
    773773static inline void _X11_destructorFv_S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1){
    774     {
    775         ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ^?{} */);
    776     }
    777 
    778 }
     774          {
     775            ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ^?{} */);
     776          }
     777
     778        }
    779779static inline struct __anonymous16 _X16_operator_assignFS13__anonymous16_S13__anonymous16S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, struct __anonymous16 _X4_srcS13__anonymous16_1){
    780     struct __anonymous16 _X4_retS13__anonymous16_1;
    781     {
    782         ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1));
    783     }
    784 
    785     {
    786         ((void)_X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1((&_X4_retS13__anonymous16_1), (*_X4_dstS13__anonymous16_1)));
    787     }
    788 
    789     return _X4_retS13__anonymous16_1;
    790 }
     780          struct __anonymous16 _X4_retS13__anonymous16_1;
     781          {
     782            ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1));
     783          }
     784
     785          {
     786            ((void)_X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1((&_X4_retS13__anonymous16_1), (*_X4_dstS13__anonymous16_1)));
     787          }
     788
     789          return _X4_retS13__anonymous16_1;
     790        }
    791791static inline void _X12_constructorFv_S13__anonymous16i_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, signed int _X1ii_1){
    792     {
    793         ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X1ii_1) /* ?{} */);
    794     }
    795 
    796 }
     792          {
     793            ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X1ii_1) /* ?{} */);
     794          }
     795
     796        }
    797797static inline volatile const struct __anonymous16 _X3f31FS13__anonymous16___1();
    798798struct __anonymous17 {
    799     signed int _X1ii_1;
    800 };
     799          signed int _X1ii_1;
     800        };
    801801static inline void _X12_constructorFv_S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1);
    802802static inline void _X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, struct __anonymous17 _X4_srcS13__anonymous17_1);
     
    805805static inline void _X12_constructorFv_S13__anonymous17i_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, signed int _X1ii_1);
    806806static inline void _X12_constructorFv_S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1){
    807     {
    808         ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ?{} */);
    809     }
    810 
    811 }
     807          {
     808            ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ?{} */);
     809          }
     810
     811        }
    812812static inline void _X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, struct __anonymous17 _X4_srcS13__anonymous17_1){
    813     {
    814         ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1) /* ?{} */);
    815     }
    816 
    817 }
     813          {
     814            ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1) /* ?{} */);
     815          }
     816
     817        }
    818818static inline void _X11_destructorFv_S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1){
    819     {
    820         ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ^?{} */);
    821     }
    822 
    823 }
     819          {
     820            ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ^?{} */);
     821          }
     822
     823        }
    824824static inline struct __anonymous17 _X16_operator_assignFS13__anonymous17_S13__anonymous17S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, struct __anonymous17 _X4_srcS13__anonymous17_1){
    825     struct __anonymous17 _X4_retS13__anonymous17_1;
    826     {
    827         ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1));
    828     }
    829 
    830     {
    831         ((void)_X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1((&_X4_retS13__anonymous17_1), (*_X4_dstS13__anonymous17_1)));
    832     }
    833 
    834     return _X4_retS13__anonymous17_1;
    835 }
     825          struct __anonymous17 _X4_retS13__anonymous17_1;
     826          {
     827            ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1));
     828          }
     829
     830          {
     831            ((void)_X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1((&_X4_retS13__anonymous17_1), (*_X4_dstS13__anonymous17_1)));
     832          }
     833
     834          return _X4_retS13__anonymous17_1;
     835        }
    836836static inline void _X12_constructorFv_S13__anonymous17i_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, signed int _X1ii_1){
    837     {
    838         ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X1ii_1) /* ?{} */);
    839     }
    840 
    841 }
     837          {
     838            ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X1ii_1) /* ?{} */);
     839          }
     840
     841        }
    842842static inline volatile const struct __anonymous17 _X3f32FS13__anonymous17___1();
    843843struct __anonymous18 {
    844     signed int _X1ii_1;
    845 };
     844          signed int _X1ii_1;
     845        };
    846846static inline void _X12_constructorFv_S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1);
    847847static inline void _X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, struct __anonymous18 _X4_srcS13__anonymous18_1);
     
    850850static inline void _X12_constructorFv_S13__anonymous18i_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, signed int _X1ii_1);
    851851static inline void _X12_constructorFv_S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1){
    852     {
    853         ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ?{} */);
    854     }
    855 
    856 }
     852          {
     853            ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ?{} */);
     854          }
     855
     856        }
    857857static inline void _X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, struct __anonymous18 _X4_srcS13__anonymous18_1){
    858     {
    859         ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1) /* ?{} */);
    860     }
    861 
    862 }
     858          {
     859            ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1) /* ?{} */);
     860          }
     861
     862        }
    863863static inline void _X11_destructorFv_S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1){
    864     {
    865         ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ^?{} */);
    866     }
    867 
    868 }
     864          {
     865            ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ^?{} */);
     866          }
     867
     868        }
    869869static inline struct __anonymous18 _X16_operator_assignFS13__anonymous18_S13__anonymous18S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, struct __anonymous18 _X4_srcS13__anonymous18_1){
    870     struct __anonymous18 _X4_retS13__anonymous18_1;
    871     {
    872         ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1));
    873     }
    874 
    875     {
    876         ((void)_X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1((&_X4_retS13__anonymous18_1), (*_X4_dstS13__anonymous18_1)));
    877     }
    878 
    879     return _X4_retS13__anonymous18_1;
    880 }
     870          struct __anonymous18 _X4_retS13__anonymous18_1;
     871          {
     872            ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1));
     873          }
     874
     875          {
     876            ((void)_X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1((&_X4_retS13__anonymous18_1), (*_X4_dstS13__anonymous18_1)));
     877          }
     878
     879          return _X4_retS13__anonymous18_1;
     880        }
    881881static inline void _X12_constructorFv_S13__anonymous18i_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, signed int _X1ii_1){
    882     {
    883         ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X1ii_1) /* ?{} */);
    884     }
    885 
    886 }
     882          {
     883            ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X1ii_1) /* ?{} */);
     884          }
     885
     886        }
    887887static inline volatile const struct __anonymous18 _X3f33FS13__anonymous18___1();
    888888struct __anonymous19 {
    889     signed int _X1ii_1;
    890 };
     889          signed int _X1ii_1;
     890        };
    891891static inline void _X12_constructorFv_S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1);
    892892static inline void _X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, struct __anonymous19 _X4_srcS13__anonymous19_1);
     
    895895static inline void _X12_constructorFv_S13__anonymous19i_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, signed int _X1ii_1);
    896896static inline void _X12_constructorFv_S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1){
    897     {
    898         ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ?{} */);
    899     }
    900 
    901 }
     897          {
     898            ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ?{} */);
     899          }
     900
     901        }
    902902static inline void _X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, struct __anonymous19 _X4_srcS13__anonymous19_1){
    903     {
    904         ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1) /* ?{} */);
    905     }
    906 
    907 }
     903          {
     904            ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1) /* ?{} */);
     905          }
     906
     907        }
    908908static inline void _X11_destructorFv_S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1){
    909     {
    910         ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ^?{} */);
    911     }
    912 
    913 }
     909          {
     910            ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ^?{} */);
     911          }
     912
     913        }
    914914static inline struct __anonymous19 _X16_operator_assignFS13__anonymous19_S13__anonymous19S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, struct __anonymous19 _X4_srcS13__anonymous19_1){
    915     struct __anonymous19 _X4_retS13__anonymous19_1;
    916     {
    917         ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1));
    918     }
    919 
    920     {
    921         ((void)_X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1((&_X4_retS13__anonymous19_1), (*_X4_dstS13__anonymous19_1)));
    922     }
    923 
    924     return _X4_retS13__anonymous19_1;
    925 }
     915          struct __anonymous19 _X4_retS13__anonymous19_1;
     916          {
     917            ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1));
     918          }
     919
     920          {
     921            ((void)_X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1((&_X4_retS13__anonymous19_1), (*_X4_dstS13__anonymous19_1)));
     922          }
     923
     924          return _X4_retS13__anonymous19_1;
     925        }
    926926static inline void _X12_constructorFv_S13__anonymous19i_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, signed int _X1ii_1){
    927     {
    928         ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X1ii_1) /* ?{} */);
    929     }
    930 
    931 }
     927          {
     928            ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X1ii_1) /* ?{} */);
     929          }
     930
     931        }
    932932static inline volatile const struct __anonymous19 _X3f34FS13__anonymous19___1();
    933933struct __anonymous20 {
    934     signed int _X1ii_1;
    935 };
     934          signed int _X1ii_1;
     935        };
    936936static inline void _X12_constructorFv_S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1);
    937937static inline void _X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, struct __anonymous20 _X4_srcS13__anonymous20_1);
     
    940940static inline void _X12_constructorFv_S13__anonymous20i_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, signed int _X1ii_1);
    941941static inline void _X12_constructorFv_S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1){
    942     {
    943         ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ?{} */);
    944     }
    945 
    946 }
     942          {
     943            ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ?{} */);
     944          }
     945
     946        }
    947947static inline void _X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, struct __anonymous20 _X4_srcS13__anonymous20_1){
    948     {
    949         ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1) /* ?{} */);
    950     }
    951 
    952 }
     948          {
     949            ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1) /* ?{} */);
     950          }
     951
     952        }
    953953static inline void _X11_destructorFv_S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1){
    954     {
    955         ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ^?{} */);
    956     }
    957 
    958 }
     954          {
     955            ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ^?{} */);
     956          }
     957
     958        }
    959959static inline struct __anonymous20 _X16_operator_assignFS13__anonymous20_S13__anonymous20S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, struct __anonymous20 _X4_srcS13__anonymous20_1){
    960     struct __anonymous20 _X4_retS13__anonymous20_1;
    961     {
    962         ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1));
    963     }
    964 
    965     {
    966         ((void)_X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1((&_X4_retS13__anonymous20_1), (*_X4_dstS13__anonymous20_1)));
    967     }
    968 
    969     return _X4_retS13__anonymous20_1;
    970 }
     960          struct __anonymous20 _X4_retS13__anonymous20_1;
     961          {
     962            ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1));
     963          }
     964
     965          {
     966            ((void)_X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1((&_X4_retS13__anonymous20_1), (*_X4_dstS13__anonymous20_1)));
     967          }
     968
     969          return _X4_retS13__anonymous20_1;
     970        }
    971971static inline void _X12_constructorFv_S13__anonymous20i_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, signed int _X1ii_1){
    972     {
    973         ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X1ii_1) /* ?{} */);
    974     }
    975 
    976 }
     972          {
     973            ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X1ii_1) /* ?{} */);
     974          }
     975
     976        }
    977977static inline volatile const struct __anonymous20 _X3f35FS13__anonymous20___1();
    978978struct __anonymous21 {
    979     signed int _X1ii_1;
    980 };
     979          signed int _X1ii_1;
     980        };
    981981static inline void _X12_constructorFv_S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1);
    982982static inline void _X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, struct __anonymous21 _X4_srcS13__anonymous21_1);
     
    985985static inline void _X12_constructorFv_S13__anonymous21i_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, signed int _X1ii_1);
    986986static inline void _X12_constructorFv_S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1){
    987     {
    988         ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ?{} */);
    989     }
    990 
    991 }
     987          {
     988            ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ?{} */);
     989          }
     990
     991        }
    992992static inline void _X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, struct __anonymous21 _X4_srcS13__anonymous21_1){
    993     {
    994         ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1) /* ?{} */);
    995     }
    996 
    997 }
     993          {
     994            ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1) /* ?{} */);
     995          }
     996
     997        }
    998998static inline void _X11_destructorFv_S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1){
    999     {
    1000         ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ^?{} */);
    1001     }
    1002 
    1003 }
     999          {
     1000            ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ^?{} */);
     1001          }
     1002
     1003        }
    10041004static inline struct __anonymous21 _X16_operator_assignFS13__anonymous21_S13__anonymous21S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, struct __anonymous21 _X4_srcS13__anonymous21_1){
    1005     struct __anonymous21 _X4_retS13__anonymous21_1;
    1006     {
    1007         ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1));
    1008     }
    1009 
    1010     {
    1011         ((void)_X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1((&_X4_retS13__anonymous21_1), (*_X4_dstS13__anonymous21_1)));
    1012     }
    1013 
    1014     return _X4_retS13__anonymous21_1;
    1015 }
     1005          struct __anonymous21 _X4_retS13__anonymous21_1;
     1006          {
     1007            ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1));
     1008          }
     1009
     1010          {
     1011            ((void)_X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1((&_X4_retS13__anonymous21_1), (*_X4_dstS13__anonymous21_1)));
     1012          }
     1013
     1014          return _X4_retS13__anonymous21_1;
     1015        }
    10161016static inline void _X12_constructorFv_S13__anonymous21i_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, signed int _X1ii_1){
    1017     {
    1018         ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X1ii_1) /* ?{} */);
    1019     }
    1020 
    1021 }
     1017          {
     1018            ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X1ii_1) /* ?{} */);
     1019          }
     1020
     1021        }
    10221022static inline volatile const struct __anonymous21 _X3f36FS13__anonymous21___1();
    10231023struct __anonymous22 {
    1024     signed int _X1ii_1;
    1025 };
     1024          signed int _X1ii_1;
     1025        };
    10261026static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1);
    10271027static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1);
     
    10301030static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1);
    10311031static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){
    1032     {
    1033         ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */);
    1034     }
    1035 
    1036 }
     1032          {
     1033            ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */);
     1034          }
     1035
     1036        }
    10371037static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){
    1038     {
    1039         ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */);
    1040     }
    1041 
    1042 }
     1038          {
     1039            ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */);
     1040          }
     1041
     1042        }
    10431043static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){
    1044     {
    1045         ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */);
    1046     }
    1047 
    1048 }
     1044          {
     1045            ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */);
     1046          }
     1047
     1048        }
    10491049static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){
    1050     struct __anonymous22 _X4_retS13__anonymous22_1;
    1051     {
    1052         ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1));
    1053     }
    1054 
    1055     {
    1056         ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1)));
    1057     }
    1058 
    1059     return _X4_retS13__anonymous22_1;
    1060 }
     1050          struct __anonymous22 _X4_retS13__anonymous22_1;
     1051          {
     1052            ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1));
     1053          }
     1054
     1055          {
     1056            ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1)));
     1057          }
     1058
     1059          return _X4_retS13__anonymous22_1;
     1060        }
    10611061static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1){
    1062     {
    1063         ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */);
    1064     }
    1065 
    1066 }
     1062          {
     1063            ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */);
     1064          }
     1065
     1066        }
    10671067static inline volatile const struct __anonymous22 _X3f37FS13__anonymous22___1();
    10681068struct __anonymous23 {
    1069     signed int _X1ii_1;
    1070 };
     1069          signed int _X1ii_1;
     1070        };
    10711071static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1);
    10721072static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1);
     
    10751075static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1);
    10761076static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){
    1077     {
    1078         ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */);
    1079     }
    1080 
    1081 }
     1077          {
     1078            ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */);
     1079          }
     1080
     1081        }
    10821082static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){
    1083     {
    1084         ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */);
    1085     }
    1086 
    1087 }
     1083          {
     1084            ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */);
     1085          }
     1086
     1087        }
    10881088static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){
    1089     {
    1090         ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */);
    1091     }
    1092 
    1093 }
     1089          {
     1090            ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */);
     1091          }
     1092
     1093        }
    10941094static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){
    1095     struct __anonymous23 _X4_retS13__anonymous23_1;
    1096     {
    1097         ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1));
    1098     }
    1099 
    1100     {
    1101         ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1)));
    1102     }
    1103 
    1104     return _X4_retS13__anonymous23_1;
    1105 }
     1095          struct __anonymous23 _X4_retS13__anonymous23_1;
     1096          {
     1097            ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1));
     1098          }
     1099
     1100          {
     1101            ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1)));
     1102          }
     1103
     1104          return _X4_retS13__anonymous23_1;
     1105        }
    11061106static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1){
    1107     {
    1108         ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */);
    1109     }
    1110 
    1111 }
     1107          {
     1108            ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */);
     1109          }
     1110
     1111        }
    11121112static inline volatile const struct __anonymous23 _X3f38FS13__anonymous23___1();
    11131113static inline volatile const signed short int _X3f41Fs___1();
     
    11201120static inline volatile const signed short int _X3f48Fs___1();
    11211121signed int _X4mainFi_iPPKc__1(signed int _X4argci_1, const char **_X4argvPPKc_1){
    1122     __attribute__ ((unused)) signed int _X12_retval_maini_1;
    1123     {
    1124         ((void)(_X12_retval_maini_1=0) /* ?{} */);
    1125     }
    1126 
    1127     return _X12_retval_maini_1;
    1128 }
     1122          __attribute__ ((unused)) signed int _X12_retval_maini_1;
     1123          {
     1124            ((void)(_X12_retval_maini_1=0) /* ?{} */);
     1125          }
     1126
     1127          return _X12_retval_maini_1;
     1128        }
    11291129static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return _X4mainFi_iPPKc__1((signed int )argc, (const char **)argv); }
    11301130static inline signed int invoke_main(signed int argc, char **argv, char **envp);
    11311131signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){
    1132     __attribute__ ((unused)) signed int _X12_retval_maini_1;
    1133     {
    1134         signed int _tmp_cp_ret4;
    1135         ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */);
    1136     }
    1137 
    1138     return _X12_retval_maini_1;
    1139 }
     1132          __attribute__ ((unused)) signed int _X12_retval_maini_1;
     1133          {
     1134            signed int _tmp_cp_ret4;
     1135            ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */);
     1136          }
     1137
     1138          return _X12_retval_maini_1;
     1139        }
  • tests/.expect/extension.x64.txt

    rc6a1e8a r866545b  
    33__extension__ signed int _X1ci_1;
    44__extension__ struct S {
    5     __extension__ signed int _X1ai_1;
    6     __extension__ signed int _X1bi_1;
    7     __extension__ signed int _X1ci_1;
    8 };
     5          __extension__ signed int _X1ai_1;
     6          __extension__ signed int _X1bi_1;
     7          __extension__ signed int _X1ci_1;
     8        };
    99static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
    1010static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
     
    1515static inline void _X12_constructorFv_S1Siii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1);
    1616static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
    17     {
    18         ((void)((*_X4_dstS1S_1)._X1ai_1) /* ?{} */);
    19     }
    20 
    21     {
    22         ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */);
    23     }
    24 
    25     {
    26         ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */);
    27     }
    28 
    29 }
     17          {
     18            ((void)((*_X4_dstS1S_1)._X1ai_1) /* ?{} */);
     19          }
     20
     21          {
     22            ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */);
     23          }
     24
     25          {
     26            ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */);
     27          }
     28
     29        }
    3030static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
    31     {
    32         ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1) /* ?{} */);
    33     }
    34 
    35     {
    36         ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1) /* ?{} */);
    37     }
    38 
    39     {
    40         ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1) /* ?{} */);
    41     }
    42 
    43 }
     31          {
     32            ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1) /* ?{} */);
     33          }
     34
     35          {
     36            ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1) /* ?{} */);
     37          }
     38
     39          {
     40            ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1) /* ?{} */);
     41          }
     42
     43        }
    4444static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
    45     {
    46         ((void)((*_X4_dstS1S_1)._X1ci_1) /* ^?{} */);
    47     }
    48 
    49     {
    50         ((void)((*_X4_dstS1S_1)._X1bi_1) /* ^?{} */);
    51     }
    52 
    53     {
    54         ((void)((*_X4_dstS1S_1)._X1ai_1) /* ^?{} */);
    55     }
    56 
    57 }
     45          {
     46            ((void)((*_X4_dstS1S_1)._X1ci_1) /* ^?{} */);
     47          }
     48
     49          {
     50            ((void)((*_X4_dstS1S_1)._X1bi_1) /* ^?{} */);
     51          }
     52
     53          {
     54            ((void)((*_X4_dstS1S_1)._X1ai_1) /* ^?{} */);
     55          }
     56
     57        }
    5858static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
    59     struct S _X4_retS1S_1;
    60     {
    61         ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1));
    62     }
    63 
    64     {
    65         ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1));
    66     }
    67 
    68     {
    69         ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1));
    70     }
    71 
    72     {
    73         ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
    74     }
    75 
    76     return _X4_retS1S_1;
    77 }
     59          struct S _X4_retS1S_1;
     60          {
     61            ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1));
     62          }
     63
     64          {
     65            ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1));
     66          }
     67
     68          {
     69            ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1));
     70          }
     71
     72          {
     73            ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
     74          }
     75
     76          return _X4_retS1S_1;
     77        }
    7878static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1){
    79     {
    80         ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
    81     }
    82 
    83     {
    84         ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */);
    85     }
    86 
    87     {
    88         ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */);
    89     }
    90 
    91 }
     79          {
     80            ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
     81          }
     82
     83          {
     84            ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */);
     85          }
     86
     87          {
     88            ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */);
     89          }
     90
     91        }
    9292static inline void _X12_constructorFv_S1Sii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1){
    93     {
    94         ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
    95     }
    96 
    97     {
    98         ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */);
    99     }
    100 
    101     {
    102         ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */);
    103     }
    104 
    105 }
     93          {
     94            ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
     95          }
     96
     97          {
     98            ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */);
     99          }
     100
     101          {
     102            ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */);
     103          }
     104
     105        }
    106106static inline void _X12_constructorFv_S1Siii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){
    107     {
    108         ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
    109     }
    110 
    111     {
    112         ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */);
    113     }
    114 
    115     {
    116         ((void)((*_X4_dstS1S_1)._X1ci_1=_X1ci_1) /* ?{} */);
    117     }
    118 
    119 }
     107          {
     108            ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
     109          }
     110
     111          {
     112            ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */);
     113          }
     114
     115          {
     116            ((void)((*_X4_dstS1S_1)._X1ci_1=_X1ci_1) /* ?{} */);
     117          }
     118
     119        }
    120120__extension__ union U {
    121     __extension__ signed int _X1ai_1;
    122     __extension__ signed int _X1bi_1;
    123     __extension__ signed int _X1ci_1;
    124 };
     121          __extension__ signed int _X1ai_1;
     122          __extension__ signed int _X1bi_1;
     123          __extension__ signed int _X1ci_1;
     124        };
    125125static inline void _X12_constructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1);
    126126static inline void _X12_constructorFv_U1UU1U_autogen___1(union U *_X4_dstU1U_1, union U _X4_srcU1U_1);
     
    129129static inline void _X12_constructorFv_U1Ui_autogen___1(union U *_X4_dstU1U_1, signed int _X1ai_1);
    130130static inline void _X12_constructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1){
    131 }
     131        }
    132132static inline void _X12_constructorFv_U1UU1U_autogen___1(union U *_X4_dstU1U_1, union U _X4_srcU1U_1){
    133     {
    134         ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U )));
    135     }
    136 
    137 }
     133          {
     134            ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U )));
     135          }
     136
     137        }
    138138static inline void _X11_destructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1){
    139 }
     139        }
    140140static inline union U _X16_operator_assignFU1U_U1UU1U_autogen___1(union U *_X4_dstU1U_1, union U _X4_srcU1U_1){
    141     union U _X4_retU1U_1;
    142     {
    143         ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U )));
    144     }
    145 
    146     {
    147         ((void)_X12_constructorFv_U1UU1U_autogen___1((&_X4_retU1U_1), (*_X4_dstU1U_1)));
    148     }
    149 
    150     return _X4_retU1U_1;
    151 }
     141          union U _X4_retU1U_1;
     142          {
     143            ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U )));
     144          }
     145
     146          {
     147            ((void)_X12_constructorFv_U1UU1U_autogen___1((&_X4_retU1U_1), (*_X4_dstU1U_1)));
     148          }
     149
     150          return _X4_retU1U_1;
     151        }
    152152static inline void _X12_constructorFv_U1Ui_autogen___1(union U *_X4_dstU1U_1, signed int _X1ai_1){
    153     {
    154         ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X1ai_1)), sizeof(signed int )));
    155     }
    156 
    157 }
     153          {
     154            ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X1ai_1)), sizeof(signed int )));
     155          }
     156
     157        }
    158158__extension__ enum E {
    159     _X1RKM1E_1,
    160     _X1GKM1E_1,
    161     _X1BKM1E_1,
    162 };
     159          _X1RKM1E_1,
     160          _X1GKM1E_1,
     161          _X1BKM1E_1,
     162        };
    163163__extension__ signed int _X1fFi___1();
    164164__extension__ signed int i;
    165165__extension__ signed int j;
    166166__extension__ signed int _X4fredFi_i__1(signed int _X1pi_1){
    167     __attribute__ ((unused)) signed int _X12_retval_fredi_1;
    168     __extension__ struct S {
    169         __extension__ signed int _X1ai_2;
    170         __extension__ signed int _X1bi_2;
    171         __extension__ signed int _X1ci_2;
    172         __extension__ signed int *_X1xPi_2;
    173         __extension__ signed int *_X1yPi_2;
    174         __extension__ signed int *_X1zPi_2;
    175     };
    176     inline void _X12_constructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){
    177         {
    178             ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */);
    179         }
    180 
    181         {
    182             ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */);
    183         }
    184 
    185         {
    186             ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */);
    187         }
    188 
    189         {
    190             ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */);
    191         }
    192 
    193         {
    194             ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */);
    195         }
    196 
    197         {
    198             ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */);
    199         }
    200 
    201     }
    202     inline void _X12_constructorFv_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){
    203         {
    204             ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */);
    205         }
    206 
    207         {
    208             ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */);
    209         }
    210 
    211         {
    212             ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */);
    213         }
    214 
    215         {
    216             ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2) /* ?{} */);
    217         }
    218 
    219         {
    220             ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2) /* ?{} */);
    221         }
    222 
    223         {
    224             ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2) /* ?{} */);
    225         }
    226 
    227     }
    228     inline void _X11_destructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){
    229         {
    230             ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ^?{} */);
    231         }
    232 
    233         {
    234             ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ^?{} */);
    235         }
    236 
    237         {
    238             ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ^?{} */);
    239         }
    240 
    241         {
    242             ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */);
    243         }
    244 
    245         {
    246             ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */);
    247         }
    248 
    249         {
    250             ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */);
    251         }
    252 
    253     }
    254     inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){
    255         struct S _X4_retS1S_2;
    256         {
    257             ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2));
    258         }
    259 
    260         {
    261             ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2));
    262         }
    263 
    264         {
    265             ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2));
    266         }
    267 
    268         {
    269             ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2));
    270         }
    271 
    272         {
    273             ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2));
    274         }
    275 
    276         {
    277             ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2));
    278         }
    279 
    280         {
    281             ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2)));
    282         }
    283 
    284         return _X4_retS1S_2;
    285     }
    286     inline void _X12_constructorFv_S1Si_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2){
    287         {
    288             ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */);
    289         }
    290 
    291         {
    292             ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */);
    293         }
    294 
    295         {
    296             ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */);
    297         }
    298 
    299         {
    300             ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */);
    301         }
    302 
    303         {
    304             ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */);
    305         }
    306 
    307         {
    308             ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */);
    309         }
    310 
    311     }
    312     inline void _X12_constructorFv_S1Sii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2){
    313         {
    314             ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */);
    315         }
    316 
    317         {
    318             ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */);
    319         }
    320 
    321         {
    322             ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */);
    323         }
    324 
    325         {
    326             ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */);
    327         }
    328 
    329         {
    330             ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */);
    331         }
    332 
    333         {
    334             ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */);
    335         }
    336 
    337     }
    338     inline void _X12_constructorFv_S1Siii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){
    339         {
    340             ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */);
    341         }
    342 
    343         {
    344             ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */);
    345         }
    346 
    347         {
    348             ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */);
    349         }
    350 
    351         {
    352             ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */);
    353         }
    354 
    355         {
    356             ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */);
    357         }
    358 
    359         {
    360             ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */);
    361         }
    362 
    363     }
    364     inline void _X12_constructorFv_S1SiiiPi_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2, signed int *_X1xPi_2){
    365         {
    366             ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */);
    367         }
    368 
    369         {
    370             ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */);
    371         }
    372 
    373         {
    374             ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */);
    375         }
    376 
    377         {
    378             ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */);
    379         }
    380 
    381         {
    382             ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */);
    383         }
    384 
    385         {
    386             ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */);
    387         }
    388 
    389     }
    390     inline void _X12_constructorFv_S1SiiiPiPi_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2, signed int *_X1xPi_2, signed int *_X1yPi_2){
    391         {
    392             ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */);
    393         }
    394 
    395         {
    396             ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */);
    397         }
    398 
    399         {
    400             ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */);
    401         }
    402 
    403         {
    404             ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */);
    405         }
    406 
    407         {
    408             ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */);
    409         }
    410