Changeset 46438e4


Ignore:
Timestamp:
Jun 7, 2019, 11:21:07 PM (2 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
arm-eh, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr
Children:
1e6ea4e1
Parents:
866545b (diff), 05d55ff (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:
24 edited

Legend:

Unmodified
Added
Removed
  • src/AST/AssertAcyclic.cpp

    r866545b r46438e4  
    1010// Created On       : Thu Jun 06 15:00:00 2019
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Thu Jun 06 15:00:00 2019
    13 // Update Count     : 0
     12// Last Modified On : Fri Jun 07 14:32:00 2019
     13// Update Count     : 1
    1414//
    1515
     
    2020namespace {
    2121
    22 class NoStrongCyclesCore : public ast::WithGuards {
     22class NoStrongCyclesCore {
    2323    std::vector<const ast::Node *> parents;
    2424public:
    25         void previsit ( const ast::Node * node ) {
    26                 for (auto & p : parents) {
    27                         assert(p != node);
     25        void previsit( const ast::Node * node ) {
     26                for (auto & parent : parents) {
     27                        assert(parent != node);
    2828                }
    2929                parents.push_back(node);
    30                 GuardAction( [this]() { parents.pop_back(); } );
     30        }
     31        void postvisit( const ast::Node * ) {
     32                parents.pop_back();
    3133        }
    3234};
     
    3638namespace ast {
    3739
    38 void assertAcyclic( const std::list< ast::ptr< ast::Decl > > translationUnit ) {
     40void assertAcyclic( const std::list< ast::ptr< ast::Decl > > & translationUnit ) {
    3941        Pass<NoStrongCyclesCore> visitor;
    4042        for ( auto & decl : translationUnit ) {
  • src/AST/AssertAcyclic.hpp

    r866545b r46438e4  
    88//
    99// Author           : Andrew Beach
    10 // Created On       : Thr May 6 15:00:00 2019
     10// Created On       : Thr Jun 6 15:00:00 2019
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Thr May 6 15:00:00 2019
    13 // Update Count     : 0
     12// Last Modified On : Fri Jun  7 14:32:00 2019
     13// Update Count     : 1
    1414//
    1515
     
    2525namespace ast {
    2626
    27 void assertAcyclic( const std::list< ast::ptr< ast::Decl > > translationUnit );
     27void assertAcyclic( const std::list< ast::ptr< ast::Decl > > & translationUnit );
    2828
    2929}
  • src/AST/Convert.cpp

    r866545b r46438e4  
    1616#include "Convert.hpp"
    1717
     18#include <deque>
    1819#include <unordered_map>
    1920
     
    575576
    576577                if ( srcInferred.mode == ast::Expr::InferUnion::Params ) {
    577                         const ast::InferredParams &srcParams = srcInferred.inferParamsConst();
     578                        const ast::InferredParams &srcParams = srcInferred.inferParams();
    578579                        for (auto srcParam : srcParams) {
    579580                                tgtInferParams[srcParam.first] = ParamEntry(
     
    585586                        }
    586587                } else if ( srcInferred.mode == ast::Expr::InferUnion::Slots  ) {
    587                         const ast::ResnSlots &srcSlots = srcInferred.resnSlotsConst();
     588                        const ast::ResnSlots &srcSlots = srcInferred.resnSlots();
    588589                        for (auto srcSlot : srcSlots) {
    589590                                tgtResnSlots.push_back(srcSlot);
     
    735736                expr->var = get<DeclarationWithType>().accept1(node->var);
    736737                Type * type = expr->var->get_type()->clone();
     738                if(FunctionType * ft = dynamic_cast<FunctionType*>(type)) {
     739                        if(node->result.as<ast::PointerType>()) {
     740                                type = new PointerType({}, ft);
     741                        }
     742                }
     743
    737744                type->set_lvalue( true );
    738                 expr->set_result( type );
     745                expr->result = type ;
    739746                this->node = expr;
    740747                return nullptr;
     
    782789                        assert (!rslt->isType);
    783790                }
    784                 if (node->type) {
     791                else {
     792                        assert(node->type);
    785793                        rslt = new SizeofExpr(
    786794                                get<Type>().accept1(node->type)
     
    803811                        assert (!rslt->isType);
    804812                }
    805                 if (node->type) {
     813                else {
     814                        assert(node->type);
    806815                        rslt = new AlignofExpr(
    807816                                get<Type>().accept1(node->type)
     
    14131422#       define GET_ACCEPT_V(child, type) \
    14141423                getAcceptV< ast::type, decltype( old->child ) >( old->child )
     1424       
     1425        template<typename NewT, typename OldC>
     1426        std::deque< ast::ptr<NewT> > getAcceptD( OldC& old ) {
     1427                std::deque< ast::ptr<NewT> > ret;
     1428                for ( auto a : old ) {
     1429                        a->accept( *this );
     1430                        ret.emplace_back( strict_dynamic_cast< NewT * >(node) );
     1431                        node = nullptr;
     1432                }
     1433                return ret;
     1434        }
     1435
     1436#       define GET_ACCEPT_D(child, type) \
     1437                getAcceptD< ast::type, decltype( old->child ) >( old->child )
    14151438
    14161439        ast::Label make_label(Label* old) {
     
    21492172                );
    21502173
    2151                 visitBaseExpr( old,
     2174                visitBaseExpr_SkipResultType( old,
    21522175                        expr
    21532176                );
     
    21552178                expr->var = GET_ACCEPT_1(var, DeclWithType);
    21562179                expr->result = expr->var->get_type();
     2180                if(const ast::FunctionType * ft = expr->result.as<ast::FunctionType>()) {
     2181                        if(dynamic_cast<PointerType *>(old->result)) {
     2182                                expr->result = new ast::PointerType(ft);
     2183                        }
     2184                }
    21572185                add_qualifiers( expr->result, ast::CV::Lvalue );
    21582186                this->node = expr;
     
    24492477
    24502478        virtual void visit( UntypedInitExpr * old ) override final {
    2451                 std::vector<ast::InitAlternative> initAlts;
     2479                std::deque<ast::InitAlternative> initAlts;
    24522480                for (auto ia : old->initAlts) {
    24532481                        initAlts.push_back(ast::InitAlternative(
     
    27142742                this->node = new ast::Designation(
    27152743                        old->location,
    2716                         GET_ACCEPT_V(designators, Expr)
     2744                        GET_ACCEPT_D(designators, Expr)
    27172745                );
    27182746        }
  • src/AST/Expr.cpp

    r866545b r46438e4  
    163163        result = mem->get_type();
    164164        // substitute aggregate generic parameters into member type
    165         genericSubsitution( aggregate->result ).apply( result );
     165        genericSubstitution( aggregate->result ).apply( result );
    166166        // ensure lvalue and appropriate restrictions from aggregate type
    167167        add_qualifiers( result, aggregate->result->qualifiers | CV::Lvalue );
  • src/AST/Expr.hpp

    r866545b r46438e4  
    1717
    1818#include <cassert>
     19#include <deque>
    1920#include <map>
    2021#include <string>
     
    111112                }
    112113
    113                 const ResnSlots& resnSlotsConst() const {
     114                const ResnSlots& resnSlots() const {
    114115                        if (mode == Slots) {
    115116                                return data.resnSlots;
     
    128129                }
    129130
    130                 const InferredParams& inferParamsConst() const {
     131                const InferredParams& inferParams() const {
    131132                        if (mode == Params) {
    132133                                return data.inferParams;
     
    134135                        assert(!"Mode was not already Params");
    135136                        return *((InferredParams*)nullptr);
     137                }
     138
     139                /// splices other InferUnion into this one. Will fail if one union is in `Slots` mode
     140                /// and the other is in `Params`.
     141                void splice( InferUnion && o ) {
     142                        if ( o.mode == Empty ) return;
     143                        if ( mode == Empty ) { init_from( o ); return; }
     144                        assert( mode == o.mode && "attempt to splice incompatible InferUnion" );
     145
     146                        if ( mode == Slots ){
     147                                data.resnSlots.insert(
     148                                        data.resnSlots.end(), o.data.resnSlots.begin(), o.data.resnSlots.end() );
     149                        } else if ( mode == Params ) {
     150                                for ( const auto & p : o.data.inferParams ) {
     151                                        data.inferParams[p.first] = std::move(p.second);
     152                                }
     153                        } else assert(!"invalid mode");
    136154                }
    137155        };
     
    695713public:
    696714        ptr<Expr> expr;
    697         std::vector<InitAlternative> initAlts;
    698 
    699         UntypedInitExpr( const CodeLocation & loc, const Expr * e, std::vector<InitAlternative> && as )
     715        std::deque<InitAlternative> initAlts;
     716
     717        UntypedInitExpr( const CodeLocation & loc, const Expr * e, std::deque<InitAlternative> && as )
    700718        : Expr( loc ), expr( e ), initAlts( std::move(as) ) {}
    701719
  • src/AST/GenericSubstitution.cpp

    r866545b r46438e4  
    3131                TypeSubstitution sub;
    3232
    33                 void previsit( const Type * ty ) {
    34                         assertf( false, "Attempted generic substitution for non-aggregate type: %s",
    35                                 toString( ty ).c_str() );
     33                void previsit( const Type * ) {
     34                        // allow empty substitution for non-generic type
     35                        visit_children = false;
    3636                }
    3737
     
    4040                }
    4141
    42                 void previsit( const ReferenceToType * ty ) {
     42        private:
     43                // make substitution for generic type
     44                void makeSub( const ReferenceToType * ty ) {
    4345                        visit_children = false;
    44                         // build substitution from base parameters
    4546                        const AggregateDecl * aggr = ty->aggr();
    4647                        sub = TypeSubstitution{ aggr->params.begin(), aggr->params.end(), ty->params.begin() };
     48                }
     49
     50        public:
     51                void previsit( const StructInstType * ty ) {
     52                        makeSub( ty );
     53                }
     54
     55                void previsit( const UnionInstType * ty ) {
     56                        makeSub( ty );
    4757                }
    4858        };
    4959}
    5060
    51 TypeSubstitution genericSubsitution( const Type * ty ) {
     61TypeSubstitution genericSubstitution( const Type * ty ) {
    5262        Pass<GenericSubstitutionBuilder> builder;
    5363        maybe_accept( ty, builder );
  • src/AST/GenericSubstitution.hpp

    r866545b r46438e4  
    2222class Type;
    2323
    24 TypeSubstitution genericSubsitution( const Type * );
     24TypeSubstitution genericSubstitution( const Type * );
    2525
    2626}
  • src/AST/Init.hpp

    r866545b r46438e4  
    1616#pragma once
    1717
     18#include <deque>
    1819#include <utility>        // for move
    1920#include <vector>
     
    3536class Designation final : public ParseNode {
    3637public:
    37         std::vector<ptr<Expr>> designators;
     38        std::deque<ptr<Expr>> designators;
    3839
    39         Designation( const CodeLocation& loc, std::vector<ptr<Expr>>&& ds = {} )
     40        Designation( const CodeLocation& loc, std::deque<ptr<Expr>>&& ds = {} )
    4041        : ParseNode( loc ), designators( std::move(ds) ) {}
    4142
  • src/AST/Node.hpp

    r866545b r46438e4  
    154154
    155155        template< enum Node::ref_type o_ref_t >
    156         ptr_base( const ptr_base<node_t, o_ref_t> & o ) : node(o.node) {
     156        ptr_base( const ptr_base<node_t, o_ref_t> & o ) : node(o.get()) {
    157157                if( node ) _inc(node);
    158158        }
    159159
    160160        template< enum Node::ref_type o_ref_t >
    161         ptr_base( ptr_base<node_t, o_ref_t> && o ) : node(o.node) {
     161        ptr_base( ptr_base<node_t, o_ref_t> && o ) : node(o.get()) {
    162162                if( node ) _inc(node);
    163163        }
     
    184184        template< enum Node::ref_type o_ref_t >
    185185        ptr_base & operator=( const ptr_base<node_t, o_ref_t> & o ) {
    186                 assign(o.node);
     186                assign(o.get());
    187187                return *this;
    188188        }
     
    190190        template< enum Node::ref_type o_ref_t >
    191191        ptr_base & operator=( ptr_base<node_t, o_ref_t> && o ) {
    192                 assign(o.node);
     192                assign(o.get());
    193193                return *this;
    194194        }
     
    228228        void _check() const;
    229229
    230 protected:
    231230        const node_t * node;
    232231};
  • src/AST/Pass.hpp

    r866545b r46438e4  
    287287                at_cleanup( [func](void *) { func(); }, nullptr );
    288288        }
     289
     290        /// When this node is finished being visited, call a member of an object.
     291        template<typename T>
     292        void GuardMethod( T * obj, void (T::*method)() ) {
     293                at_cleanup( [ method ]( void * object ) {
     294                        static_cast< T * >( object )->method();
     295                }, static_cast< void * >( obj ) );
     296        }
    289297};
    290298
  • src/AST/porting.md

    r866545b r46438e4  
    238238    * also now returns `const AggregateDecl *`
    239239* `genericSubstitution()` moved to own visitor in `AST/GenericSubstitution.hpp`
     240  * subsumes old `makeGenericSubstitution()`
    240241
    241242`BasicType`
  • src/CodeGen/CodeGenerator.cc

    r866545b r46438e4  
    116116        }
    117117
    118         CodeGenerator::CodeGenerator( std::ostream & os, bool pretty, bool genC, bool lineMarks, bool printExprTypes ) : indent( CodeGenerator::tabsize ), output( os ), printLabels( *this ), options( pretty, genC, lineMarks, printExprTypes ), endl( *this ) {}
    119         CodeGenerator::CodeGenerator( std::ostream & os, const Options &options ) : indent( CodeGenerator::tabsize ), output( os ), printLabels( *this ), options(options), endl( *this ) {}
     118        CodeGenerator::CodeGenerator( std::ostream & os, bool pretty, bool genC, bool lineMarks, bool printExprTypes ) : indent( 0, CodeGenerator::tabsize ), output( os ), printLabels( *this ), options( pretty, genC, lineMarks, printExprTypes ), endl( *this ) {}
     119        CodeGenerator::CodeGenerator( std::ostream & os, const Options &options ) : indent( 0, CodeGenerator::tabsize ), output( os ), printLabels( *this ), options(options), endl( *this ) {}
    120120
    121121        string CodeGenerator::mangleName( DeclarationWithType * decl ) {
  • src/Common/Indenter.h

    r866545b r46438e4  
    2323        unsigned int amt;         ///< spaces in one level of indentation
    2424
    25         Indenter( unsigned int indent = 0, unsigned int amt = tabsize ) 
    26         : indent( indent*amt ), amt( amt ) {}
    27        
    28         Indenter & operator+=(int nlevels) { indent += amt*nlevels; return *this; }
    29         Indenter & operator-=(int nlevels) { indent -= amt*nlevels; return *this; }
     25        Indenter( unsigned int indent = 0, unsigned int amt = tabsize )
     26        : indent( indent ), amt( amt ) {}
     27
     28        Indenter & operator+=(int nlevels) { indent += nlevels; return *this; }
     29        Indenter & operator-=(int nlevels) { indent -= nlevels; return *this; }
    3030        Indenter operator+(int nlevels) { Indenter indenter = *this; return indenter += nlevels; }
    3131        Indenter operator-(int nlevels) { Indenter indenter = *this; return indenter -= nlevels; }
     
    3535
    3636inline std::ostream & operator<<( std::ostream & out, const Indenter & indent ) {
    37         return out << std::string(indent.indent, ' ');
     37        return out << std::string(indent.indent * indent.amt, ' ');
    3838}
    3939
  • src/GenPoly/Lvalue.cc

    r866545b r46438e4  
    196196                                unsigned int i = 0;
    197197                                const unsigned int end = ftype->parameters.size();
     198
     199                                /// The for loop may eagerly dereference the iterators and fail on empty lists
     200                                if(i == end) { return appExpr; }
    198201                                for ( auto p : unsafe_group_iterate( appExpr->args, ftype->parameters ) ) {
    199202                                        if (i == end) break;
  • src/InitTweak/FixInit.cc

    r866545b r46438e4  
    301301                                replacement = new CastExpr( replacement, base->clone() );
    302302                        }
    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                         }
     303                        DeclReplacer::replace( dtor, { std::make_pair( objDecl, replacement ) } );
    311304                        dtorFunc->statements->push_back( strict_dynamic_cast<Statement *>( dtor ) );
    312305
  • src/ResolvExpr/CurrentObject.cc

    r866545b r46438e4  
    1616#include <stddef.h>                    // for size_t
    1717#include <cassert>                     // for assertf, assert, safe_dynamic_...
     18#include <deque>
    1819#include <iostream>                    // for ostream, operator<<, basic_ost...
    1920#include <stack>                       // for stack
     
    2122
    2223#include "AST/Expr.hpp"                // for InitAlternative
     24#include "AST/GenericSubstitution.hpp" // for genericSubstitution
    2325#include "AST/Init.hpp"                // for Designation
    2426#include "AST/Node.hpp"                // for readonly
     27#include "AST/Type.hpp"
    2528#include "Common/Indenter.h"           // for Indenter, operator<<
    2629#include "Common/SemanticError.h"      // for SemanticError
     
    583586
    584587namespace 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         };
     588        /// create a new MemberIterator that traverses a type correctly
     589        MemberIterator * createMemberIterator( const CodeLocation & loc, const Type * type );
    600590
    601591        /// Iterates "other" types (e.g. basic, pointer) which do not change at list initializer entry
     
    606596                SimpleIterator( const CodeLocation & loc, const Type * t ) : location( loc ), type( t ) {}
    607597
    608                 std::vector< InitAlternative > operator* () const override { return first(); }
    609 
    610         protected:
    611                 std::vector< InitAlternative > first() const override {
     598                void setPosition(
     599                        std::deque< ptr< Expr > >::const_iterator begin,
     600                        std::deque< ptr< Expr > >::const_iterator end
     601                ) override {
     602                        if ( begin != end ) {
     603                                SemanticError( location, "Un-designated initializer given non-empty designator" );
     604                        }
     605                }
     606
     607                std::deque< InitAlternative > operator* () const override { return first(); }
     608
     609                operator bool() const override { return type; }
     610
     611                SimpleIterator & bigStep() override { return smallStep(); }
     612                SimpleIterator & smallStep() override {
     613                        type = nullptr;  // empty on increment because no members
     614                        return *this;
     615                }
     616
     617                const Type * getType() override { return type; }
     618
     619                const Type * getNext() override { return type; }
     620
     621                std::deque< InitAlternative > first() const override {
    612622                        if ( type ) return { InitAlternative{ type, new Designation{ location } } };
    613623                        return {};
     
    615625        };
    616626
     627        /// Iterates array types
     628        class ArrayIterator final : public MemberIterator {
     629                CodeLocation location;
     630                readonly< ArrayType > array = nullptr;
     631                readonly< Type > base = nullptr;
     632                size_t index = 0;
     633                size_t size = 0;
     634                std::unique_ptr< MemberIterator > memberIter;
     635
     636                void setSize( const Expr * expr ) {
     637                        auto res = eval(expr);
     638                        if ( ! res.second ) {
     639                                SemanticError( location,
     640                                        toString("Array designator must be a constant expression: ", expr ) );
     641                        }
     642                        size = res.first;
     643                }
     644
     645        public:
     646                ArrayIterator( const CodeLocation & loc, const ArrayType * at )
     647                : location( loc ), array( at ), base( at->base ) {
     648                        PRINT( std::cerr << "Creating array iterator: " << at << std::endl; )
     649                        memberIter.reset( createMemberIterator( loc, base ) );
     650                        if ( at->isVarLen ) {
     651                                SemanticError( location, at, "VLA initialization does not support @=: " );
     652                        }
     653                        setSize( at->dimension );
     654                }
     655
     656                void setPosition( const Expr * expr ) {
     657                        // need to permit integer-constant-expressions, including: integer constants,
     658                        // enumeration constants, character constants, sizeof expressions, alignof expressions,
     659                        // cast expressions
     660                        if ( auto constExpr = dynamic_cast< const ConstantExpr * >( expr ) ) {
     661                                try {
     662                                        index = constExpr->intValue();
     663                                } catch ( SemanticErrorException & ) {
     664                                        SemanticError( expr,
     665                                                "Constant expression of non-integral type in array designator: " );
     666                                }
     667                        } else if ( auto castExpr = dynamic_cast< const CastExpr * >( expr ) ) {
     668                                setPosition( castExpr->arg );
     669                        } else if (
     670                                dynamic_cast< const SizeofExpr * >( expr )
     671                                || dynamic_cast< const AlignofExpr * >( expr )
     672                        ) {
     673                                index = 0;
     674                        } else {
     675                                assertf( false,
     676                                        "bad designator given to ArrayIterator: %s", toString( expr ).c_str() );
     677                        }
     678                }
     679
     680                void setPosition(
     681                        std::deque< ptr< Expr > >::const_iterator begin,
     682                        std::deque< ptr< Expr > >::const_iterator end
     683                ) override {
     684                        if ( begin == end ) return;
     685
     686                        setPosition( *begin );
     687                        memberIter->setPosition( ++begin, end );
     688                }
     689
     690                std::deque< InitAlternative > operator* () const override { return first(); }
     691
     692                operator bool() const override { return index < size; }
     693
     694                ArrayIterator & bigStep() override {
     695                        PRINT( std::cerr << "bigStep in ArrayIterator (" << index << "/" << size << ")" << std::endl; )
     696                        ++index;
     697                        memberIter.reset( index < size ? createMemberIterator( location, base ) : nullptr );
     698                        return *this;
     699                }
     700
     701                ArrayIterator & smallStep() override {
     702                        PRINT( std::cerr << "smallStep in ArrayIterator (" << index << "/" << size << ")" << std::endl; )
     703                        if ( memberIter ) {
     704                                PRINT( std::cerr << "has member iter: " << *memberIter << std::endl; )
     705                                memberIter->smallStep();
     706                                if ( *memberIter ) {
     707                                        PRINT( std::cerr << "has valid member iter" << std::endl; )
     708                                        return *this;
     709                                }
     710                        }
     711                        return bigStep();
     712                }
     713
     714                const Type * getType() override { return array; }
     715
     716                const Type * getNext() override { return base; }
     717
     718                std::deque< InitAlternative > first() const override {
     719                        PRINT( std::cerr << "first in ArrayIterator (" << index << "/" << size << ")" << std::endl; )
     720                        if ( memberIter && *memberIter ) {
     721                                std::deque< InitAlternative > ret = memberIter->first();
     722                                for ( InitAlternative & alt : ret ) {
     723                                        alt.designation.get_and_mutate()->designators.emplace_front(
     724                                                ConstantExpr::from_ulong( location, index ) );
     725                                }
     726                                return ret;
     727                        }
     728                        return {};
     729                }
     730        };
     731
     732        class AggregateIterator : public MemberIterator {
     733        protected:
     734                using MemberList = std::vector< ptr< Decl > >;
     735
     736                CodeLocation location;
     737                std::string kind;  // for debug
     738                std::string name;
     739                const Type * inst;
     740                const MemberList & members;
     741                MemberList::const_iterator curMember;
     742                bool atbegin = true;  // false at first {small,big}Step
     743                const Type * curType = nullptr;
     744                std::unique_ptr< MemberIterator > memberIter = nullptr;
     745                TypeSubstitution sub;
     746
     747                bool init() {
     748                        PRINT( std::cerr << "--init()--" << members.size() << std::endl; )
     749                        if ( curMember != members.end() ) {
     750                                if ( auto field = curMember->as< ObjectDecl >() ) {
     751                                        PRINT( std::cerr << "incremented to field: " << field << std::endl; )
     752                                        curType = field->get_type();
     753                                        memberIter.reset( createMemberIterator( location, curType ) );
     754                                        return true;
     755                                }
     756                        }
     757                        return false;
     758                }
     759
     760                AggregateIterator(
     761                        const CodeLocation & loc, const std::string k, const std::string & n, const Type * i,
     762                        const MemberList & ms )
     763                : location( loc ), kind( k ), name( n ), inst( i ), members( ms ), curMember( ms.begin() ),
     764                  sub( genericSubstitution( i ) ) {
     765                        PRINT( std::cerr << "Creating " << kind << "(" << name << ")"; )
     766                        init();
     767                }
     768
     769        public:
     770                void setPosition(
     771                        std::deque< ptr< Expr > >::const_iterator begin,
     772                        std::deque< ptr< Expr > >::const_iterator end
     773                ) final {
     774                        if ( begin == end ) return;
     775
     776                        if ( auto varExpr = begin->as< VariableExpr >() ) {
     777                                for ( curMember = members.begin(); curMember != members.end(); ++curMember ) {
     778                                        if ( *curMember != varExpr->var ) continue;
     779
     780                                        ++begin;
     781
     782                                        memberIter.reset( createMemberIterator( location, varExpr->result ) );
     783                                        curType = varExpr->result;
     784                                        atbegin = curMember == members.begin() && begin == end;
     785                                        memberIter->setPosition( begin, end );
     786                                        return;
     787                                }
     788                                assertf( false,
     789                                        "could not find member in %s: %s", kind.c_str(), toString( varExpr ).c_str() );
     790                        } else {
     791                                assertf( false,
     792                                        "bad designator given to %s: %s", kind.c_str(), toString( *begin ).c_str() );
     793                        }
     794                }
     795
     796                std::deque< InitAlternative > operator* () const final {
     797                        if ( memberIter && *memberIter ) {
     798                                std::deque< InitAlternative > ret = memberIter->first();
     799                                PRINT( std::cerr << "sub: " << sub << std::endl; )
     800                                for ( InitAlternative & alt : ret ) {
     801                                        PRINT( std::cerr << "iterating and adding designators" << std::endl; )
     802                                        alt.designation.get_and_mutate()->designators.emplace_front(
     803                                                new VariableExpr{ location, curMember->strict_as< ObjectDecl >() } );
     804                                        // need to substitute for generic types so that casts are to concrete types
     805                                        PRINT( std::cerr << "  type is: " << alt.type; )
     806                                        sub.apply( alt.type ); // also apply to designation??
     807                                        PRINT( std::cerr << " ==> " << alt.type << std::endl; )
     808                                }
     809                                return ret;
     810                        }
     811                        return {};
     812                }
     813
     814                AggregateIterator & smallStep() final {
     815                        PRINT( std::cerr << "smallStep in " << kind << std::endl; )
     816                        atbegin = false;
     817                        if ( memberIter ) {
     818                                PRINT( std::cerr << "has member iter, incrementing..." << std::endl; )
     819                                memberIter->smallStep();
     820                                if ( *memberIter ) {
     821                                        PRINT( std::cerr << "success!" << std::endl; )
     822                                        return *this;
     823                                }
     824                        }
     825                        return bigStep();
     826                }
     827
     828                AggregateIterator & bigStep() override = 0;
     829
     830                const Type * getType() final { return inst; }
     831
     832                const Type * getNext() final {
     833                        return ( memberIter && *memberIter ) ? memberIter->getType() : nullptr;
     834                }
     835
     836                std::deque< InitAlternative > first() const final {
     837                        std::deque< InitAlternative > ret;
     838                        PRINT( std::cerr << "first " << kind << std::endl; )
     839                        if ( memberIter && *memberIter ) {
     840                                PRINT( std::cerr << "adding children" << std::endl; )
     841                                ret = memberIter->first();
     842                                for ( InitAlternative & alt : ret ) {
     843                                        PRINT( std::cerr << "iterating and adding designators" << std::endl; )
     844                                        alt.designation.get_and_mutate()->designators.emplace_front(
     845                                                new VariableExpr{ location, curMember->strict_as< ObjectDecl >() } );
     846                                }
     847                        }
     848                        if ( atbegin ) {
     849                                // only add self if at the very beginning of the structure
     850                                PRINT( std::cerr << "adding self" << std::endl; )
     851                                ret.emplace_front( inst, new Designation{ location } );
     852                        }
     853                        return ret;
     854                }
     855        };
     856
     857        class StructIterator final : public AggregateIterator {
     858        public:
     859                StructIterator( const CodeLocation & loc, const StructInstType * inst )
     860                : AggregateIterator( loc, "StructIterator", inst->name, inst, inst->base->members ) {}
     861
     862                operator bool() const override {
     863                        return curMember != members.end() || (memberIter && *memberIter);
     864                }
     865
     866                StructIterator & bigStep() override {
     867                        PRINT( std::cerr << "bigStep in " << kind << std::endl; )
     868                        atbegin = false;
     869                        memberIter = nullptr;
     870                        curType = nullptr;
     871                        while ( curMember != members.end() ) {
     872                                ++curMember;
     873                                if ( init() ) return *this;
     874                        }
     875                        return *this;
     876                }
     877        };
     878
     879        class UnionIterator final : public AggregateIterator {
     880        public:
     881                UnionIterator( const CodeLocation & loc, const UnionInstType * inst )
     882                : AggregateIterator( loc, "UnionIterator", inst->name, inst, inst->base->members ) {}
     883
     884                operator bool() const override { return memberIter && *memberIter; }
     885
     886                UnionIterator & bigStep() override {
     887                        // unions only initialize one member
     888                        PRINT( std::cerr << "bigStep in " << kind << std::endl; )
     889                        atbegin = false;
     890                        memberIter = nullptr;
     891                        curType = nullptr;
     892                        curMember = members.end();
     893                        return *this;
     894                }
     895        };
     896
     897        class TupleIterator final : public AggregateIterator {
     898        public:
     899                TupleIterator( const CodeLocation & loc, const TupleType * inst )
     900                : AggregateIterator(
     901                        loc, "TupleIterator", toString("Tuple", inst->size()), inst, inst->members
     902                ) {}
     903
     904                operator bool() const override {
     905                        return curMember != members.end() || (memberIter && *memberIter);
     906                }
     907
     908                TupleIterator & bigStep() override {
     909                        PRINT( std::cerr << "bigStep in " << kind << std::endl; )
     910                        atbegin = false;
     911                        memberIter = nullptr;
     912                        curType = nullptr;
     913                        while ( curMember != members.end() ) {
     914                                ++curMember;
     915                                if ( init() ) return *this;
     916                        }
     917                        return *this;
     918                }
     919        };
     920
     921        MemberIterator * createMemberIterator( const CodeLocation & loc, const Type * type ) {
     922                if ( auto aggr = dynamic_cast< const ReferenceToType * >( type ) ) {
     923                        if ( auto sit = dynamic_cast< const StructInstType * >( aggr ) ) {
     924                                return new StructIterator{ loc, sit };
     925                        } else if ( auto uit = dynamic_cast< const UnionInstType * >( aggr ) ) {
     926                                return new UnionIterator{ loc, uit };
     927                        } else {
     928                                assertf(
     929                                        dynamic_cast< const EnumInstType * >( aggr )
     930                                                || dynamic_cast< const TypeInstType * >( aggr ),
     931                                        "Encountered unhandled ReferenceToType in createMemberIterator: %s",
     932                                                toString( type ).c_str() );
     933                                return new SimpleIterator{ loc, type };
     934                        }
     935                } else if ( auto at = dynamic_cast< const ArrayType * >( type ) ) {
     936                        return new ArrayIterator{ loc, at };
     937                } else if ( auto tt = dynamic_cast< const TupleType * >( type ) ) {
     938                        return new TupleIterator{ loc, tt };
     939                } else {
     940                        return new SimpleIterator{ loc, type };
     941                }
     942        }
     943
    617944        CurrentObject::CurrentObject( const CodeLocation & loc, const Type * type ) : objStack() {
    618945                objStack.emplace_back( new SimpleIterator{ loc, type } );
    619946        }
    620947
    621         std::vector< InitAlternative > CurrentObject::getOptions() {
     948        void CurrentObject::setNext( const ast::Designation * designation ) {
     949                PRINT( std::cerr << "____setNext" << designation << std::endl; )
     950                assertf( ! objStack.empty(), "obj stack empty in setNext" );
     951                objStack.back()->setPosition( designation->designators );
     952        }
     953
     954        void CurrentObject::increment() {
     955                PRINT( std::cerr << "____increment" << std::endl; )
     956                if ( objStack.empty() ) return;
     957                PRINT( std::cerr << *objStack.back() << std::endl; )
     958                objStack.back()->smallStep();
     959        }
     960
     961        void CurrentObject::enterListInit( const CodeLocation & loc ) {
     962                PRINT( std::cerr << "____entering list init" << std::endl; )
     963                assertf( ! objStack.empty(), "empty obj stack entering list init" );
     964                const ast::Type * type = objStack.back()->getNext();
     965                assert( type );
     966                objStack.emplace_back( createMemberIterator( loc, type ) );
     967        }
     968
     969        void CurrentObject::exitListInit() {
     970                PRINT( std::cerr << "____exiting list init" << std::endl; )
     971                assertf( ! objStack.empty(), "objstack empty" );
     972                objStack.pop_back();
     973                if ( ! objStack.empty() ) {
     974                        PRINT( std::cerr << *objStack.back() << std::endl; )
     975                        objStack.back()->bigStep();
     976                }
     977        }
     978
     979        std::deque< InitAlternative > CurrentObject::getOptions() {
    622980                PRINT( std::cerr << "____getting current options" << std::endl; )
    623981                assertf( ! objStack.empty(), "objstack empty in getOptions" );
    624982                return **objStack.back();
     983        }
     984
     985        const Type * CurrentObject::getCurrentType() {
     986                PRINT( std::cerr << "____getting current type" << std::endl; )
     987                assertf( ! objStack.empty(), "objstack empty in getCurrentType" );
     988                return objStack.back()->getNext();
    625989        }
    626990}
  • src/ResolvExpr/CurrentObject.h

    r866545b r46438e4  
    1616#pragma once
    1717
     18#include <deque>
    1819#include <list>   // for list
    1920#include <memory> // for unique_ptr
     
    2122#include <vector>
    2223
     24#include "AST/Node.hpp"  // for ptr
    2325#include "Common/CodeLocation.h"
    2426
     
    5961        // AST class types
    6062        class Designation;
    61         class InitAlternative;
     63        struct InitAlternative;
    6264        class Type;
    6365
    64         // forward declaration of internal detail
    65         class MemberIterator;
     66        /// Iterates members of a type by initializer
     67        class MemberIterator {
     68        public:
     69                virtual ~MemberIterator() {}
     70
     71                /// Internal set position based on iterator ranges
     72                virtual void setPosition(
     73                        std::deque< ptr< Expr > >::const_iterator it,
     74                        std::deque< ptr< Expr > >::const_iterator end ) = 0;
     75
     76                /// walks the current object using the given designators as a guide
     77                void setPosition( const std::deque< ptr< Expr > > & designators ) {
     78                        setPosition( designators.begin(), designators.end() );
     79                }
     80
     81                /// retrieve the list of possible (Type,Designation) pairs for the current position in the
     82                /// current object
     83                virtual std::deque< InitAlternative > operator* () const = 0;
     84
     85                /// true if the iterator is not currently at the end
     86                virtual operator bool() const = 0;
     87
     88                /// moves the iterator by one member in the current object
     89                virtual MemberIterator & bigStep() = 0;
     90
     91                /// moves the iterator by one member in the current subobject
     92                virtual MemberIterator & smallStep() = 0;
     93
     94                /// the type of the current object
     95                virtual const Type * getType() = 0;
     96
     97                /// the type of the current subobject
     98                virtual const Type * getNext() = 0;
     99       
     100                /// helper for operator*; aggregates must add designator to each init alternative, but
     101                /// adding designators in operator* creates duplicates
     102                virtual std::deque< InitAlternative > first() const = 0;
     103        };
    66104
    67105        /// Builds initializer lists in resolution
     
    73111                CurrentObject( const CodeLocation & loc, const Type * type );
    74112
     113                /// sets current position using the resolved designation
     114                void setNext( const ast::Designation * designation );
     115                /// steps to next sub-object of current object
     116                void increment();
     117                /// sets new current object for the duration of this brace-enclosed intializer-list
     118                void enterListInit( const CodeLocation & loc );
     119                /// restores previous current object
     120                void exitListInit();
    75121                /// produces a list of alternatives (Type *, Designation *) for the current sub-object's
    76122                /// initializer.
    77                 std::vector< InitAlternative > getOptions();
     123                std::deque< InitAlternative > getOptions();
     124                /// produces the type of the current object but no subobjects
     125                const Type * getCurrentType();
    78126        };
    79127} // namespace ast
  • src/ResolvExpr/Resolver.cc

    r866545b r46438e4  
    781781        }
    782782
    783         template< typename T >
    784         bool isCharType( T t ) {
     783        bool isCharType( Type * t ) {
    785784                if ( BasicType * bt = dynamic_cast< BasicType * >( t ) ) {
    786785                        return bt->get_kind() == BasicType::Char || bt->get_kind() == BasicType::SignedChar ||
     
    10711070                };
    10721071
     1072                /// Swaps argument into expression pointer, saving original environment
     1073                void swap_and_save_env( ast::ptr< ast::Expr > & expr, const ast::Expr * newExpr ) {
     1074                        ast::ptr< ast::TypeSubstitution > env = expr->env;
     1075                        expr.set_and_mutate( newExpr )->env = env;
     1076                }
     1077
    10731078                /// Removes cast to type of argument (unlike StripCasts, also handles non-generated casts)
    10741079                void removeExtraneousCast( ast::ptr<ast::Expr> & expr, const ast::SymbolTable & symtab ) {
     
    10761081                                if ( typesCompatible( castExpr->arg->result, castExpr->result, symtab ) ) {
    10771082                                        // 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;
     1083                                        swap_and_save_env( expr, castExpr->arg );
    10801084                                }
    10811085                        }
     
    11751179                        return findKindExpression( untyped, symtab, hasIntegralType, "condition" );
    11761180                }
     1181
     1182                /// check if a type is a character type
     1183                bool isCharType( const ast::Type * t ) {
     1184                        if ( auto bt = dynamic_cast< const ast::BasicType * >( t ) ) {
     1185                                return bt->kind == ast::BasicType::Char
     1186                                        || bt->kind == ast::BasicType::SignedChar
     1187                                        || bt->kind == ast::BasicType::UnsignedChar;
     1188                        }
     1189                        return false;
     1190                }
    11771191        }
    11781192
     
    12131227                void previsit( const ast::WaitForStmt * );
    12141228
    1215                 void previsit( const ast::SingleInit * );
    1216                 void previsit( const ast::ListInit * );
     1229                const ast::SingleInit * previsit( const ast::SingleInit * );
     1230                const ast::ListInit * previsit( const ast::ListInit * );
    12171231                void previsit( const ast::ConstructorInit * );
    12181232        };
     
    13631377        const ast::CaseStmt * Resolver_new::previsit( const ast::CaseStmt * caseStmt ) {
    13641378                if ( caseStmt->cond ) {
    1365                         std::vector< ast::InitAlternative > initAlts = currentObject.getOptions();
     1379                        std::deque< ast::InitAlternative > initAlts = currentObject.getOptions();
    13661380                        assertf( initAlts.size() == 1, "SwitchStmt did not correctly resolve an integral "
    13671381                                "expression." );
     
    13741388                        // whether it would perform a conversion.
    13751389                        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;
     1390                                swap_and_save_env( newExpr, castExpr->arg );
    13781391                        }
    13791392                       
     
    14381451        }
    14391452
    1440         void Resolver_new::previsit( const ast::SingleInit * singleInit ) {
    1441                 #warning unimplemented; Resolver port in progress
    1442                 (void)singleInit;
    1443                 assert(false);
    1444         }
    1445 
    1446         void Resolver_new::previsit( const ast::ListInit * listInit ) {
    1447                 #warning unimplemented; Resolver port in progress
    1448                 (void)listInit;
    1449                 assert(false);
     1453
     1454
     1455        const ast::SingleInit * Resolver_new::previsit( const ast::SingleInit * singleInit ) {
     1456                visit_children = false;
     1457                // resolve initialization using the possibilities as determined by the `currentObject`
     1458                // cursor.
     1459                ast::Expr * untyped = new ast::UntypedInitExpr{
     1460                        singleInit->location, singleInit->value, currentObject.getOptions() };
     1461                ast::ptr<ast::Expr> newExpr = findKindExpression( untyped, symtab );
     1462                const ast::InitExpr * initExpr = newExpr.strict_as< ast::InitExpr >();
     1463
     1464                // move cursor to the object that is actually initialized
     1465                currentObject.setNext( initExpr->designation );
     1466
     1467                // discard InitExpr wrapper and retain relevant pieces.
     1468                // `initExpr` may have inferred params in the case where the expression specialized a
     1469                // function pointer, and newExpr may already have inferParams of its own, so a simple
     1470                // swap is not sufficient
     1471                ast::Expr::InferUnion inferred = initExpr->inferred;
     1472                swap_and_save_env( newExpr, initExpr->expr );
     1473                newExpr.get_and_mutate()->inferred.splice( std::move(inferred) );
     1474
     1475                // get the actual object's type (may not exactly match what comes back from the resolver
     1476                // due to conversions)
     1477                const ast::Type * initContext = currentObject.getCurrentType();
     1478
     1479                removeExtraneousCast( newExpr, symtab );
     1480
     1481                // check if actual object's type is char[]
     1482                if ( auto at = dynamic_cast< const ast::ArrayType * >( initContext ) ) {
     1483                        if ( isCharType( at->base ) ) {
     1484                                // check if the resolved type is char*
     1485                                if ( auto pt = newExpr->result.as< ast::PointerType >() ) {
     1486                                        if ( isCharType( pt->base ) ) {
     1487                                                // strip cast if we're initializing a char[] with a char*
     1488                                                // e.g. char x[] = "hello"
     1489                                                if ( auto ce = newExpr.as< ast::CastExpr >() ) {
     1490                                                        swap_and_save_env( newExpr, ce->arg );
     1491                                                }
     1492                                        }
     1493                                }
     1494                        }
     1495                }
     1496
     1497                // move cursor to next object in preparation for next initializer
     1498                currentObject.increment();
     1499
     1500                // set initializer expression to resolved expression
     1501                return ast::mutate_field( singleInit, &ast::SingleInit::value, std::move(newExpr) );
     1502        }
     1503
     1504        const ast::ListInit * Resolver_new::previsit( const ast::ListInit * listInit ) {
     1505                // move cursor into brace-enclosed initializer-list
     1506                currentObject.enterListInit( listInit->location );
     1507
     1508                assert( listInit->designations.size() == listInit->initializers.size() );
     1509                for ( unsigned i = 0; i < listInit->designations.size(); ++i ) {
     1510                        // iterate designations and initializers in pairs, moving the cursor to the current
     1511                        // designated object and resolving the initializer against that object
     1512                        #warning unimplemented; Resolver port in progress
     1513                        assert(false);
     1514                }
     1515
     1516                visit_children = false;
     1517                return listInit;
    14501518        }
    14511519
  • tests/.expect/KRfunctions.x64.txt

    r866545b r46438e4  
    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

    r866545b r46438e4  
    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 
     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) /* ?{} */);
    777711        }
     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/declarationSpecifier.x64.txt

    r866545b r46438e4  
    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

    r866545b r46438e4  
    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 
    411             {
    412               ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */);
    413             }
    414 
    415           }
    416           inline void _X12_constructorFv_S1SiiiPiPiPi_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, signed int *_X1zPi_2){
    417             {
    418               ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */);
    419             }
    420 
    421             {
    422               ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */);
    423             }
    424 
    425             {
    426               ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */);
    427             }
    428 
    429             {
    430               ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */);
    431             }
    432 
    433             {
    434               ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */);
    435             }
    436 
    437             {
    438               ((void)((*_X4_dstS1S_2)._X1zPi_2=_X1zPi_2) /* ?{} */);
    439             }
    440 
    441           }
    442           signed int _X1ii_2 = (__extension__ _X1ai_1+__extension__ 3);
    443           {
    444             ((void)__extension__ 3);
    445           }
    446 
    447           {
    448             ((void)__extension__ _X1ai_1);
    449           }
    450 
    451           __extension__ signed int _X1ai_2;
    452           __extension__ signed int _X1bi_2;
    453           __extension__ signed int _X1ci_2;
    454           {
    455             ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2)));
    456           }
    457 
    458           {
    459             signed int _tmp_cp_ret4;
    460             ((void)(((void)(_tmp_cp_ret4=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret4));
    461           }
    462 
    463           __extension__ signed int _X4maryFi_i__2(signed int _X1pi_2){
    464             __attribute__ ((unused)) signed int _X12_retval_maryi_2;
    465           }
    466           {
    467             ((void)__extension__ sizeof(3));
    468           }
    469 
    470           {
    471             ((void)__extension__ ((3!=((signed int )0)) || (4!=((signed int )0))));
    472           }
    473 
    474           {
    475             ((void)__extension__ __alignof__(__extension__ _X1ai_2));
    476           }
    477 
    478           {
    479             ((void)((__extension__ _X1ai_2!=((signed int )0)) || (((__extension__ _X1bi_2!=((signed int )0)) && (__extension__ _X1ci_2!=((signed int )0)))!=((signed int )0))));
    480           }
    481 
    482           {
    483             ((void)(((__extension__ _X1ai_2>__extension__ _X1bi_2)!=((signed int )0)) ? __extension__ _X1ci_2 : __extension__ _X1ci_2));
    484           }
    485 
    486           {
    487             ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2)));
    488           }
    489 
    490           {
    491             ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2));
    492           }
    493 
    494         }
     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        }