Changes in / [ae267366:f883ef1]


Ignore:
Files:
7 deleted
22 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel/cluster.hfa

    rae267366 rf883ef1  
    146146}
    147147
    148 const static struct {
    149         unsigned readyq;
    150         unsigned io;
     148static struct {
     149        const unsigned readyq;
     150        const unsigned io;
    151151} __shard_factor = { 2, 1 };
    152152
  • libcfa/src/interpose.cfa

    rae267366 rf883ef1  
    1010// Created On       : Wed Mar 29 16:10:31 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Feb 24 15:31:03 2023
    13 // Update Count     : 185
     12// Last Modified On : Sun Feb 19 20:44:32 2023
     13// Update Count     : 184
    1414//
    1515
     
    101101                preload_libgcc();
    102102
    103                 #pragma GCC diagnostic push
    104                 #pragma GCC diagnostic ignored "-Wdiscarded-qualifiers"
     103#pragma GCC diagnostic push
     104#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers"
    105105                INTERPOSE_LIBC( abort, version );
    106106                INTERPOSE_LIBC( exit , version );
    107                 #pragma GCC diagnostic pop
     107#pragma GCC diagnostic pop
    108108
    109109                if(__cfathreadabi_interpose_startup) __cfathreadabi_interpose_startup( do_interpose_symbol );
  • libcfa/src/limits.cfa

    rae267366 rf883ef1  
    1010// Created On       : Wed Apr  6 18:06:52 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Feb 17 12:25:39 2023
    13 // Update Count     : 87
     12// Last Modified On : Sun Jan  8 18:53:17 2023
     13// Update Count     : 86
    1414//
    1515
     16// need _GNU_SOURCE to access long double M_*l in math.h
    1617#include <limits.h>
    1718#include <float.h>
  • src/AST/Fwd.hpp

    rae267366 rf883ef1  
    1515
    1616#pragma once
    17 
    18 template<typename> struct bitfield;
    1917
    2018#include "AST/Node.hpp"
     
    149147class TranslationGlobal;
    150148
    151 // For the following types, only use the using type.
    152 namespace CV {
    153         struct qualifier_flags;
    154         using Qualifiers = bitfield<qualifier_flags>;
    155149}
    156 namespace Function {
    157         struct spec_flags;
    158         using Specs = bitfield<spec_flags>;
    159 }
    160 namespace Storage {
    161         struct class_flags;
    162         using Classes = bitfield<class_flags>;
    163 }
    164 namespace Linkage {
    165         struct spec_flags;
    166         using Spec = bitfield<spec_flags>;
    167 }
    168 
    169 }
  • src/AST/Print.cpp

    rae267366 rf883ef1  
    2929namespace ast {
    3030
    31 namespace {
    32 
    33 template<typename C, typename... T>
    34 constexpr array<C, sizeof...(T)> make_array( T&&... values ) {
    35         return array<C, sizeof...(T)>{ std::forward<T>( values )... };
    36 }
    37 
    38 namespace Names {
    39         static constexpr auto FuncSpecifiers = make_array<const char*>(
    40                 "inline", "_Noreturn", "fortran"
    41         );
    42 
    43         static constexpr auto StorageClasses = make_array<const char*>(
    44                 "extern", "static", "auto", "register", "__thread", "_Thread_local"
    45         );
    46 
    47         static constexpr auto Qualifiers = make_array<const char*>(
    48                 "const", "restrict", "volatile", "mutex", "_Atomic"
    49         );
    50 }
    51 
    52 template<typename bits_t, size_t N>
    53 void print( ostream & os, const bits_t & bits,
    54                 const array<const char *, N> & names ) {
    55         if ( !bits.any() ) return;
    56         for ( size_t i = 0 ; i < N ; i += 1 ) {
    57                 if ( bits[i] ) {
    58                         os << names[i] << ' ';
    59                 }
    60         }
     31template <typename C, typename... T>
     32constexpr array<C,sizeof...(T)> make_array(T&&... values)
     33{
     34        return array<C,sizeof...(T)>{
     35                std::forward<T>(values)...
     36        };
    6137}
    6238
     
    10480        static const char* Names[];
    10581
     82        struct Names {
     83                static constexpr auto FuncSpecifiers = make_array<const char*>(
     84                        "inline", "_Noreturn", "fortran"
     85                );
     86
     87                static constexpr auto StorageClasses = make_array<const char*>(
     88                        "extern", "static", "auto", "register", "__thread", "_Thread_local"
     89                );
     90
     91                static constexpr auto Qualifiers = make_array<const char*>(
     92                        "const", "restrict", "volatile", "mutex", "_Atomic"
     93                );
     94        };
     95
     96        template<typename storage_t, size_t N>
     97        void print(const storage_t & storage, const array<const char *, N> & Names ) {
     98                if ( storage.any() ) {
     99                        for ( size_t i = 0; i < Names.size(); i += 1 ) {
     100                                if ( storage[i] ) {
     101                                        os << Names[i] << ' ';
     102                                }
     103                        }
     104                }
     105        }
     106
     107        void print( const ast::Function::Specs & specs ) {
     108                print(specs, Names::FuncSpecifiers);
     109        }
     110
     111        void print( const ast::Storage::Classes & storage ) {
     112                print(storage, Names::StorageClasses);
     113        }
     114
     115        void print( const ast::CV::Qualifiers & qualifiers ) {
     116                print(qualifiers, Names::Qualifiers);
     117        }
     118
    106119        void print( const std::vector<ast::Label> & labels ) {
    107120                if ( labels.empty() ) return;
     
    217230                }
    218231
    219                 ast::print( os, node->storage );
     232                print( node->storage );
    220233                os << node->typeString();
    221234
     
    259272
    260273        void preprint( const ast::Type * node ) {
    261                 ast::print( os, node->qualifiers );
     274                print( node->qualifiers );
    262275        }
    263276
     
    265278                print( node->forall );
    266279                print( node->assertions );
    267                 ast::print( os, node->qualifiers );
     280                print( node->qualifiers );
    268281        }
    269282
    270283        void preprint( const ast::BaseInstType * node ) {
    271284                print( node->attributes );
    272                 ast::print( os, node->qualifiers );
     285                print( node->qualifiers );
    273286        }
    274287
     
    281294                }
    282295
    283                 ast::print( os, node->storage );
     296                print( node->storage );
    284297
    285298                if ( node->type ) {
     
    325338                if ( ! short_mode ) printAll( node->attributes );
    326339
    327                 ast::print( os, node->storage );
    328                 ast::print( os, node->funcSpec );
     340                print( node->storage );
     341                print( node->funcSpec );
     342
     343
    329344
    330345                if ( node->type && node->isTypeFixed ) {
     
    16121627};
    16131628
    1614 } // namespace
    1615 
    16161629void print( ostream & os, const ast::Node * node, Indenter indent ) {
    16171630        Printer printer { os, indent, false };
     
    16241637}
    16251638
    1626 void print( ostream & os, Function::Specs specs ) {
    1627         print( os, specs, Names::FuncSpecifiers );
     1639// Annoyingly these needed to be defined out of line to avoid undefined references.
     1640// The size here needs to be explicit but at least the compiler will produce an error
     1641// if the wrong size is specified
     1642constexpr array<const char*, 3> Printer::Names::FuncSpecifiers;
     1643constexpr array<const char*, 6> Printer::Names::StorageClasses;
     1644constexpr array<const char*, 5> Printer::Names::Qualifiers;
    16281645}
    1629 
    1630 void print( ostream & os, Storage::Classes storage ) {
    1631         print( os, storage, Names::StorageClasses );
    1632 }
    1633 
    1634 void print( ostream & os, CV::Qualifiers qualifiers ) {
    1635         print( os, qualifiers, Names::Qualifiers );
    1636 }
    1637 
    1638 } // namespace ast
  • src/AST/Print.hpp

    rae267366 rf883ef1  
    1616#pragma once
    1717
    18 #include <iosfwd>
     18#include <iostream>
     19#include <utility>   // for forward
    1920
    20 #include "AST/Fwd.hpp"
     21#include "AST/Node.hpp"
    2122#include "Common/Indenter.h"
    2223
    2324namespace ast {
     25
     26class Decl;
    2427
    2528/// Print a node with the given indenter
     
    4144}
    4245
    43 /// Print each cv-qualifier used in the set, followed by a space.
    44 void print( std::ostream & os, CV::Qualifiers );
    45 /// Print each function specifier used in the set, followed by a space.
    46 void print( std::ostream & os, Function::Specs );
    47 /// Print each storage class used in the set, followed by a space.
    48 void print( std::ostream & os, Storage::Classes );
    49 
    5046}
  • src/Parser/DeclarationNode.cc

    rae267366 rf883ef1  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Feb 24 11:10:03 2023
    13 // Update Count     : 1400
     12// Last Modified On : Thu Feb 16 14:12:03 2023
     13// Update Count     : 1388
    1414//
    1515
     
    6161        variable.initializer = nullptr;
    6262
     63//      attr.name = nullptr;
     64        attr.expr = nullptr;
     65        attr.type = nullptr;
     66
    6367        assert.condition = nullptr;
    6468        assert.message = nullptr;
     
    6670
    6771DeclarationNode::~DeclarationNode() {
     72//      delete attr.name;
     73        delete attr.expr;
     74        delete attr.type;
     75
    6876//      delete variable.name;
    6977        delete variable.assertions;
     
    107115        newnode->variable.initializer = maybeClone( variable.initializer );
    108116
     117//      newnode->attr.name = attr.name ? new string( *attr.name ) : nullptr;
     118        newnode->attr.expr = maybeClone( attr.expr );
     119        newnode->attr.type = maybeClone( attr.type );
     120
    109121        newnode->assert.condition = maybeClone( assert.condition );
    110122        newnode->assert.message = maybeClone( assert.message );
     
    254266        newnode->type->enumeration.typed = typed;
    255267        newnode->type->enumeration.hiding = hiding;
    256         if ( base && base->type )  {
     268        if ( base && base->type)  {
    257269                newnode->type->base = base->type;
    258270        } // if
     
    567579
    568580        checkQualifiers( type, q->type );
    569         if ( (builtin == Zero || builtin == One) && q->type->qualifiers.any() && error.length() == 0 ) {
     581        if ( (builtin == Zero || builtin == One) && q->type->qualifiers.val != 0 && error.length() == 0 ) {
    570582                SemanticWarning( yylloc, Warning::BadQualifiersZeroOne, Type::QualifiersNames[ilog2( q->type->qualifiers.val )], builtinTypeNames[builtin] );
    571583        } // if
     
    984996
    985997                        if ( DeclarationNode * extr = cur->extractAggregate() ) {
    986                                 // Handle the case where a SUE declaration is contained within an object or type declaration.
    987 
    988                                 assert( cur->type );
    989                                 // Replace anonymous SUE name with typedef name to prevent anonymous naming problems across translation units.
    990                                 if ( cur->type->kind == TypeData::Symbolic && cur->type->symbolic.isTypedef ) {
    991                                         assert( extr->type );
    992                                         // Handle anonymous aggregates: typedef struct { int i; } foo
    993                                         extr->type->qualifiers.reset();         // clear any CVs associated with the aggregate
    994                                         if ( extr->type->kind == TypeData::Aggregate && extr->type->aggregate.anon ) {
    995                                                 delete extr->type->aggregate.name;
    996                                                 extr->type->aggregate.name = new string( "__anonymous_" + *cur->name );
    997                                                 extr->type->aggregate.anon = false;
    998                                                 assert( cur->type->base );
    999                                                 if ( cur->type->base ) {
    1000                                                         delete cur->type->base->aggInst.aggregate->aggregate.name;
    1001                                                         cur->type->base->aggInst.aggregate->aggregate.name = new string( "__anonymous_" + *cur->name );
    1002                                                         cur->type->base->aggInst.aggregate->aggregate.anon = false;
    1003                                                         cur->type->base->aggInst.aggregate->qualifiers.reset();
    1004                                                 } // if
    1005                                         } // if
    1006                                         // Handle anonymous enumeration: typedef enum { A, B, C } foo
    1007                                         if ( extr->type->kind == TypeData::Enum && extr->type->enumeration.anon ) {
    1008                                                 delete extr->type->enumeration.name;
    1009                                                 extr->type->enumeration.name = new string( "__anonymous_" + *cur->name );
    1010                                                 extr->type->enumeration.anon = false;
    1011                                                 assert( cur->type->base );
    1012                                                 if ( cur->type->base ) {
    1013                                                         delete cur->type->base->aggInst.aggregate->enumeration.name;
    1014                                                         cur->type->base->aggInst.aggregate->enumeration.name = new string( "__anonymous_" + *cur->name );
    1015                                                         cur->type->base->aggInst.aggregate->enumeration.anon = false;
    1016                                                 } // if
    1017                                         } // if
    1018                                 } // if
     998                                // handle the case where a structure declaration is contained within an object or type declaration
    1019999
    10201000                                Declaration * decl = extr->build();
     
    12331213        assert( type );
    12341214
     1215        if ( attr.expr ) {
     1216                return new AttrType( buildQualifiers( type ), *name, attr.expr->build(), attributes );
     1217        } else if ( attr.type ) {
     1218                return new AttrType( buildQualifiers( type ), *name, attr.type->buildType(), attributes );
     1219        } // if
     1220
    12351221        switch ( type->kind ) {
    12361222          case TypeData::Enum:
  • src/Parser/ParseNode.h

    rae267366 rf883ef1  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Feb 19 09:02:37 2023
    13 // Update Count     : 940
     12// Last Modified On : Wed Nov  2 21:27:07 2022
     13// Update Count     : 939
    1414//
    1515
     
    325325        Variable_t variable;
    326326
     327        struct Attr_t {
     328//              const std::string * name;
     329                ExpressionNode * expr;
     330                DeclarationNode * type;
     331        };
     332        Attr_t attr;
     333
    327334        struct StaticAssert_t {
    328335                ExpressionNode * condition;
     
    336343
    337344        bool inLine = false;
    338         bool enumInLine = false;
     345        bool enumInLine = false; 
    339346        Type::FuncSpecifiers funcSpecs;
    340347        Type::StorageClasses storageClasses;
  • src/Parser/TypeData.cc

    rae267366 rf883ef1  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Feb 19 11:00:46 2023
    13 // Update Count     : 679
     12// Last Modified On : Tue May 10 22:36:52 2022
     13// Update Count     : 677
    1414//
    1515
     
    375375                break;
    376376          case Enum:
    377                 os << "enumeration " << *enumeration.name << endl;;
     377                os << "enumeration ";
    378378                if ( enumeration.constants ) {
    379379                        os << "with constants" << endl;
  • src/Parser/TypeData.h

    rae267366 rf883ef1  
    1010// Created On       : Sat May 16 15:18:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Feb 24 14:25:02 2023
    13 // Update Count     : 205
     12// Last Modified On : Tue May 10 22:18:49 2022
     13// Update Count     : 203
    1414//
    1515
     
    3737                bool body;
    3838                bool anon;
     39
    3940                bool tagged;
    4041                const std::string * parent = nullptr;
    4142        };
    4243
    43         struct AggInst_t {                                                                      // handles SUE
     44        struct AggInst_t {
    4445                TypeData * aggregate = nullptr;
    4546                ExpressionNode * params = nullptr;
  • src/Parser/parser.yy

    rae267366 rf883ef1  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Feb 24 14:46:55 2023
    13 // Update Count     : 5983
     12// Last Modified On : Tue Feb 14 21:11:39 2023
     13// Update Count     : 5893
    1414//
    1515
     
    19411941                        // if type_specifier is an anon aggregate => name
    19421942                        typedefTable.addToEnclosingScope( *$3->name, TYPEDEFname, "4" );
    1943                         $$ = $3->addType( $2 )->addTypedef();           // watchout frees $2 and $3
     1943                        $$ = $3->addType( $2 )->addTypedef();
    19441944                }
    19451945        | typedef_declaration pop ',' push declarator
     
    19831983        | typedef_expression                                                            // deprecated GCC, naming expression type
    19841984        | sue_declaration_specifier
    1985                 {
    1986                         assert( $1->type );
    1987                         if ( $1->type->qualifiers.any() ) {                     // CV qualifiers ?
    1988                                 SemanticError( yylloc, "Useless type qualifier(s) in empty declaration." ); $$ = nullptr;
    1989                         }
    1990                         // enums are never empty declarations because there must have at least one enumeration.
    1991                         if ( $1->type->kind == TypeData::AggregateInst && $1->storageClasses.any() ) { // storage class ?
    1992                                 SemanticError( yylloc, "Useless storage qualifier(s) in empty aggregate declaration." ); $$ = nullptr;
    1993                         }
    1994                 }
    19951985        ;
    19961986
     
    20102000        | sue_declaration_specifier invalid_types
    20112001                {
    2012                         SemanticError( yylloc, ::toString( "Missing ';' after end of ",
    2013                                 $1->type->enumeration.name ? "enum" : AggregateDecl::aggrString( $1->type->aggregate.kind ),
    2014                                 " declaration" ) );
     2002                        SemanticError( yylloc,
     2003                                                  ::toString( "Missing ';' after end of ",
     2004                                                                          $1->type->enumeration.name ? "enum" : AggregateDecl::aggrString( $1->type->aggregate.kind ),
     2005                                                                          " declaration" ) );
    20152006                        $$ = nullptr;
    20162007                }
     
    25912582        | ENUM '(' cfa_abstract_parameter_declaration ')' attribute_list_opt '{' enumerator_list comma_opt '}'
    25922583                {
    2593                         if ( $3->storageClasses.val != 0 || $3->type->qualifiers.any() )
     2584                        if ( $3->storageClasses.val != 0 || $3->type->qualifiers.val != 0 )
    25942585                        { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for enumeration constants, which are const." ); }
    25952586
     
    26022593        | ENUM '(' cfa_abstract_parameter_declaration ')' attribute_list_opt identifier attribute_list_opt
    26032594                {
    2604                         if ( $3->storageClasses.any() || $3->type->qualifiers.val != 0 ) { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for enumeration constants, which are const." ); }
     2595                        if ( $3->storageClasses.val != 0 || $3->type->qualifiers.val != 0 ) { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for enumeration constants, which are const." ); }
    26052596                        typedefTable.makeTypedef( *$6 );
    26062597                }
     
    30613052                { $$ = DeclarationNode::newDirectiveStmt( new StatementNode( build_directive( $1 ) ) ); }
    30623053        | declaration
    3063                 {
    3064                         // Variable declarations of anonymous types requires creating a unique type-name across multiple translation
    3065                         // unit, which is a dubious task, especially because C uses name rather than structural typing; hence it is
    3066                         // disallowed at the moment.
    3067                         if ( $1->linkage == LinkageSpec::Cforall && ! $1->storageClasses.is_static && $1->type && $1->type->kind == TypeData::AggregateInst ) {
    3068                                 if ( $1->type->aggInst.aggregate->kind == TypeData::Enum && $1->type->aggInst.aggregate->enumeration.anon ) {
    3069                                         SemanticError( yylloc, "extern anonymous enumeration is currently unimplemented." ); $$ = nullptr;
    3070                                 } else if ( $1->type->aggInst.aggregate->aggregate.anon ) { // handles struct or union
    3071                                         SemanticError( yylloc, "extern anonymous struct/union is currently unimplemented." ); $$ = nullptr;
    3072                                 }
    3073                         }
    3074                 }
    30753054        | IDENTIFIER IDENTIFIER
    30763055                { IdentifierBeforeIdentifier( *$1.str, *$2.str, " declaration" ); $$ = nullptr; }
     
    31183097        | type_qualifier_list
    31193098                {
    3120                         if ( $1->type->qualifiers.any() ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
     3099                        if ( $1->type->qualifiers.val ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
    31213100                        if ( $1->type->forall ) forall = true;          // remember generic type
    31223101                }
     
    31293108        | declaration_qualifier_list
    31303109                {
    3131                         if ( $1->type && $1->type->qualifiers.any() ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
     3110                        if ( $1->type && $1->type->qualifiers.val ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
    31323111                        if ( $1->type && $1->type->forall ) forall = true; // remember generic type
    31333112                }
     
    31403119        | declaration_qualifier_list type_qualifier_list
    31413120                {
    3142                         if ( ($1->type && $1->type->qualifiers.any()) || ($2->type && $2->type->qualifiers.any()) ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
     3121                        if ( ($1->type && $1->type->qualifiers.val) || ($2->type && $2->type->qualifiers.val) ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
    31433122                        if ( ($1->type && $1->type->forall) || ($2->type && $2->type->forall) ) forall = true; // remember generic type
    31443123                }
  • src/SynTree/Type.h

    rae267366 rf883ef1  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Feb 19 22:37:10 2023
    13 // Update Count     : 176
     12// Last Modified On : Mon Feb 13 17:13:52 2023
     13// Update Count     : 173
    1414//
    1515
     
    125125                bool operator!=( Qualifiers other ) const { return (val & Mask) != (other.val & Mask); }
    126126                bool operator<=( Qualifiers other ) const {
    127                         return is_const    <= other.is_const        // Any non-const converts to const without cost
    128                                 && is_volatile <= other.is_volatile             // Any non-volatile converts to volatile without cost
    129                                 && is_mutex    >= other.is_mutex                // Any mutex converts to non-mutex without cost
    130                                 && is_atomic   == other.is_atomic;              // No conversion from atomic to non atomic is free
     127                        return is_const    <= other.is_const        //Any non-const converts to const without cost
     128                                        && is_volatile <= other.is_volatile     //Any non-volatile converts to volatile without cost
     129                                        && is_mutex    >= other.is_mutex        //Any mutex converts to non-mutex without cost
     130                                        && is_atomic   == other.is_atomic;      //No conversion from atomic to non atomic is free
    131131                }
    132132                bool operator<( Qualifiers other ) const { return *this != other && *this <= other; }
     
    632632class TypeofType : public Type {
    633633  public:
    634         Expression * expr;              ///< expression to take the type of
    635         bool is_basetypeof;             ///< true iff is basetypeof type
     634        Expression * expr;    ///< expression to take the type of
     635        bool is_basetypeof;  ///< true iff is basetypeof type
    636636
    637637        TypeofType( const Type::Qualifiers & tq, Expression * expr, const std::list< Attribute * > & attributes = std::list< Attribute * >() );
  • tests/.expect/attributes.x64.txt

    rae267366 rf883ef1  
    2626    return _X4_retS12__anonymous0_1;
    2727}
    28 __attribute__ ((unused)) static struct __anonymous0 _X5DummyS12__anonymous0_1;
     28__attribute__ ((unused)) struct __anonymous0 _X5DummyS12__anonymous0_1;
    2929struct __attribute__ ((unused)) Agn1;
    3030struct __attribute__ ((unused)) Agn2 {
  • tests/.expect/declarationSpecifier.x64.txt

    rae267366 rf883ef1  
    5151
    5252}
    53 static volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1;
     53volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1;
    5454struct __anonymous1 {
    5555    signed int _X1ii_1;
     
    9696
    9797}
    98 static volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1;
     98volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1;
    9999struct __anonymous2 {
    100100    signed int _X1ii_1;
     
    141141
    142142}
    143 static volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1;
     143volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1;
    144144struct __anonymous3 {
    145145    signed int _X1ii_1;
     
    322322}
    323323static volatile const struct __anonymous6 _X3x16KVS12__anonymous6_1;
     324struct __anonymous7 {
     325    signed int _X1ii_1;
     326};
     327static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);
     328static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);
     329static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);
     330static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);
     331static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1);
     332static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){
     333    {
     334        ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ?{} */);
     335    }
     336
     337}
     338static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){
     339    {
     340        ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1) /* ?{} */);
     341    }
     342
     343}
     344static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){
     345    {
     346        ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ^?{} */);
     347    }
     348
     349}
     350static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){
     351    struct __anonymous7 _X4_retS12__anonymous7_1;
     352    {
     353        ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1));
     354    }
     355
     356    {
     357        ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1)));
     358    }
     359
     360    return _X4_retS12__anonymous7_1;
     361}
     362static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1){
     363    {
     364        ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X1ii_1) /* ?{} */);
     365    }
     366
     367}
     368static volatile const struct __anonymous7 _X3x17KVS12__anonymous7_1;
    324369volatile const signed short int _X3x20KVs_1;
    325370static volatile const signed short int _X3x21KVs_1;
     
    330375static volatile const signed short int _X3x26KVs_1;
    331376static volatile const signed short int _X3x27KVs_1;
    332 struct __anonymous7 {
    333     signed short int _X1is_1;
    334 };
    335 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);
    336 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);
    337 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);
    338 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);
    339 static inline void _X12_constructorFv_S12__anonymous7s_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed short int _X1is_1);
    340 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){
    341     {
    342         ((void)((*_X4_dstS12__anonymous7_1)._X1is_1) /* ?{} */);
    343     }
    344 
    345 }
    346 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){
    347     {
    348         ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X4_srcS12__anonymous7_1._X1is_1) /* ?{} */);
    349     }
    350 
    351 }
    352 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){
    353     {
    354         ((void)((*_X4_dstS12__anonymous7_1)._X1is_1) /* ^?{} */);
    355     }
    356 
    357 }
    358 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){
    359     struct __anonymous7 _X4_retS12__anonymous7_1;
    360     {
    361         ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X4_srcS12__anonymous7_1._X1is_1));
    362     }
    363 
    364     {
    365         ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1)));
    366     }
    367 
    368     return _X4_retS12__anonymous7_1;
    369 }
    370 static inline void _X12_constructorFv_S12__anonymous7s_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed short int _X1is_1){
    371     {
    372         ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X1is_1) /* ?{} */);
    373     }
    374 
    375 }
    376 static volatile const struct __anonymous7 _X3x29KVS12__anonymous7_1;
    377377struct __anonymous8 {
    378378    signed short int _X1is_1;
     
    419419
    420420}
    421 static volatile const struct __anonymous8 _X3x30KVS12__anonymous8_1;
     421volatile const struct __anonymous8 _X3x29KVS12__anonymous8_1;
    422422struct __anonymous9 {
    423423    signed short int _X1is_1;
     
    464464
    465465}
    466 static volatile const struct __anonymous9 _X3x31KVS12__anonymous9_1;
     466volatile const struct __anonymous9 _X3x30KVS12__anonymous9_1;
    467467struct __anonymous10 {
    468468    signed short int _X1is_1;
     
    509509
    510510}
    511 static volatile const struct __anonymous10 _X3x32KVS13__anonymous10_1;
     511volatile const struct __anonymous10 _X3x31KVS13__anonymous10_1;
    512512struct __anonymous11 {
    513513    signed short int _X1is_1;
     
    554554
    555555}
    556 static volatile const struct __anonymous11 _X3x33KVS13__anonymous11_1;
     556static volatile const struct __anonymous11 _X3x32KVS13__anonymous11_1;
    557557struct __anonymous12 {
    558558    signed short int _X1is_1;
     
    599599
    600600}
    601 static volatile const struct __anonymous12 _X3x34KVS13__anonymous12_1;
     601static volatile const struct __anonymous12 _X3x33KVS13__anonymous12_1;
    602602struct __anonymous13 {
    603603    signed short int _X1is_1;
     
    644644
    645645}
    646 static volatile const struct __anonymous13 _X3x35KVS13__anonymous13_1;
     646static volatile const struct __anonymous13 _X3x34KVS13__anonymous13_1;
     647struct __anonymous14 {
     648    signed short int _X1is_1;
     649};
     650static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1);
     651static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1);
     652static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1);
     653static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1);
     654static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1);
     655static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){
     656    {
     657        ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ?{} */);
     658    }
     659
     660}
     661static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){
     662    {
     663        ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1) /* ?{} */);
     664    }
     665
     666}
     667static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){
     668    {
     669        ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ^?{} */);
     670    }
     671
     672}
     673static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){
     674    struct __anonymous14 _X4_retS13__anonymous14_1;
     675    {
     676        ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1));
     677    }
     678
     679    {
     680        ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1)));
     681    }
     682
     683    return _X4_retS13__anonymous14_1;
     684}
     685static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1){
     686    {
     687        ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X1is_1) /* ?{} */);
     688    }
     689
     690}
     691static volatile const struct __anonymous14 _X3x35KVS13__anonymous14_1;
     692struct __anonymous15 {
     693    signed short int _X1is_1;
     694};
     695static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1);
     696static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1);
     697static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1);
     698static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1);
     699static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1);
     700static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){
     701    {
     702        ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ?{} */);
     703    }
     704
     705}
     706static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){
     707    {
     708        ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1) /* ?{} */);
     709    }
     710
     711}
     712static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){
     713    {
     714        ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ^?{} */);
     715    }
     716
     717}
     718static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){
     719    struct __anonymous15 _X4_retS13__anonymous15_1;
     720    {
     721        ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1));
     722    }
     723
     724    {
     725        ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1)));
     726    }
     727
     728    return _X4_retS13__anonymous15_1;
     729}
     730static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1){
     731    {
     732        ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X1is_1) /* ?{} */);
     733    }
     734
     735}
     736static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1;
    647737_Thread_local signed int _X3x37i_1;
    648738__thread signed int _X3x38i_1;
     
    663753static inline volatile const signed short int _X3f27Fs___1();
    664754static inline volatile const signed short int _X3f28Fs___1();
    665 struct __anonymous14 {
    666     signed int _X1ii_1;
    667 };
    668 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1);
    669 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1);
    670 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1);
    671 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1);
    672 static inline void _X12_constructorFv_S13__anonymous14i_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed int _X1ii_1);
    673 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){
    674     {
    675         ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1) /* ?{} */);
    676     }
    677 
    678 }
    679 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){
    680     {
    681         ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X4_srcS13__anonymous14_1._X1ii_1) /* ?{} */);
    682     }
    683 
    684 }
    685 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){
    686     {
    687         ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1) /* ^?{} */);
    688     }
    689 
    690 }
    691 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){
    692     struct __anonymous14 _X4_retS13__anonymous14_1;
    693     {
    694         ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X4_srcS13__anonymous14_1._X1ii_1));
    695     }
    696 
    697     {
    698         ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1)));
    699     }
    700 
    701     return _X4_retS13__anonymous14_1;
    702 }
    703 static inline void _X12_constructorFv_S13__anonymous14i_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed int _X1ii_1){
    704     {
    705         ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X1ii_1) /* ?{} */);
    706     }
    707 
    708 }
    709 static inline volatile const struct __anonymous14 _X3f31FS13__anonymous14___1();
    710 struct __anonymous15 {
    711     signed int _X1ii_1;
    712 };
    713 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1);
    714 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1);
    715 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1);
    716 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1);
    717 static inline void _X12_constructorFv_S13__anonymous15i_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed int _X1ii_1);
    718 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){
    719     {
    720         ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1) /* ?{} */);
    721     }
    722 
    723 }
    724 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){
    725     {
    726         ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X4_srcS13__anonymous15_1._X1ii_1) /* ?{} */);
    727     }
    728 
    729 }
    730 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){
    731     {
    732         ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1) /* ^?{} */);
    733     }
    734 
    735 }
    736 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){
    737     struct __anonymous15 _X4_retS13__anonymous15_1;
    738     {
    739         ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X4_srcS13__anonymous15_1._X1ii_1));
    740     }
    741 
    742     {
    743         ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1)));
    744     }
    745 
    746     return _X4_retS13__anonymous15_1;
    747 }
    748 static inline void _X12_constructorFv_S13__anonymous15i_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed int _X1ii_1){
    749     {
    750         ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X1ii_1) /* ?{} */);
    751     }
    752 
    753 }
    754 static inline volatile const struct __anonymous15 _X3f32FS13__anonymous15___1();
    755755struct __anonymous16 {
    756756    signed int _X1ii_1;
     
    797797
    798798}
    799 static inline volatile const struct __anonymous16 _X3f33FS13__anonymous16___1();
     799static inline volatile const struct __anonymous16 _X3f31FS13__anonymous16___1();
    800800struct __anonymous17 {
    801801    signed int _X1ii_1;
     
    842842
    843843}
    844 static inline volatile const struct __anonymous17 _X3f34FS13__anonymous17___1();
     844static inline volatile const struct __anonymous17 _X3f32FS13__anonymous17___1();
    845845struct __anonymous18 {
    846846    signed int _X1ii_1;
     
    887887
    888888}
    889 static inline volatile const struct __anonymous18 _X3f35FS13__anonymous18___1();
     889static inline volatile const struct __anonymous18 _X3f33FS13__anonymous18___1();
    890890struct __anonymous19 {
    891891    signed int _X1ii_1;
     
    932932
    933933}
    934 static inline volatile const struct __anonymous19 _X3f36FS13__anonymous19___1();
     934static inline volatile const struct __anonymous19 _X3f34FS13__anonymous19___1();
    935935struct __anonymous20 {
    936936    signed int _X1ii_1;
     
    977977
    978978}
    979 static inline volatile const struct __anonymous20 _X3f37FS13__anonymous20___1();
     979static inline volatile const struct __anonymous20 _X3f35FS13__anonymous20___1();
    980980struct __anonymous21 {
    981981    signed int _X1ii_1;
     
    10221022
    10231023}
    1024 static inline volatile const struct __anonymous21 _X3f38FS13__anonymous21___1();
     1024static inline volatile const struct __anonymous21 _X3f36FS13__anonymous21___1();
     1025struct __anonymous22 {
     1026    signed int _X1ii_1;
     1027};
     1028static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1);
     1029static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1);
     1030static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1);
     1031static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1);
     1032static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1);
     1033static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){
     1034    {
     1035        ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */);
     1036    }
     1037
     1038}
     1039static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){
     1040    {
     1041        ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */);
     1042    }
     1043
     1044}
     1045static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){
     1046    {
     1047        ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */);
     1048    }
     1049
     1050}
     1051static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){
     1052    struct __anonymous22 _X4_retS13__anonymous22_1;
     1053    {
     1054        ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1));
     1055    }
     1056
     1057    {
     1058        ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1)));
     1059    }
     1060
     1061    return _X4_retS13__anonymous22_1;
     1062}
     1063static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1){
     1064    {
     1065        ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */);
     1066    }
     1067
     1068}
     1069static inline volatile const struct __anonymous22 _X3f37FS13__anonymous22___1();
     1070struct __anonymous23 {
     1071    signed int _X1ii_1;
     1072};
     1073static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1);
     1074static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1);
     1075static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1);
     1076static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1);
     1077static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1);
     1078static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){
     1079    {
     1080        ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */);
     1081    }
     1082
     1083}
     1084static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){
     1085    {
     1086        ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */);
     1087    }
     1088
     1089}
     1090static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){
     1091    {
     1092        ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */);
     1093    }
     1094
     1095}
     1096static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){
     1097    struct __anonymous23 _X4_retS13__anonymous23_1;
     1098    {
     1099        ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1));
     1100    }
     1101
     1102    {
     1103        ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1)));
     1104    }
     1105
     1106    return _X4_retS13__anonymous23_1;
     1107}
     1108static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1){
     1109    {
     1110        ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */);
     1111    }
     1112
     1113}
     1114static inline volatile const struct __anonymous23 _X3f38FS13__anonymous23___1();
    10251115static inline volatile const signed short int _X3f41Fs___1();
    10261116static inline volatile const signed short int _X3f42Fs___1();
  • tests/attributes.cfa

    rae267366 rf883ef1  
    1010// Created On       : Mon Feb  6 16:07:02 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb 23 20:33:07 2023
    13 // Update Count     : 39
     12// Last Modified On : Mon Mar 15 13:53:31 2021
     13// Update Count     : 38
    1414//
    1515
     
    2222
    2323// aggregate_name
    24 static struct __attribute__(( unused )) {} Dummy;
     24struct __attribute__(( unused )) {} Dummy;
    2525struct __attribute__(( unused )) Agn1;
    2626struct __attribute__(( unused )) Agn2 {};
  • tests/concurrent/signal/disjoint.cfa

    rae267366 rf883ef1  
    3838
    3939// Use a global struct because the order needs to match with Signaller thread
    40 static struct {
     40struct {
    4141        global_t mut;
    4242        global_data_t data;
  • tests/declarationSpecifier.cfa

    rae267366 rf883ef1  
    1010// Created On       : Wed Aug 17 08:21:04 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb 23 20:53:31 2023
    13 // Update Count     : 8
     12// Last Modified On : Tue Apr 30 18:20:36 2019
     13// Update Count     : 4
    1414//
    1515
     
    2525short int volatile static const x8;
    2626
    27 static const volatile struct { int i; } x10;
    28 static const struct { int i; } volatile x11;
    29 static struct { int i; } const volatile x12;
    30 const static struct { int i; } volatile x13;
    31 struct { int i; } static const volatile x14;
    32 struct { int i; } const static volatile x15;
    33 struct { int i; } const volatile static x16;
     27const volatile struct { int i; } x10;
     28const struct { int i; } volatile x11;
     29struct { int i; } const volatile x12;
     30static const volatile struct { int i; } x13;
     31const static struct { int i; } volatile x14;
     32struct { int i; } static const volatile x15;
     33struct { int i; } const static volatile x16;
     34struct { int i; } const volatile static x17;
    3435
    3536const Int volatile x20;
     
    4243Int volatile static const x27;
    4344
    44 static const volatile struct { Int i; } x29;
    45 static const struct { Int i; } volatile x30;
    46 static struct { Int i; } const volatile x31;
    47 const static struct { Int i; } volatile x32;
    48 struct { Int i; } static const volatile x33;
    49 struct { Int i; } const static volatile x34;
    50 struct { Int i; } const volatile static x35;
     45const volatile struct { Int i; } x29;
     46const struct { Int i; } volatile x30;
     47struct { Int i; } const volatile x31;
     48static const volatile struct { Int i; } x32;
     49const static struct { Int i; } volatile x33;
     50struct { Int i; } static const volatile x34;
     51struct { Int i; } const static volatile x35;
     52struct { Int i; } const volatile static x36;
    5153
    5254_Thread_local int x37;
  • tests/forall.cfa

    rae267366 rf883ef1  
    1010// Created On       : Wed May  9 08:48:15 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb 23 20:29:59 2023
    13 // Update Count     : 91
     12// Last Modified On : Sun Feb  5 07:54:43 2023
     13// Update Count     : 90
    1414//
    1515
     
    195195
    196196forall( T ) struct S { T t; } (int) x, y, z;
    197 static forall( T ) struct { T t; } (int) a, b, c;
     197forall( T ) struct { T t; } (int) a, b, c;
    198198
    199199forall( T ) static forall( S ) {
  • tests/include/includes.cfa

    rae267366 rf883ef1  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Feb 22 10:16:58 2023
    13 // Update Count     : 811
     12// Last Modified On : Sun May 22 08:27:20 2022
     13// Update Count     : 779
    1414//
    1515
     
    7272#include <gshadow.h>
    7373#include <iconv.h>
    74 //#include <ifaddrs.h>                                                                  // causes warning messages that break the build
     74#include <ifaddrs.h>
    7575#include <inttypes.h>
    7676#include <langinfo.h>
     
    9797#include <ncurses_dll.h>                                                                // may not be installed, comes with ncurses
    9898#endif
    99 //#include <netdb.h>
     99#include <netdb.h>
    100100#include <nl_types.h>
    101101#include <nss.h>
     
    111111#include <pwd.h>
    112112#include <regex.h>
    113 //#include <resolv.h>
     113#include <resolv.h>
    114114#include <re_comp.h>
    115115#include <sched.h>
     
    170170#endif // __CFA__
    171171
    172 int main() {
     172int main( int argc, char const * argv[] ) {
    173173    #pragma GCC warning "Compiled"                                                      // force non-empty .expect file, NO TABS!!!
    174174}
  • tests/io/comp_basic.cfa

    rae267366 rf883ef1  
    2626#include <unistd.h>
    2727
    28 static struct {
     28struct {
    2929        barrier & bar;
    3030        int pipe[2];
     31
    3132} globals;
    3233
  • tests/io/comp_fair.cfa

    rae267366 rf883ef1  
    2626#include <unistd.h>
    2727
    28 static struct {
     28struct {
    2929        barrier & bar;
    3030        int pipe[2];
  • tests/quotedKeyword.cfa

    rae267366 rf883ef1  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb 23 20:31:05 2023
    13 // Update Count     : 26
     12// Last Modified On : Fri Feb  7 19:07:07 2020
     13// Update Count     : 25
    1414//
    1515
    1616#include <fstream.hfa>
    1717
    18 static struct {
     18struct {
    1919        int ``otype;
    2020        int ``struct;
Note: See TracChangeset for help on using the changeset viewer.