Changes in / [2514607d:cbdf565]


Ignore:
Location:
src
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • src/Common/SemanticError.h

    r2514607d rcbdf565  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul 19 10:09:17 2018
    13 // Update Count     : 31
     12// Last Modified On : Wed May 16 15:01:23 2018
     13// Update Count     : 30
    1414//
    1515
     
    5757        {"qualifiers-zero_t-one_t", "questionable use of type qualifier %s with %s", Severity::Warn},
    5858        {"aggregate-forward-decl" , "forward declaration of nested aggregate: %s"  , Severity::Warn},
    59         {"superfluous-decl"       , "declaration does not allocate storage: %s"    , Severity::Warn},
    6059};
    6160
     
    6564        BadQualifiersZeroOne,
    6665        AggrForwardDecl,
    67         SuperfluousDecl,
    68         NUMBER_OF_WARNINGS, // This MUST be the last warning
     66        NUMBER_OF_WARNINGS, //This MUST be the last warning
    6967};
    7068
  • src/Parser/DeclarationNode.cc

    r2514607d rcbdf565  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 20 14:56:54 2018
    13 // Update Count     : 1107
     12// Last Modified On : Fri Jul  6 06:56:08 2018
     13// Update Count     : 1088
    1414//
    1515
     
    5454
    5555DeclarationNode::DeclarationNode() :
    56         linkage( ::linkage ) {
     56                builtin( NoBuiltinType ),
     57                type( nullptr ),
     58                bitfieldWidth( nullptr ),
     59                hasEllipsis( false ),
     60                linkage( ::linkage ),
     61                asmName( nullptr ),
     62                initializer( nullptr ),
     63                extension( false ),
     64                asmStmt( nullptr ) {
    5765
    5866//      variable.name = nullptr;
     
    96104        newnode->builtin = NoBuiltinType;
    97105        newnode->type = maybeClone( type );
    98         newnode->inLine = inLine;
    99106        newnode->storageClasses = storageClasses;
    100107        newnode->funcSpecs = funcSpecs;
     
    124131} // DeclarationNode::clone
    125132
    126 void DeclarationNode::print( std::ostream & os, int indent ) const {
     133void DeclarationNode::print( std::ostream &os, int indent ) const {
    127134        os << string( indent, ' ' );
    128135        if ( name ) {
     
    160167}
    161168
    162 void DeclarationNode::printList( std::ostream & os, int indent ) const {
     169void DeclarationNode::printList( std::ostream &os, int indent ) const {
    163170        ParseNode::printList( os, indent );
    164171        if ( hasEllipsis ) {
     
    514521} // DeclarationNode::copySpecifiers
    515522
    516 static void addQualifiersToType( TypeData *& src, TypeData * dst ) {
     523static void addQualifiersToType( TypeData *&src, TypeData * dst ) {
    517524        if ( dst->base ) {
    518525                addQualifiersToType( src, dst->base );
     
    567574} // addQualifiers
    568575
    569 static void addTypeToType( TypeData *& src, TypeData *& dst ) {
     576static void addTypeToType( TypeData *&src, TypeData *&dst ) {
    570577        if ( src->forall && dst->kind == TypeData::Function ) {
    571578                if ( dst->forall ) {
     
    958965}
    959966
    960 void buildList( const DeclarationNode * firstNode, std::list< Declaration * > & outputList ) {
     967void buildList( const DeclarationNode * firstNode, std::list< Declaration * > &outputList ) {
    961968        SemanticErrorException errors;
    962969        std::back_insert_iterator< std::list< Declaration * > > out( outputList );
     
    9951002                                //   struct T;            // anonymous member
    9961003                                // };
    997                                 if ( ! (extracted && decl->name == "" && ! anon && ! cur->get_inLine()) ) {
    998                                         if ( decl->name == "" ) {
     1004                                if ( ! (extracted && decl->name == "" && ! anon) ) {
     1005                                        if (decl->name == "") {
    9991006                                                if ( DeclarationWithType * dwt = dynamic_cast<DeclarationWithType *>( decl ) ) {
    10001007                                                        if ( ReferenceToType * aggr = dynamic_cast<ReferenceToType *>( dwt->get_type() ) ) {
    10011008                                                                if ( aggr->name.find("anonymous") == std::string::npos ) {
    1002                                                                         if ( ! cur->get_inLine() ) {
    1003                                                                                 // temporary: warn about anonymous member declarations of named types, since
    1004                                                                                 // this conflicts with the syntax for the forward declaration of an anonymous type
     1009                                                                        bool isInline = false;
     1010                                                                        if (cur->type->kind == TypeData::Aggregate || cur->type->kind == TypeData::AggregateInst) {
     1011                                                                                if (cur->type->kind == TypeData::Aggregate) {
     1012                                                                                        isInline = cur->type->aggregate.inLine;
     1013                                                                                } else {
     1014                                                                                        isInline = cur->type->aggInst.inLine;
     1015                                                                                        if ( TypeData * aggr = cur->type->aggInst.aggregate ) {
     1016                                                                                                if ( aggr->kind == TypeData::Aggregate ) {
     1017                                                                                                        isInline = isInline || aggr->aggregate.inLine;
     1018                                                                                                }
     1019                                                                                        }
     1020                                                                                }
     1021                                                                        }
     1022                                                                        if (! isInline) {
     1023                                                                                // temporary: warn about anonymous member declarations of named types, since this conflicts with the syntax for the forward declaration of an anonymous type
    10051024                                                                                SemanticWarning( cur->location, Warning::AggrForwardDecl, aggr->name.c_str() );
    1006                                                                         } // if
    1007                                                                 } // if
    1008                                                         } // if
    1009                                                 } // if
    1010                                         } // if
     1025                                                                        }
     1026                                                                }
     1027                                                        }
     1028                                                }
     1029                                        }
    10111030                                        decl->location = cur->location;
    1012                                         *out++ = decl;
    1013                                 } // if
     1031                                        * out++ = decl;
     1032                                }
    10141033                        } // if
    1015                 } catch( SemanticErrorException & e ) {
     1034                } catch( SemanticErrorException &e ) {
    10161035                        errors.append( e );
    10171036                } // try
    1018         } // for
     1037        } // while
    10191038
    10201039        if ( ! errors.isEmpty() ) {
     
    10241043
    10251044// currently only builds assertions, function parameters, and return values
    1026 void buildList( const DeclarationNode * firstNode, std::list< DeclarationWithType * > & outputList ) {
     1045void buildList( const DeclarationNode * firstNode, std::list< DeclarationWithType * > &outputList ) {
    10271046        SemanticErrorException errors;
    10281047        std::back_insert_iterator< std::list< DeclarationWithType * > > out( outputList );
     
    10551074                                * out++ = obj;
    10561075                        } // if
    1057                 } catch( SemanticErrorException & e ) {
     1076                } catch( SemanticErrorException &e ) {
    10581077                        errors.append( e );
    10591078                } // try
     
    10651084} // buildList
    10661085
    1067 void buildTypeList( const DeclarationNode * firstNode, std::list< Type * > & outputList ) {
     1086void buildTypeList( const DeclarationNode * firstNode, std::list< Type * > &outputList ) {
    10681087        SemanticErrorException errors;
    10691088        std::back_insert_iterator< std::list< Type * > > out( outputList );
     
    10731092                try {
    10741093                        * out++ = cur->buildType();
    1075                 } catch( SemanticErrorException & e ) {
     1094                } catch( SemanticErrorException &e ) {
    10761095                        errors.append( e );
    10771096                } // try
  • src/Parser/ParseNode.h

    r2514607d rcbdf565  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 20 14:56:30 2018
    13 // Update Count     : 850
     12// Last Modified On : Wed Jun  6 16:17:18 2018
     13// Update Count     : 843
    1414//
    1515
     
    6868        }
    6969
    70         virtual void print( __attribute__((unused)) std::ostream & os, __attribute__((unused)) int indent = 0 ) const {}
    71         virtual void printList( std::ostream & os, int indent = 0 ) const {
     70        virtual void print( __attribute__((unused)) std::ostream &os, __attribute__((unused)) int indent = 0 ) const {}
     71        virtual void printList( std::ostream &os, int indent = 0 ) const {
    7272                print( os, indent );
    7373                if ( next ) next->print( os, indent );
     
    103103        InitializerNode * next_init() const { return kids; }
    104104
    105         void print( std::ostream & os, int indent = 0 ) const;
     105        void print( std::ostream &os, int indent = 0 ) const;
    106106        void printOneLine( std::ostream & ) const;
    107107
     
    127127        ExpressionNode * set_extension( bool exten ) { extension = exten; return this; }
    128128
    129         virtual void print( std::ostream & os, __attribute__((unused)) int indent = 0 ) const override {
    130                 os << expr.get();
    131         }
    132         void printOneLine( __attribute__((unused)) std::ostream & os, __attribute__((unused)) int indent = 0 ) const {}
     129        virtual void print( std::ostream &os, __attribute__((unused)) int indent = 0 ) const override {
     130                os << expr.get() << std::endl;
     131        }
     132        void printOneLine( __attribute__((unused)) std::ostream &os, __attribute__((unused)) int indent = 0 ) const {}
    133133
    134134        template<typename T>
     
    290290        }
    291291
    292         virtual void print( __attribute__((unused)) std::ostream & os, __attribute__((unused)) int indent = 0 ) const override;
    293         virtual void printList( __attribute__((unused)) std::ostream & os, __attribute__((unused)) int indent = 0 ) const override;
     292        virtual void print( __attribute__((unused)) std::ostream &os, __attribute__((unused)) int indent = 0 ) const override;
     293        virtual void printList( __attribute__((unused)) std::ostream &os, __attribute__((unused)) int indent = 0 ) const override;
    294294
    295295        Declaration * build() const;
     
    303303        bool get_extension() const { return extension; }
    304304        DeclarationNode * set_extension( bool exten ) { extension = exten; return this; }
    305 
    306         bool get_inLine() const { return inLine; }
    307         DeclarationNode * set_inLine( bool inL ) { inLine = inL; return this; }
    308305  public:
    309306        DeclarationNode * get_last() { return (DeclarationNode *)ParseNode::get_last(); }
     
    330327        StaticAssert_t assert;
    331328
    332         BuiltinType builtin = NoBuiltinType;
    333 
    334         TypeData * type = nullptr;
    335 
    336         bool inLine = false;
     329        BuiltinType builtin;
     330
     331        TypeData * type;
     332
    337333        Type::FuncSpecifiers funcSpecs;
    338334        Type::StorageClasses storageClasses;
    339335
    340         ExpressionNode * bitfieldWidth = nullptr;
     336        ExpressionNode * bitfieldWidth;
    341337        std::unique_ptr<ExpressionNode> enumeratorValue;
    342         bool hasEllipsis = false;
     338        bool hasEllipsis;
    343339        LinkageSpec::Spec linkage;
    344         Expression * asmName = nullptr;
     340        Expression * asmName;
    345341        std::list< Attribute * > attributes;
    346         InitializerNode * initializer = nullptr;
     342        InitializerNode * initializer;
    347343        bool extension = false;
    348344        std::string error;
    349         StatementNode * asmStmt = nullptr;
     345        StatementNode * asmStmt;
    350346
    351347        static UniqueName anonymous;
     
    381377        virtual StatementNode * append_last_case( StatementNode * );
    382378
    383         virtual void print( std::ostream & os, __attribute__((unused)) int indent = 0 ) const override {
     379        virtual void print( std::ostream &os, __attribute__((unused)) int indent = 0 ) const override {
    384380                os << stmt.get() << std::endl;
    385381        }
     
    439435
    440436template< typename SynTreeType, typename NodeType, template< typename, typename...> class Container, typename... Args >
    441 void buildList( const NodeType * firstNode, Container< SynTreeType *, Args... > & outputList ) {
     437void buildList( const NodeType * firstNode, Container< SynTreeType *, Args... > &outputList ) {
    442438        SemanticErrorException errors;
    443439        std::back_insert_iterator< Container< SynTreeType *, Args... > > out( outputList );
     
    453449                                assertf(false, "buildList unknown type");
    454450                        } // if
    455                 } catch( SemanticErrorException & e ) {
     451                } catch( SemanticErrorException &e ) {
    456452                        errors.append( e );
    457453                } // try
     
    464460
    465461// in DeclarationNode.cc
    466 void buildList( const DeclarationNode * firstNode, std::list< Declaration * > & outputList );
    467 void buildList( const DeclarationNode * firstNode, std::list< DeclarationWithType * > & outputList );
    468 void buildTypeList( const DeclarationNode * firstNode, std::list< Type * > & outputList );
     462void buildList( const DeclarationNode * firstNode, std::list< Declaration * > &outputList );
     463void buildList( const DeclarationNode * firstNode, std::list< DeclarationWithType * > &outputList );
     464void buildTypeList( const DeclarationNode * firstNode, std::list< Type * > &outputList );
    469465
    470466template< typename SynTreeType, typename NodeType >
    471 void buildMoveList( const NodeType * firstNode, std::list< SynTreeType * > & outputList ) {
     467void buildMoveList( const NodeType * firstNode, std::list< SynTreeType * > &outputList ) {
    472468        buildList( firstNode, outputList );
    473469        delete firstNode;
  • src/Parser/TypeData.cc

    r2514607d rcbdf565  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 20 14:39:31 2018
    13 // Update Count     : 622
     12// Last Modified On : Thu Jul 12 13:52:09 2018
     13// Update Count     : 606
    1414//
    1515
     
    7676                aggregate.parent = nullptr;
    7777                aggregate.anon = false;
     78                aggregate.inLine = false;
    7879                break;
    7980          case AggregateInst:
     
    8283                aggInst.params = nullptr;
    8384                aggInst.hoistType = false;
     85                aggInst.inLine = false;
    8486                break;
    8587          case Symbolic:
     
    219221                newtype->aggregate.body = aggregate.body;
    220222                newtype->aggregate.anon = aggregate.anon;
     223                newtype->aggregate.inLine = aggregate.inLine;
    221224                newtype->aggregate.tagged = aggregate.tagged;
    222225                newtype->aggregate.parent = aggregate.parent ? new string( *aggregate.parent ) : nullptr;
     
    226229                newtype->aggInst.params = maybeClone( aggInst.params );
    227230                newtype->aggInst.hoistType = aggInst.hoistType;
     231                newtype->aggInst.inLine = aggInst.inLine;
    228232                break;
    229233          case Enum:
     
    271275
    272276        switch ( kind ) {
    273           case Basic:
    274                 if ( signedness != DeclarationNode::NoSignedness ) os << DeclarationNode::signednessNames[ signedness ] << " ";
    275                 if ( length != DeclarationNode::NoLength ) os << DeclarationNode::lengthNames[ length ] << " ";
    276                 if ( complextype == DeclarationNode::NoComplexType ) { // basic type
    277                         assert( basictype != DeclarationNode::NoBasicType );
    278                         os << DeclarationNode::basicTypeNames[ basictype ] << " ";
    279                 } else {                                                                                // complex type
    280                         // handle double _Complex
    281                         if ( basictype != DeclarationNode::NoBasicType ) os << DeclarationNode::basicTypeNames[ basictype ] << " ";
    282                         os << DeclarationNode::complexTypeNames[ complextype ] << " ";
    283                 } // if
     277          case Unknown:
     278                os << "entity of unknown type ";
    284279                break;
    285280          case Pointer:
     
    290285                } // if
    291286                break;
    292           case Reference:
    293                 os << "reference ";
    294                 if ( base ) {
    295                         os << "to ";
    296                         base->print( os, indent );
    297                 } // if
     287          case EnumConstant:
     288                os << "enumeration constant ";
     289                break;
     290          case Basic:
     291                if ( signedness != DeclarationNode::NoSignedness ) os << DeclarationNode::signednessNames[ signedness ] << " ";
     292                if ( length != DeclarationNode::NoLength ) os << DeclarationNode::lengthNames[ length ] << " ";
     293                assert( basictype != DeclarationNode::NoBasicType );
     294                os << DeclarationNode::basicTypeNames[ basictype ] << " ";
     295                if ( complextype != DeclarationNode::NoComplexType ) os << DeclarationNode::complexTypeNames[ complextype ] << " ";
    298296                break;
    299297          case Array:
     
    381379                } // if
    382380                break;
    383           case EnumConstant:
    384                 os << "enumeration constant ";
     381          case SymbolicInst:
     382                os << "instance of type " << *symbolic.name;
     383                if ( symbolic.actuals ) {
     384                        os << " with parameters" << endl;
     385                        symbolic.actuals->printList( os, indent + 2 );
     386                } // if
    385387                break;
    386388          case Symbolic:
     
    404406                } // if
    405407                break;
    406           case SymbolicInst:
    407                 os << *symbolic.name;
    408                 if ( symbolic.actuals ) {
    409                         os << "(";
    410                         symbolic.actuals->printList( os, indent + 2 );
    411                         os << ")";
    412                 } // if
    413                 break;
    414408          case Tuple:
    415409                os << "tuple ";
     
    427421          case Builtin:
    428422                os << DeclarationNode::builtinTypeNames[builtintype];
    429                 break;
    430           case GlobalScope:
    431                 break;
    432           case Qualified:
    433                 qualified.parent->print( os );
    434                 os << ".";
    435                 qualified.child->print( os );
    436                 break;
    437           case Unknown:
    438                 os << "entity of unknown type ";
    439423                break;
    440424          default:
  • src/Parser/TypeData.h

    r2514607d rcbdf565  
    1010// Created On       : Sat May 16 15:18:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 20 13:56:40 2018
    13 // Update Count     : 195
     12// Last Modified On : Thu Jul 12 14:00:09 2018
     13// Update Count     : 193
    1414//
    1515
     
    2626
    2727struct TypeData {
    28         enum Kind { Basic, Pointer, Reference, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic,
     28        enum Kind { Basic, Pointer, Array, Reference, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic,
    2929                                SymbolicInst, Tuple, Typeof, Builtin, GlobalScope, Qualified, Unknown };
    3030
     
    3737                bool body;
    3838                bool anon;
     39                bool inLine;
    3940
    4041                bool tagged;
     
    4647                ExpressionNode * params;
    4748                bool hoistType;
     49                bool inLine;
    4850        };
    4951
     
    7779        };
    7880
    79         struct Qualified_t {                                                            // qualified type S.T
     81        struct Qualified_t { // qualified type S.T
    8082                TypeData * parent;
    8183                TypeData * child;
  • src/Parser/parser.yy

    r2514607d rcbdf565  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 20 11:46:46 2018
    13 // Update Count     : 3837
     12// Last Modified On : Thu Jul 12 16:16:25 2018
     13// Update Count     : 3756
    1414//
    1515
     
    114114        } // for
    115115} // distExt
    116 
    117 void distInl( DeclarationNode * declaration ) {
    118         // distribute EXTENSION across all declarations
    119         for ( DeclarationNode *iter = declaration; iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) {
    120                 iter->set_inLine( true );
    121         } // for
    122 } // distInl
    123116
    124117void distQual( DeclarationNode * declaration, DeclarationNode * qualifiers ) {
     
    173166} // build_postfix_name
    174167
    175 DeclarationNode * fieldDecl( DeclarationNode * typeSpec, DeclarationNode * fieldList ) {
    176         if ( ! fieldList ) {                                                            // field declarator ?
    177                 if ( ! ( typeSpec->type && typeSpec->type->kind == TypeData::Aggregate ) ) {
    178                         stringstream ss;
    179                         typeSpec->type->print( ss );
    180                         SemanticWarning( yylloc, Warning::SuperfluousDecl, ss.str().c_str() );
    181                         return nullptr;
    182                 } // if
    183                 fieldList = DeclarationNode::newName( nullptr );
    184         } // if
    185         return distAttr( typeSpec, fieldList );                         // mark all fields in list
    186 } // fieldDecl
    187 
    188168bool forall = false, yyy = false;                                               // aggregate have one or more forall qualifiers ?
    189169
     
    358338%type<decl> exception_declaration
    359339
    360 %type<decl> field_declaration_list_opt field_declaration field_declaring_list_opt field_declarator field_abstract_list_opt field_abstract
    361 %type<en> field field_name_list field_name fraction_constants_opt
     340%type<decl> field_declaration field_declaration_list_opt field_declarator_opt field_declaring_list
     341%type<en> field field_list field_name fraction_constants_opt
    362342
    363343%type<decl> external_function_definition function_definition function_array function_declarator function_no_ptr function_ptr
     
    372352%type<decl> cfa_array_parameter_1st_dimension
    373353
    374 %type<decl> cfa_trait_declaring_list cfa_declaration cfa_field_declaring_list cfa_field_abstract_list
     354%type<decl> cfa_trait_declaring_list cfa_declaration cfa_field_declaring_list
    375355%type<decl> cfa_function_declaration cfa_function_return cfa_function_specifier
    376356
     
    512492        ;
    513493
     494identifier:
     495        IDENTIFIER
     496        | ATTR_IDENTIFIER                                                                       // CFA
     497        | quasi_keyword
     498        ;
     499
    514500no_attr_identifier:
    515501        IDENTIFIER
    516502        | quasi_keyword
    517         | '@'                                                                                           // CFA
    518                 { Token tok = { new string( DeclarationNode::anonymous.newName() ), yylval.tok.loc }; $$ = tok; }
    519         ;
    520 
    521 identifier:
    522         no_attr_identifier
    523         | ATTR_IDENTIFIER                                                                       // CFA
    524503        ;
    525504
     
    562541        | type_name '.' no_attr_identifier                                      // CFA, nested type
    563542                { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
    564         | type_name '.' '[' field_name_list ']'                         // CFA, nested type / tuple field selector
     543        | type_name '.' '[' field_list ']'                                      // CFA, nested type / tuple field selector
    565544                { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
    566545        | GENERIC '(' assignment_expression ',' generic_assoc_list ')' // C11
     
    615594        | postfix_expression FLOATING_FRACTIONconstant          // CFA, tuple index
    616595                { $$ = new ExpressionNode( build_fieldSel( $1, build_field_name_FLOATING_FRACTIONconstant( *$2 ) ) ); }
    617         | postfix_expression '.' '[' field_name_list ']'        // CFA, tuple field selector
     596        | postfix_expression '.' '[' field_list ']'                     // CFA, tuple field selector
    618597                { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $4 ) ) ); }
    619598        | postfix_expression ARROW no_attr_identifier
     
    623602        | postfix_expression ARROW INTEGERconstant                      // CFA, tuple index
    624603                { $$ = new ExpressionNode( build_pfieldSel( $1, build_constantInteger( *$3 ) ) ); }
    625         | postfix_expression ARROW '[' field_name_list ']'      // CFA, tuple field selector
     604        | postfix_expression ARROW '[' field_list ']'           // CFA, tuple field selector
    626605                { $$ = new ExpressionNode( build_pfieldSel( $1, build_tuple( $4 ) ) ); }
    627606        | postfix_expression ICR
     
    650629        // empty
    651630                { $$ = nullptr; }
    652         | '?'                                                                                           // CFA, default parameter
    653                 { SemanticError( yylloc, "Default parameter for argument is currently unimplemented." ); $$ = nullptr; }
    654                 // { $$ = new ExpressionNode( build_constantInteger( *new string( "2" ) ) ); }
     631        // | '@'                                                                                                // use default argument
     632        //      { $$ = new ExpressionNode( build_constantInteger( *new string( "2" ) ) ); }
    655633        | assignment_expression
    656634        ;
    657635
    658 field_name_list:                                                                                // CFA, tuple field selector
     636field_list:                                                                                             // CFA, tuple field selector
    659637        field
    660         | field_name_list ',' field                                     { $$ = (ExpressionNode *)$1->set_last( $3 ); }
     638        | field_list ',' field                                          { $$ = (ExpressionNode *)$1->set_last( $3 ); }
    661639        ;
    662640
     
    665643        | FLOATING_DECIMALconstant field
    666644                { $$ = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_FLOATING_DECIMALconstant( *$1 ) ), maybeMoveBuild<Expression>( $2 ) ) ); }
    667         | FLOATING_DECIMALconstant '[' field_name_list ']'
     645        | FLOATING_DECIMALconstant '[' field_list ']'
    668646                { $$ = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_FLOATING_DECIMALconstant( *$1 ) ), build_tuple( $3 ) ) ); }
    669647        | field_name '.' field
    670648                { $$ = new ExpressionNode( build_fieldSel( $1, maybeMoveBuild<Expression>( $3 ) ) ); }
    671         | field_name '.' '[' field_name_list ']'
     649        | field_name '.' '[' field_list ']'
    672650                { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $4 ) ) ); }
    673651        | field_name ARROW field
    674652                { $$ = new ExpressionNode( build_pfieldSel( $1, maybeMoveBuild<Expression>( $3 ) ) ); }
    675         | field_name ARROW '[' field_name_list ']'
     653        | field_name ARROW '[' field_list ']'
    676654                { $$ = new ExpressionNode( build_pfieldSel( $1, build_tuple( $4 ) ) ); }
    677655        ;
     
    19541932
    19551933field_declaration:
    1956         type_specifier field_declaring_list_opt ';'
    1957                 { $$ = fieldDecl( $1, $2 ); }
    1958         | EXTENSION type_specifier field_declaring_list_opt ';' // GCC
    1959                 { $$ = fieldDecl( $2, $3 ); distExt( $$ ); }
    1960         | INLINE type_specifier field_abstract_list_opt ';'     // CFA
    1961                 {
    1962                         if ( ! $3 ) {                                                           // field declarator ?
    1963                                 $3 = DeclarationNode::newName( nullptr );
    1964                         } // if
    1965                         $3->inLine = true;
    1966                         $$ = distAttr( $2, $3 );                                        // mark all fields in list
    1967                         distInl( $3 );
     1934        type_specifier field_declaring_list ';'
     1935                { $$ = distAttr( $1, $2 ); }
     1936        | EXTENSION type_specifier field_declaring_list ';'     // GCC
     1937                { distExt( $3 ); $$ = distAttr( $2, $3 ); }             // mark all fields in list
     1938        | INLINE type_specifier field_declaring_list ';'        // CFA
     1939                {
     1940                        if ( $2->type && ( $2->type->kind == TypeData::Aggregate || $2->type->kind == TypeData::AggregateInst ) ) {
     1941                                if ( $2->type->kind == TypeData::Aggregate ) {
     1942                                        $2->type->aggregate.inLine = true;
     1943                                } else {
     1944                                        $2->type->aggInst.inLine = true;
     1945                                } // if
     1946                                $$ = distAttr( $2, $3 );
     1947                        } else {
     1948                                SemanticError( yylloc, "inline qualifier only allowed for aggregate field declarations." ); $$ = nullptr;
     1949                        } // if
    19681950                }
    19691951        | typedef_declaration ';'                                                       // CFA
     
    19711953        | EXTENSION cfa_field_declaring_list ';'                        // GCC
    19721954                { distExt( $2 ); $$ = $2; }                                             // mark all fields in list
    1973         | INLINE cfa_field_abstract_list ';'                            // CFA, new style field declaration
    1974                 { $$ = $2; }                                                                    // mark all fields in list
    19751955        | cfa_typedef_declaration ';'                                           // CFA
    19761956        | static_assert                                                                         // C11
    19771957        ;
    19781958
    1979 field_declaring_list_opt:
    1980         // empty
    1981                 { $$ = nullptr; }
    1982         | field_declarator
    1983         | field_declaring_list_opt ',' attribute_list_opt field_declarator
    1984                 { $$ = $1->appendList( $4->addQualifiers( $3 ) ); }
    1985         ;
    1986 
    1987 field_declarator:
    1988         bit_subrange_size                                                                       // C special case, no field name
    1989                 { $$ = DeclarationNode::newBitfield( $1 ); }
    1990         | variable_declarator bit_subrange_size_opt
    1991                 // A semantic check is required to ensure bit_subrange only appears on integral types.
    1992                 { $$ = $1->addBitfield( $2 ); }
    1993         | variable_type_redeclarator bit_subrange_size_opt
    1994                 // A semantic check is required to ensure bit_subrange only appears on integral types.
    1995                 { $$ = $1->addBitfield( $2 ); }
    1996         ;
    1997 
    1998 field_abstract_list_opt:
    1999         // empty
    2000                 { $$ = nullptr; }
    2001         | field_abstract
    2002         | field_abstract_list_opt ',' attribute_list_opt field_abstract
    2003                 { $$ = $1->appendList( $4->addQualifiers( $3 ) ); }
    2004         ;
    2005 
    2006 field_abstract:
    2007                 //      no bit fields
    2008         variable_abstract_declarator
    2009         ;
    2010 
    20111959cfa_field_declaring_list:                                                               // CFA, new style field declaration
    2012         // bit-fields are handled by C declarations
    2013         cfa_abstract_declarator_tuple no_attr_identifier_or_type_name
     1960        cfa_abstract_declarator_tuple                                           // CFA, no field name
     1961        | cfa_abstract_declarator_tuple no_attr_identifier_or_type_name
    20141962                { $$ = $1->addName( $2 ); }
    20151963        | cfa_field_declaring_list ',' no_attr_identifier_or_type_name
    20161964                { $$ = $1->appendList( $1->cloneType( $3 ) ); }
    2017         ;
    2018 
    2019 cfa_field_abstract_list:                                                                // CFA, new style field declaration
    2020         // bit-fields are handled by C declarations
    2021         cfa_abstract_declarator_tuple
    2022         | cfa_field_abstract_list ','
     1965        | cfa_field_declaring_list ','                                          // CFA, no field name
    20231966                { $$ = $1->appendList( $1->cloneType( 0 ) ); }
     1967        ;
     1968
     1969field_declaring_list:
     1970        field_declarator_opt
     1971        | field_declaring_list ',' attribute_list_opt field_declarator_opt
     1972                { $$ = $1->appendList( $4->addQualifiers( $3 ) ); }
     1973        ;
     1974
     1975field_declarator_opt:
     1976        // empty
     1977                { $$ = DeclarationNode::newName( 0 ); /* XXX */ } // CFA, no field name
     1978        // '@'
     1979        //      { $$ = DeclarationNode::newName( new string( DeclarationNode::anonymous.newName() ) ); } // CFA, no field name
     1980        | bit_subrange_size                                                                     // no field name
     1981                { $$ = DeclarationNode::newBitfield( $1 ); }
     1982        | variable_declarator bit_subrange_size_opt
     1983                // A semantic check is required to ensure bit_subrange only appears on base type int.
     1984                { $$ = $1->addBitfield( $2 ); }
     1985        | variable_type_redeclarator bit_subrange_size_opt
     1986                // A semantic check is required to ensure bit_subrange only appears on base type int.
     1987                { $$ = $1->addBitfield( $2 ); }
     1988        | variable_abstract_declarator                                          // CFA, no field name
    20241989        ;
    20251990
     
    22612226        | '[' push constant_expression ELLIPSIS constant_expression pop ']' // GCC, multiple array elements
    22622227                { $$ = new ExpressionNode( new RangeExpr( maybeMoveBuild< Expression >( $3 ), maybeMoveBuild< Expression >( $5 ) ) ); }
    2263         | '.' '[' push field_name_list pop ']'                          // CFA, tuple field selector
     2228        | '.' '[' push field_list pop ']'                                       // CFA, tuple field selector
    22642229                { $$ = $4; }
    22652230        ;
  • src/SymTab/Validate.cc

    r2514607d rcbdf565  
    368368                                auto base = td->base;
    369369                                assert( base );
    370                                 Type * ret = base->clone();
    371                                 ret->get_qualifiers() = qualType->get_qualifiers();
    372                                 return ret;
     370                                return base->clone();
    373371                        } else {
    374372                                // .T => T is not a type name
     
    390388                                        if ( StructDecl * aggr = dynamic_cast< StructDecl * >( member ) ) {
    391389                                                if ( aggr->name == inst->name ) {
    392                                                         // TODO: is this case, and other non-TypeInstType cases, necessary?
    393390                                                        return new StructInstType( qualType->get_qualifiers(), aggr );
    394391                                                }
     
    407404                                        }
    408405                                } else if ( TypeInstType * inst = dynamic_cast< TypeInstType * >( child ) ) {
    409                                         // name on the right is a typedef
     406                                        // struct typedefs are being replaced by forward decls too early; move it to hoist struct
    410407                                        if ( NamedTypeDecl * aggr = dynamic_cast< NamedTypeDecl * > ( member ) ) {
    411408                                                if ( aggr->name == inst->name ) {
    412409                                                        assert( aggr->base );
    413                                                         Type * ret = aggr->base->clone();
    414                                                         ret->get_qualifiers() = qualType->get_qualifiers();
    415                                                         return ret;
     410                                                        return aggr->base->clone();
    416411                                                }
    417412                                        }
  • src/driver/cc1.cc

    r2514607d rcbdf565  
    1010// Created On       : Fri Aug 26 14:23:51 2005
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul 19 10:46:11 2018
    13 // Update Count     : 111
     12// Last Modified On : Fri Jul 13 17:40:10 2018
     13// Update Count     : 110
    1414//
    1515
     
    454454                                        args[nargs] = argv[i];                          // pass the argument along
    455455                                        nargs += 1;
    456                                         #ifdef __DEBUG_H__
     456                #ifdef __DEBUG_H__
    457457                                        cerr << "arg:\"" << argv[i] << "\"" << endl;
    458                                         #endif // __DEBUG_H__
     458                #endif // __DEBUG_H__
    459459                                } // if
    460460                        } // if
  • src/libcfa/concurrency/kernel.c

    r2514607d rcbdf565  
    3737
    3838//Start and stop routine for the kernel, declared first to make sure they run first
    39 static void kernel_startup(void)  __attribute__(( constructor( STARTUP_PRIORITY_KERNEL ) ));
    40 static void kernel_shutdown(void) __attribute__(( destructor ( STARTUP_PRIORITY_KERNEL ) ));
     39void kernel_startup(void)  __attribute__(( constructor( STARTUP_PRIORITY_KERNEL ) ));
     40void kernel_shutdown(void) __attribute__(( destructor ( STARTUP_PRIORITY_KERNEL ) ));
    4141
    4242//-----------------------------------------------------------------------------
     
    133133
    134134// Construct the processor context of non-main processors
    135 static void ?{}(processorCtx_t & this, processor * proc, current_stack_info_t * info) {
     135void ?{}(processorCtx_t & this, processor * proc, current_stack_info_t * info) {
    136136        (this.__cor){ info };
    137137        this.proc = proc;
    138138}
    139139
    140 static void start(processor * this);
    141140void ?{}(processor & this, const char * name, cluster & cltr) with( this ) {
    142141        this.name = name;
     
    187186// Kernel Scheduling logic
    188187//=============================================================================================
    189 static void runThread(processor * this, thread_desc * dst);
    190 static void finishRunning(processor * this);
    191 static void halt(processor * this);
    192 
    193188//Main of the processor contexts
    194189void main(processorCtx_t & runner) {
     
    244239// runThread runs a thread by context switching
    245240// from the processor coroutine to the target thread
    246 static void runThread(processor * this, thread_desc * dst) {
     241void runThread(processor * this, thread_desc * dst) {
    247242        assert(dst->curr_cor);
    248243        coroutine_desc * proc_cor = get_coroutine(this->runner);
     
    261256
    262257// KERNEL_ONLY
    263 static void returnToKernel() {
     258void returnToKernel() {
    264259        coroutine_desc * proc_cor = get_coroutine(kernelTLS.this_processor->runner);
    265260        coroutine_desc * thrd_cor = kernelTLS.this_thread->curr_cor = kernelTLS.this_coroutine;
     
    270265// Once a thread has finished running, some of
    271266// its final actions must be executed from the kernel
    272 static void finishRunning(processor * this) with( this->finish ) {
     267void finishRunning(processor * this) with( this->finish ) {
    273268        verify( ! kernelTLS.preemption_state.enabled );
    274269        choose( action_code ) {
     
    304299// This is the entry point for processors (kernel threads)
    305300// It effectively constructs a coroutine by stealing the pthread stack
    306 static void * CtxInvokeProcessor(void * arg) {
     301void * CtxInvokeProcessor(void * arg) {
    307302        processor * proc = (processor *) arg;
    308303        kernelTLS.this_processor = proc;
     
    341336}
    342337
    343 static void start(processor * this) {
     338void start(processor * this) {
    344339        __cfaabi_dbg_print_safe("Kernel : Starting core %p\n", this);
    345340
     
    547542//-----------------------------------------------------------------------------
    548543// Kernel boot procedures
    549 static void kernel_startup(void) {
     544void kernel_startup(void) {
    550545        verify( ! kernelTLS.preemption_state.enabled );
    551546        __cfaabi_dbg_print_safe("Kernel : Starting\n");
     
    623618}
    624619
    625 static void kernel_shutdown(void) {
     620void kernel_shutdown(void) {
    626621        __cfaabi_dbg_print_safe("\n--------------------------------------------------\nKernel : Shutting down\n");
    627622
     
    660655// Kernel Quiescing
    661656//=============================================================================================
    662 static void halt(processor * this) with( *this ) {
     657
     658void halt(processor * this) with( *this ) {
    663659        // verify( ! __atomic_load_n(&do_terminate, __ATOMIC_SEQ_CST) );
    664660
     
    687683// Unexpected Terminating logic
    688684//=============================================================================================
     685
     686
    689687static __spinlock_t kernel_abort_lock;
    690688static bool kernel_abort_called = false;
  • src/libcfa/concurrency/kernel_private.h

    r2514607d rcbdf565  
    5454// Processor
    5555void main(processorCtx_t *);
     56void start(processor * this);
     57void runThread(processor * this, thread_desc * dst);
     58void finishRunning(processor * this);
     59void halt(processor * this);
    5660
    5761static inline void wake_fast(processor * this) {
  • src/libcfa/concurrency/preemption.c

    r2514607d rcbdf565  
    3939
    4040// FwdDeclarations : Signal handlers
    41 static void sigHandler_ctxSwitch( __CFA_SIGPARMS__ );
    42 static void sigHandler_segv     ( __CFA_SIGPARMS__ );
    43 static void sigHandler_ill      ( __CFA_SIGPARMS__ );
    44 static void sigHandler_fpe      ( __CFA_SIGPARMS__ );
    45 static void sigHandler_abort    ( __CFA_SIGPARMS__ );
     41void sigHandler_ctxSwitch( __CFA_SIGPARMS__ );
     42void sigHandler_segv     ( __CFA_SIGPARMS__ );
     43void sigHandler_ill      ( __CFA_SIGPARMS__ );
     44void sigHandler_fpe      ( __CFA_SIGPARMS__ );
     45void sigHandler_abort    ( __CFA_SIGPARMS__ );
    4646
    4747// FwdDeclarations : alarm thread main
    48 static void * alarm_loop( __attribute__((unused)) void * args );
     48void * alarm_loop( __attribute__((unused)) void * args );
    4949
    5050// Machine specific register name
     
    6363static pthread_t alarm_thread;                        // pthread handle to alarm thread
    6464
    65 static void ?{}(event_kernel_t & this) with( this ) {
     65void ?{}(event_kernel_t & this) with( this ) {
    6666        alarms{};
    6767        lock{};
     
    8585
    8686// Tick one frame of the Discrete Event Simulation for alarms
    87 static void tick_preemption() {
     87void tick_preemption() {
    8888        alarm_node_t * node = NULL;                     // Used in the while loop but cannot be declared in the while condition
    8989        alarm_list_t * alarms = &event_kernel->alarms;  // Local copy for ease of reading
     
    350350// Context switch signal handler
    351351// Receives SIGUSR1 signal and causes the current thread to yield
    352 static void sigHandler_ctxSwitch( __CFA_SIGPARMS__ ) {
     352void sigHandler_ctxSwitch( __CFA_SIGPARMS__ ) {
    353353        __cfaabi_dbg_debug_do( last_interrupt = (void *)(cxt->uc_mcontext.CFA_REG_IP); )
    354354
     
    393393// Main of the alarm thread
    394394// Waits on SIGALRM and send SIGUSR1 to whom ever needs it
    395 static void * alarm_loop( __attribute__((unused)) void * args ) {
     395void * alarm_loop( __attribute__((unused)) void * args ) {
    396396        // Block sigalrms to control when they arrive
    397397        sigset_t mask;
  • src/libcfa/concurrency/preemption.h

    r2514607d rcbdf565  
    2222void kernel_stop_preemption();
    2323void update_preemption( processor * this, Duration duration );
     24void tick_preemption();
    2425
    2526struct preemption_scope {
  • src/tests/.expect/attributes.x64.txt

    r2514607d rcbdf565  
    8888    __attribute__ ((used,unused,unused)) signed int __f7__i_1;
    8989    __attribute__ ((used,used,unused)) signed int __f8__i_1;
     90    __attribute__ ((unused)) signed int __anonymous_object0;
    9091    __attribute__ ((unused,unused)) signed int *__f9__Pi_1;
    9192};
     
    102103static inline void ___constructor__F_4sFdliiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1);
    103104static inline void ___constructor__F_4sFdliiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1);
    104 static inline void ___constructor__F_4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused,unused)) signed int *__f9__Pi_1);
     105static inline void ___constructor__F_4sFdliiiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object1);
     106static inline void ___constructor__F_4sFdliiiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object2, __attribute__ ((unused,unused)) signed int *__f9__Pi_1);
    105107static inline void ___constructor__F_4sFdl_autogen___1(struct Fdl *___dst__4sFdl_1){
    106108    ((void)((*___dst__4sFdl_1).__f1__i_1) /* ?{} */);
     
    112114    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    113115    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     116    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    114117    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    115118}
     
    123126    ((void)((*___dst__4sFdl_1).__f7__i_1=___src__4sFdl_1.__f7__i_1) /* ?{} */);
    124127    ((void)((*___dst__4sFdl_1).__f8__i_1=___src__4sFdl_1.__f8__i_1) /* ?{} */);
     128    ((void)((*___dst__4sFdl_1).__anonymous_object0=___src__4sFdl_1.__anonymous_object0) /* ?{} */);
    125129    ((void)((*___dst__4sFdl_1).__f9__Pi_1=___src__4sFdl_1.__f9__Pi_1) /* ?{} */);
    126130}
    127131static inline void ___destructor__F_4sFdl_autogen___1(struct Fdl *___dst__4sFdl_1){
    128132    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ^?{} */);
     133    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ^?{} */);
    129134    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ^?{} */);
    130135    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ^?{} */);
     
    146151    ((void)((*___dst__4sFdl_1).__f7__i_1=___src__4sFdl_1.__f7__i_1));
    147152    ((void)((*___dst__4sFdl_1).__f8__i_1=___src__4sFdl_1.__f8__i_1));
     153    ((void)((*___dst__4sFdl_1).__anonymous_object0=___src__4sFdl_1.__anonymous_object0));
    148154    ((void)((*___dst__4sFdl_1).__f9__Pi_1=___src__4sFdl_1.__f9__Pi_1));
    149155    ((void)___constructor__F_4sFdl4sFdl_autogen___1((&___ret__4sFdl_1), (*___dst__4sFdl_1)));
     
    159165    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    160166    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     167    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    161168    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    162169}
     
    170177    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    171178    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     179    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    172180    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    173181}
     
    181189    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    182190    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     191    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    183192    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    184193}
     
    192201    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    193202    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     203    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    194204    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    195205}
     
    203213    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    204214    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     215    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    205216    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    206217}
     
    214225    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    215226    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     227    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    216228    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    217229}
     
    225237    ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);
    226238    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     239    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    227240    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    228241}
     
    236249    ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);
    237250    ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */);
    238     ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    239 }
    240 static inline void ___constructor__F_4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused,unused)) signed int *__f9__Pi_1){
     251    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
     252    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
     253}
     254static inline void ___constructor__F_4sFdliiiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object3){
    241255    ((void)((*___dst__4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */);
    242256    ((void)((*___dst__4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */);
     
    247261    ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);
    248262    ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */);
     263    ((void)((*___dst__4sFdl_1).__anonymous_object0=__anonymous_object3) /* ?{} */);
     264    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
     265}
     266static inline void ___constructor__F_4sFdliiiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object4, __attribute__ ((unused,unused)) signed int *__f9__Pi_1){
     267    ((void)((*___dst__4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */);
     268    ((void)((*___dst__4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */);
     269    ((void)((*___dst__4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */);
     270    ((void)((*___dst__4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */);
     271    ((void)((*___dst__4sFdl_1).__f5__i_1=__f5__i_1) /* ?{} */);
     272    ((void)((*___dst__4sFdl_1).__f6__i_1=__f6__i_1) /* ?{} */);
     273    ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);
     274    ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */);
     275    ((void)((*___dst__4sFdl_1).__anonymous_object0=__anonymous_object4) /* ?{} */);
    249276    ((void)((*___dst__4sFdl_1).__f9__Pi_1=__f9__Pi_1) /* ?{} */);
    250277}
     
    266293    __attribute__ ((unused)) signed int **const ___retval_f2__CPPi_1;
    267294}
    268 __attribute__ ((unused,used,unused)) signed int (*__f3__FPA0i_i__1(signed int __anonymous_object0))[];
     295__attribute__ ((unused,used,unused)) signed int (*__f3__FPA0i_i__1(signed int __anonymous_object5))[];
    269296__attribute__ ((unused,unused)) signed int (*__f3__FPA0i_i__1(signed int __p__i_1))[]{
    270297    __attribute__ ((unused)) signed int (*___retval_f3__PA0i_1)[];
    271298}
    272 __attribute__ ((unused,used,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object1);
    273 __attribute__ ((unused,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object2){
    274     __attribute__ ((unused)) signed int (*___retval_f4__Fi_i__1)(signed int __anonymous_object3);
     299__attribute__ ((unused,used,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object6);
     300__attribute__ ((unused,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object7){
     301    __attribute__ ((unused)) signed int (*___retval_f4__Fi_i__1)(signed int __anonymous_object8);
    275302}
    276303signed int __vtr__Fi___1(){
     
    302329signed int __tpr2__Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signed int **__Foo__PPi_1);
    303330signed int __tpr3__Fi_Pi__1(__attribute__ ((unused,unused,unused)) signed int *__Foo__Pi_1);
    304 signed int __tpr4__Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object4)(__attribute__ ((unused,unused)) signed int __anonymous_object5[((unsigned long int )5)]));
     331signed int __tpr4__Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object9)(__attribute__ ((unused,unused)) signed int __anonymous_object10[((unsigned long int )5)]));
    305332signed int __tpr5__Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__Foo__Fi___1)());
    306333signed int __tpr6__Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__Foo__Fi___1)());
    307 signed int __tpr7__Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object6)(__attribute__ ((unused)) signed int (*__anonymous_object7)(__attribute__ ((unused,unused)) signed int __anonymous_object8)));
     334signed int __tpr7__Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object11)(__attribute__ ((unused)) signed int (*__anonymous_object12)(__attribute__ ((unused,unused)) signed int __anonymous_object13)));
    308335signed int __ad__Fi___1(){
    309336    __attribute__ ((unused)) signed int ___retval_ad__i_1;
     
    359386    ((void)sizeof(enum __anonymous4 ));
    360387}
    361 signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object9, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object10);
    362 signed int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object11, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object12);
    363 signed int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object13, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object14);
    364 signed int __apd4__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)());
    365 signed int __apd5__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __anonymous_object18), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object19)(__attribute__ ((unused)) signed int __anonymous_object20));
    366 signed int __apd6__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object21)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)());
    367 signed int __apd7__Fi_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));
     388signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object14, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object15);
     389signed int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object16, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object17);
     390signed int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object18, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object19);
     391signed int __apd4__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object20)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object21)());
     392signed int __apd5__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)(__attribute__ ((unused)) signed int __anonymous_object23), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object24)(__attribute__ ((unused)) signed int __anonymous_object25));
     393signed int __apd6__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object26)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object27)());
     394signed int __apd7__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object28)(__attribute__ ((unused)) signed int __anonymous_object29), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object30)(__attribute__ ((unused)) signed int __anonymous_object31));
    368395struct Vad {
    369     __attribute__ ((unused)) signed int __anonymous_object27:4;
    370     __attribute__ ((unused)) signed int __anonymous_object28:4;
    371     __attribute__ ((unused,unused)) signed int __anonymous_object29:6;
     396    __attribute__ ((unused)) signed int __anonymous_object32;
     397    __attribute__ ((unused,unused)) signed int *__anonymous_object33;
     398    __attribute__ ((unused,unused)) signed int __anonymous_object34[((unsigned long int )10)];
     399    __attribute__ ((unused,unused)) signed int (*__anonymous_object35)();
    372400};
    373401static inline void ___constructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1);
     
    375403static inline void ___destructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1);
    376404static inline struct Vad ___operator_assign__F4sVad_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1);
     405static inline void ___constructor__F_4sVadi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object36);
     406static inline void ___constructor__F_4sVadiPi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object37, __attribute__ ((unused,unused)) signed int *__anonymous_object38);
     407static inline void ___constructor__F_4sVadiPiA0i_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object39, __attribute__ ((unused,unused)) signed int *__anonymous_object40, __attribute__ ((unused,unused)) signed int __anonymous_object41[((unsigned long int )10)]);
     408static inline void ___constructor__F_4sVadiPiA0iFi___autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object42, __attribute__ ((unused,unused)) signed int *__anonymous_object43, __attribute__ ((unused,unused)) signed int __anonymous_object44[((unsigned long int )10)], __attribute__ ((unused,unused)) signed int (*__anonymous_object45)());
    377409static inline void ___constructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1){
     410    ((void)((*___dst__4sVad_1).__anonymous_object32) /* ?{} */);
     411    ((void)((*___dst__4sVad_1).__anonymous_object33) /* ?{} */);
     412    {
     413        signed int _index0 = 0;
     414        for (;(_index0<10);((void)(++_index0))) {
     415            ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index0)]) /* ?{} */);
     416        }
     417
     418    }
     419
     420    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */);
    378421}
    379422static inline void ___constructor__F_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1){
     423    ((void)((*___dst__4sVad_1).__anonymous_object32=___src__4sVad_1.__anonymous_object32) /* ?{} */);
     424    ((void)((*___dst__4sVad_1).__anonymous_object33=___src__4sVad_1.__anonymous_object33) /* ?{} */);
     425    {
     426        signed int _index1 = 0;
     427        for (;(_index1<10);((void)(++_index1))) {
     428            ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index1)]=___src__4sVad_1.__anonymous_object34[((signed long int )_index1)]) /* ?{} */);
     429        }
     430
     431    }
     432
     433    ((void)((*___dst__4sVad_1).__anonymous_object35=___src__4sVad_1.__anonymous_object35) /* ?{} */);
    380434}
    381435static inline void ___destructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1){
     436    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ^?{} */);
     437    {
     438        signed int _index2 = (10-1);
     439        for (;(_index2>=0);((void)(--_index2))) {
     440            ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index2)]) /* ^?{} */);
     441        }
     442
     443    }
     444
     445    ((void)((*___dst__4sVad_1).__anonymous_object33) /* ^?{} */);
     446    ((void)((*___dst__4sVad_1).__anonymous_object32) /* ^?{} */);
    382447}
    383448static inline struct Vad ___operator_assign__F4sVad_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1){
    384449    struct Vad ___ret__4sVad_1;
     450    ((void)((*___dst__4sVad_1).__anonymous_object32=___src__4sVad_1.__anonymous_object32));
     451    ((void)((*___dst__4sVad_1).__anonymous_object33=___src__4sVad_1.__anonymous_object33));
     452    {
     453        signed int _index3 = 0;
     454        for (;(_index3<10);((void)(++_index3))) {
     455            ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index3)]=___src__4sVad_1.__anonymous_object34[((signed long int )_index3)]));
     456        }
     457
     458    }
     459
     460    ((void)((*___dst__4sVad_1).__anonymous_object35=___src__4sVad_1.__anonymous_object35));
    385461    ((void)___constructor__F_4sVad4sVad_autogen___1((&___ret__4sVad_1), (*___dst__4sVad_1)));
    386462    return ___ret__4sVad_1;
    387463}
     464static inline void ___constructor__F_4sVadi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object46){
     465    ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object46) /* ?{} */);
     466    ((void)((*___dst__4sVad_1).__anonymous_object33) /* ?{} */);
     467    {
     468        signed int _index4 = 0;
     469        for (;(_index4<10);((void)(++_index4))) {
     470            ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index4)]) /* ?{} */);
     471        }
     472
     473    }
     474
     475    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */);
     476}
     477static inline void ___constructor__F_4sVadiPi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object47, __attribute__ ((unused,unused)) signed int *__anonymous_object48){
     478    ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object47) /* ?{} */);
     479    ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object48) /* ?{} */);
     480    {
     481        signed int _index5 = 0;
     482        for (;(_index5<10);((void)(++_index5))) {
     483            ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index5)]) /* ?{} */);
     484        }
     485
     486    }
     487
     488    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */);
     489}
     490static inline void ___constructor__F_4sVadiPiA0i_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object49, __attribute__ ((unused,unused)) signed int *__anonymous_object50, __attribute__ ((unused,unused)) signed int __anonymous_object51[((unsigned long int )10)]){
     491    ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object49) /* ?{} */);
     492    ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object50) /* ?{} */);
     493    {
     494        signed int _index6 = 0;
     495        for (;(_index6<10);((void)(++_index6))) {
     496            ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index6)]=__anonymous_object51[((signed long int )_index6)]) /* ?{} */);
     497        }
     498
     499    }
     500
     501    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */);
     502}
     503static inline void ___constructor__F_4sVadiPiA0iFi___autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object52, __attribute__ ((unused,unused)) signed int *__anonymous_object53, __attribute__ ((unused,unused)) signed int __anonymous_object54[((unsigned long int )10)], __attribute__ ((unused,unused)) signed int (*__anonymous_object55)()){
     504    ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object52) /* ?{} */);
     505    ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object53) /* ?{} */);
     506    {
     507        signed int _index7 = 0;
     508        for (;(_index7<10);((void)(++_index7))) {
     509            ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index7)]=__anonymous_object54[((signed long int )_index7)]) /* ?{} */);
     510        }
     511
     512    }
     513
     514    ((void)((*___dst__4sVad_1).__anonymous_object35=__anonymous_object55) /* ?{} */);
     515}
  • src/tests/.expect/attributes.x86.txt

    r2514607d rcbdf565  
    8888    __attribute__ ((used,unused,unused)) signed int __f7__i_1;
    8989    __attribute__ ((used,used,unused)) signed int __f8__i_1;
     90    __attribute__ ((unused)) signed int __anonymous_object0;
    9091    __attribute__ ((unused,unused)) signed int *__f9__Pi_1;
    9192};
     
    102103static inline void ___constructor__F_4sFdliiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1);
    103104static inline void ___constructor__F_4sFdliiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1);
    104 static inline void ___constructor__F_4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused,unused)) signed int *__f9__Pi_1);
     105static inline void ___constructor__F_4sFdliiiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object1);
     106static inline void ___constructor__F_4sFdliiiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object2, __attribute__ ((unused,unused)) signed int *__f9__Pi_1);
    105107static inline void ___constructor__F_4sFdl_autogen___1(struct Fdl *___dst__4sFdl_1){
    106108    ((void)((*___dst__4sFdl_1).__f1__i_1) /* ?{} */);
     
    112114    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    113115    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     116    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    114117    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    115118}
     
    123126    ((void)((*___dst__4sFdl_1).__f7__i_1=___src__4sFdl_1.__f7__i_1) /* ?{} */);
    124127    ((void)((*___dst__4sFdl_1).__f8__i_1=___src__4sFdl_1.__f8__i_1) /* ?{} */);
     128    ((void)((*___dst__4sFdl_1).__anonymous_object0=___src__4sFdl_1.__anonymous_object0) /* ?{} */);
    125129    ((void)((*___dst__4sFdl_1).__f9__Pi_1=___src__4sFdl_1.__f9__Pi_1) /* ?{} */);
    126130}
    127131static inline void ___destructor__F_4sFdl_autogen___1(struct Fdl *___dst__4sFdl_1){
    128132    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ^?{} */);
     133    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ^?{} */);
    129134    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ^?{} */);
    130135    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ^?{} */);
     
    146151    ((void)((*___dst__4sFdl_1).__f7__i_1=___src__4sFdl_1.__f7__i_1));
    147152    ((void)((*___dst__4sFdl_1).__f8__i_1=___src__4sFdl_1.__f8__i_1));
     153    ((void)((*___dst__4sFdl_1).__anonymous_object0=___src__4sFdl_1.__anonymous_object0));
    148154    ((void)((*___dst__4sFdl_1).__f9__Pi_1=___src__4sFdl_1.__f9__Pi_1));
    149155    ((void)___constructor__F_4sFdl4sFdl_autogen___1((&___ret__4sFdl_1), (*___dst__4sFdl_1)));
     
    159165    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    160166    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     167    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    161168    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    162169}
     
    170177    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    171178    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     179    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    172180    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    173181}
     
    181189    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    182190    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     191    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    183192    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    184193}
     
    192201    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    193202    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     203    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    194204    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    195205}
     
    203213    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    204214    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     215    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    205216    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    206217}
     
    214225    ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */);
    215226    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     227    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    216228    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    217229}
     
    225237    ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);
    226238    ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */);
     239    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
    227240    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    228241}
     
    236249    ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);
    237250    ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */);
    238     ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
    239 }
    240 static inline void ___constructor__F_4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused,unused)) signed int *__f9__Pi_1){
     251    ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);
     252    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
     253}
     254static inline void ___constructor__F_4sFdliiiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object3){
    241255    ((void)((*___dst__4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */);
    242256    ((void)((*___dst__4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */);
     
    247261    ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);
    248262    ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */);
     263    ((void)((*___dst__4sFdl_1).__anonymous_object0=__anonymous_object3) /* ?{} */);
     264    ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);
     265}
     266static inline void ___constructor__F_4sFdliiiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object4, __attribute__ ((unused,unused)) signed int *__f9__Pi_1){
     267    ((void)((*___dst__4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */);
     268    ((void)((*___dst__4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */);
     269    ((void)((*___dst__4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */);
     270    ((void)((*___dst__4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */);
     271    ((void)((*___dst__4sFdl_1).__f5__i_1=__f5__i_1) /* ?{} */);
     272    ((void)((*___dst__4sFdl_1).__f6__i_1=__f6__i_1) /* ?{} */);
     273    ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);
     274    ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */);
     275    ((void)((*___dst__4sFdl_1).__anonymous_object0=__anonymous_object4) /* ?{} */);
    249276    ((void)((*___dst__4sFdl_1).__f9__Pi_1=__f9__Pi_1) /* ?{} */);
    250277}
     
    266293    __attribute__ ((unused)) signed int **const ___retval_f2__CPPi_1;
    267294}
    268 __attribute__ ((unused,used,unused)) signed int (*__f3__FPA0i_i__1(signed int __anonymous_object0))[];
     295__attribute__ ((unused,used,unused)) signed int (*__f3__FPA0i_i__1(signed int __anonymous_object5))[];
    269296__attribute__ ((unused,unused)) signed int (*__f3__FPA0i_i__1(signed int __p__i_1))[]{
    270297    __attribute__ ((unused)) signed int (*___retval_f3__PA0i_1)[];
    271298}
    272 __attribute__ ((unused,used,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object1);
    273 __attribute__ ((unused,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object2){
    274     __attribute__ ((unused)) signed int (*___retval_f4__Fi_i__1)(signed int __anonymous_object3);
     299__attribute__ ((unused,used,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object6);
     300__attribute__ ((unused,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object7){
     301    __attribute__ ((unused)) signed int (*___retval_f4__Fi_i__1)(signed int __anonymous_object8);
    275302}
    276303signed int __vtr__Fi___1(){
     
    302329signed int __tpr2__Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signed int **__Foo__PPi_1);
    303330signed int __tpr3__Fi_Pi__1(__attribute__ ((unused,unused,unused)) signed int *__Foo__Pi_1);
    304 signed int __tpr4__Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object4)(__attribute__ ((unused,unused)) signed int __anonymous_object5[((unsigned int )5)]));
     331signed int __tpr4__Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object9)(__attribute__ ((unused,unused)) signed int __anonymous_object10[((unsigned int )5)]));
    305332signed int __tpr5__Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__Foo__Fi___1)());
    306333signed int __tpr6__Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__Foo__Fi___1)());
    307 signed int __tpr7__Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object6)(__attribute__ ((unused)) signed int (*__anonymous_object7)(__attribute__ ((unused,unused)) signed int __anonymous_object8)));
     334signed int __tpr7__Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object11)(__attribute__ ((unused)) signed int (*__anonymous_object12)(__attribute__ ((unused,unused)) signed int __anonymous_object13)));
    308335signed int __ad__Fi___1(){
    309336    __attribute__ ((unused)) signed int ___retval_ad__i_1;
     
    359386    ((void)sizeof(enum __anonymous4 ));
    360387}
    361 signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object9, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object10);
    362 signed int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object11, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object12);
    363 signed int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object13, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object14);
    364 signed int __apd4__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)());
    365 signed int __apd5__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __anonymous_object18), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object19)(__attribute__ ((unused)) signed int __anonymous_object20));
    366 signed int __apd6__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object21)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)());
    367 signed int __apd7__Fi_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));
     388signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object14, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object15);
     389signed int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object16, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object17);
     390signed int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object18, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object19);
     391signed int __apd4__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object20)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object21)());
     392signed int __apd5__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)(__attribute__ ((unused)) signed int __anonymous_object23), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object24)(__attribute__ ((unused)) signed int __anonymous_object25));
     393signed int __apd6__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object26)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object27)());
     394signed int __apd7__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object28)(__attribute__ ((unused)) signed int __anonymous_object29), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object30)(__attribute__ ((unused)) signed int __anonymous_object31));
    368395struct Vad {
    369     __attribute__ ((unused)) signed int __anonymous_object27:4;
    370     __attribute__ ((unused)) signed int __anonymous_object28:4;
    371     __attribute__ ((unused,unused)) signed int __anonymous_object29:6;
     396    __attribute__ ((unused)) signed int __anonymous_object32;
     397    __attribute__ ((unused,unused)) signed int *__anonymous_object33;
     398    __attribute__ ((unused,unused)) signed int __anonymous_object34[((unsigned int )10)];
     399    __attribute__ ((unused,unused)) signed int (*__anonymous_object35)();
    372400};
    373401static inline void ___constructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1);
     
    375403static inline void ___destructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1);
    376404static inline struct Vad ___operator_assign__F4sVad_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1);
     405static inline void ___constructor__F_4sVadi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object36);
     406static inline void ___constructor__F_4sVadiPi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object37, __attribute__ ((unused,unused)) signed int *__anonymous_object38);
     407static inline void ___constructor__F_4sVadiPiA0i_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object39, __attribute__ ((unused,unused)) signed int *__anonymous_object40, __attribute__ ((unused,unused)) signed int __anonymous_object41[((unsigned int )10)]);
     408static inline void ___constructor__F_4sVadiPiA0iFi___autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object42, __attribute__ ((unused,unused)) signed int *__anonymous_object43, __attribute__ ((unused,unused)) signed int __anonymous_object44[((unsigned int )10)], __attribute__ ((unused,unused)) signed int (*__anonymous_object45)());
    377409static inline void ___constructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1){
     410    ((void)((*___dst__4sVad_1).__anonymous_object32) /* ?{} */);
     411    ((void)((*___dst__4sVad_1).__anonymous_object33) /* ?{} */);
     412    {
     413        signed int _index0 = 0;
     414        for (;(_index0<10);((void)(++_index0))) {
     415            ((void)((*___dst__4sVad_1).__anonymous_object34[_index0]) /* ?{} */);
     416        }
     417
     418    }
     419
     420    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */);
    378421}
    379422static inline void ___constructor__F_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1){
     423    ((void)((*___dst__4sVad_1).__anonymous_object32=___src__4sVad_1.__anonymous_object32) /* ?{} */);
     424    ((void)((*___dst__4sVad_1).__anonymous_object33=___src__4sVad_1.__anonymous_object33) /* ?{} */);
     425    {
     426        signed int _index1 = 0;
     427        for (;(_index1<10);((void)(++_index1))) {
     428            ((void)((*___dst__4sVad_1).__anonymous_object34[_index1]=___src__4sVad_1.__anonymous_object34[_index1]) /* ?{} */);
     429        }
     430
     431    }
     432
     433    ((void)((*___dst__4sVad_1).__anonymous_object35=___src__4sVad_1.__anonymous_object35) /* ?{} */);
    380434}
    381435static inline void ___destructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1){
     436    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ^?{} */);
     437    {
     438        signed int _index2 = (10-1);
     439        for (;(_index2>=0);((void)(--_index2))) {
     440            ((void)((*___dst__4sVad_1).__anonymous_object34[_index2]) /* ^?{} */);
     441        }
     442
     443    }
     444
     445    ((void)((*___dst__4sVad_1).__anonymous_object33) /* ^?{} */);
     446    ((void)((*___dst__4sVad_1).__anonymous_object32) /* ^?{} */);
    382447}
    383448static inline struct Vad ___operator_assign__F4sVad_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1){
    384449    struct Vad ___ret__4sVad_1;
     450    ((void)((*___dst__4sVad_1).__anonymous_object32=___src__4sVad_1.__anonymous_object32));
     451    ((void)((*___dst__4sVad_1).__anonymous_object33=___src__4sVad_1.__anonymous_object33));
     452    {
     453        signed int _index3 = 0;
     454        for (;(_index3<10);((void)(++_index3))) {
     455            ((void)((*___dst__4sVad_1).__anonymous_object34[_index3]=___src__4sVad_1.__anonymous_object34[_index3]));
     456        }
     457
     458    }
     459
     460    ((void)((*___dst__4sVad_1).__anonymous_object35=___src__4sVad_1.__anonymous_object35));
    385461    ((void)___constructor__F_4sVad4sVad_autogen___1((&___ret__4sVad_1), (*___dst__4sVad_1)));
    386462    return ___ret__4sVad_1;
    387463}
     464static inline void ___constructor__F_4sVadi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object46){
     465    ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object46) /* ?{} */);
     466    ((void)((*___dst__4sVad_1).__anonymous_object33) /* ?{} */);
     467    {
     468        signed int _index4 = 0;
     469        for (;(_index4<10);((void)(++_index4))) {
     470            ((void)((*___dst__4sVad_1).__anonymous_object34[_index4]) /* ?{} */);
     471        }
     472
     473    }
     474
     475    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */);
     476}
     477static inline void ___constructor__F_4sVadiPi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object47, __attribute__ ((unused,unused)) signed int *__anonymous_object48){
     478    ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object47) /* ?{} */);
     479    ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object48) /* ?{} */);
     480    {
     481        signed int _index5 = 0;
     482        for (;(_index5<10);((void)(++_index5))) {
     483            ((void)((*___dst__4sVad_1).__anonymous_object34[_index5]) /* ?{} */);
     484        }
     485
     486    }
     487
     488    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */);
     489}
     490static inline void ___constructor__F_4sVadiPiA0i_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object49, __attribute__ ((unused,unused)) signed int *__anonymous_object50, __attribute__ ((unused,unused)) signed int __anonymous_object51[((unsigned int )10)]){
     491    ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object49) /* ?{} */);
     492    ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object50) /* ?{} */);
     493    {
     494        signed int _index6 = 0;
     495        for (;(_index6<10);((void)(++_index6))) {
     496            ((void)((*___dst__4sVad_1).__anonymous_object34[_index6]=__anonymous_object51[_index6]) /* ?{} */);
     497        }
     498
     499    }
     500
     501    ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */);
     502}
     503static inline void ___constructor__F_4sVadiPiA0iFi___autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object52, __attribute__ ((unused,unused)) signed int *__anonymous_object53, __attribute__ ((unused,unused)) signed int __anonymous_object54[((unsigned int )10)], __attribute__ ((unused,unused)) signed int (*__anonymous_object55)()){
     504    ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object52) /* ?{} */);
     505    ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object53) /* ?{} */);
     506    {
     507        signed int _index7 = 0;
     508        for (;(_index7<10);((void)(++_index7))) {
     509            ((void)((*___dst__4sVad_1).__anonymous_object34[_index7]=__anonymous_object54[_index7]) /* ?{} */);
     510        }
     511
     512    }
     513
     514    ((void)((*___dst__4sVad_1).__anonymous_object35=__anonymous_object55) /* ?{} */);
     515}
  • src/tests/.expect/declarationErrors.txt

    r2514607d rcbdf565  
    1717
    1818
    19 declarationErrors.c:22:1 error: duplicate static in declaration of x6: static const volatile Int
     19declarationErrors.c:22:1 error: duplicate static in declaration of x6: static const volatile instance of type Int
    2020
    2121declarationErrors.c:24:1 error: duplicate const in declaration of f01: static inline function
  • src/tests/attributes.c

    r2514607d rcbdf565  
    1010// Created On       : Mon Feb  6 16:07:02 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul 19 13:50:51 2018
    13 // Update Count     : 15
     12// Last Modified On : Sun Jul  8 21:12:07 2018
     13// Update Count     : 8
    1414//
    1515
     
    4242    __attribute__(( unused )) int f5 __attribute__(( unused ));
    4343    __attribute__(( used )) int f6 __attribute__(( packed )), f7 __attribute__(( unused )) __attribute__(( unused )), __attribute__(( used )) f8 __attribute__(( unused ));
     44    int __attribute__(( unused ));
    4445    int ( ( * (f9) __attribute__(( unused )) ) __attribute__(( unused )) );
    4546};
     
    148149struct Vad {
    149150    int __attribute__(( unused ));
    150     int __attribute__(( unused )) :4;
    151     int __attribute__(( unused )) :4, __attribute__(( unused )) :6;
     151    int __attribute__(( unused )) * __attribute__(( unused ));
     152    int __attribute__(( unused )) [10] __attribute__(( unused ));
     153    int __attribute__(( unused )) (*)() __attribute__(( unused ));
    152154};
    153155
Note: See TracChangeset for help on using the changeset viewer.