Changes in / [933f32f:292642a]
- Files:
-
- 2 deleted
- 40 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/prelude/Makefile.am
r933f32f r292642a 55 55 # create forward declarations for cfa builtins 56 56 builtins.cf : builtins.c ${CC} 57 ${AM_V_GEN}gcc ${AM_CFLAGS} -E -P ${<} -o ${@} -MD -MP -MF $(DEPDIR)/builtins.Po -D__cforall57 ${AM_V_GEN}gcc ${AM_CFLAGS} -E -P ${<} -o ${@} -MD -MP -MF $(DEPDIR)/builtins.Po 58 58 ${AM_V_at}sed -i 's/builtins.o/builtins.cf/g' $(DEPDIR)/builtins.Po 59 59 -
libcfa/prelude/Makefile.in
r933f32f r292642a 556 556 # create forward declarations for cfa builtins 557 557 builtins.cf : builtins.c ${CC} 558 ${AM_V_GEN}gcc ${AM_CFLAGS} -E -P ${<} -o ${@} -MD -MP -MF $(DEPDIR)/builtins.Po -D__cforall558 ${AM_V_GEN}gcc ${AM_CFLAGS} -E -P ${<} -o ${@} -MD -MP -MF $(DEPDIR)/builtins.Po 559 559 ${AM_V_at}sed -i 's/builtins.o/builtins.cf/g' $(DEPDIR)/builtins.Po 560 560 -
libcfa/prelude/builtins.c
r933f32f r292642a 13 13 // Update Count : 95 14 14 // 15 16 // type that wraps a pointer and a destructor-like function - used in generating implicit destructor calls for struct members in user-defined functions17 // Note: needs to occur early, because it is used to generate destructor calls during code generation18 forall(dtype T)19 struct __Destructor {20 T * object;21 void (*dtor)(T *);22 };23 24 // defined destructor in the case that non-generated code wants to use __Destructor25 forall(dtype T)26 static inline void ^?{}(__Destructor(T) & x) {27 if (x.object && x.dtor) {28 x.dtor(x.object);29 }30 }31 32 // easy interface into __Destructor's destructor for easy codegen purposes33 extern "C" {34 forall(dtype T)35 static inline void __destroy_Destructor(__Destructor(T) * dtor) {36 ^(*dtor){};37 }38 }39 15 40 16 // exception implementation -
src/Common/PassVisitor.impl.h
r933f32f r292642a 1806 1806 VISIT_START( node ); 1807 1807 1808 indexerScopedAccept( node->result , *this ); 1809 maybeAccept_impl ( node->callExpr , *this ); 1808 indexerScopedAccept( node->result , *this ); 1809 maybeAccept_impl ( node->callExpr , *this ); 1810 maybeAccept_impl ( node->tempDecls , *this ); 1811 maybeAccept_impl ( node->returnDecls, *this ); 1812 maybeAccept_impl ( node->dtors , *this ); 1810 1813 1811 1814 VISIT_END( node ); … … 1816 1819 MUTATE_START( node ); 1817 1820 1818 indexerScopedMutate( node->env , *this ); 1819 indexerScopedMutate( node->result , *this ); 1820 maybeMutate_impl ( node->callExpr , *this ); 1821 indexerScopedMutate( node->env , *this ); 1822 indexerScopedMutate( node->result , *this ); 1823 maybeMutate_impl ( node->callExpr , *this ); 1824 maybeMutate_impl ( node->tempDecls , *this ); 1825 maybeMutate_impl ( node->returnDecls, *this ); 1826 maybeMutate_impl ( node->dtors , *this ); 1821 1827 1822 1828 MUTATE_END( Expression, node ); -
src/ControlStruct/ExceptTranslate.cc
r933f32f r292642a 319 319 } 320 320 321 block->push_back( handler-> body);322 handler-> body = nullptr;321 block->push_back( handler->get_body() ); 322 handler->set_body( nullptr ); 323 323 324 324 std::list<Statement *> caseBody -
src/GenPoly/Box.cc
r933f32f r292642a 657 657 paramExpr = new AddressExpr( paramExpr ); 658 658 } // if 659 arg = appExpr-> args.insert( arg, paramExpr ); // add argument to function call659 arg = appExpr->get_args().insert( arg, paramExpr ); // add argument to function call 660 660 arg++; 661 661 // Build a comma expression to call the function and emulate a normal return. 662 662 CommaExpr *commaExpr = new CommaExpr( appExpr, retExpr ); 663 commaExpr-> env = appExpr->env;664 appExpr-> env = nullptr;663 commaExpr->set_env( appExpr->get_env() ); 664 appExpr->set_env( 0 ); 665 665 return commaExpr; 666 666 } … … 708 708 // if ( ! function->get_returnVals().empty() && isPolyType( function->get_returnVals().front()->get_type(), tyVars ) ) { 709 709 if ( isDynRet( function, tyVars ) ) { 710 ret = addRetParam( appExpr, function-> returnVals.front()->get_type(), arg );710 ret = addRetParam( appExpr, function->get_returnVals().front()->get_type(), arg ); 711 711 } // if 712 712 std::string mangleName = mangleAdapterName( function, tyVars ); … … 715 715 // cast adaptee to void (*)(), since it may have any type inside a polymorphic function 716 716 Type * adapteeType = new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ); 717 appExpr->get_args().push_front( new CastExpr( appExpr-> function, adapteeType ) );717 appExpr->get_args().push_front( new CastExpr( appExpr->get_function(), adapteeType ) ); 718 718 appExpr->set_function( new NameExpr( adapterName ) ); // xxx - result is never set on NameExpr 719 719 -
src/GenPoly/GenPoly.cc
r933f32f r292642a 459 459 460 460 void addToTyVarMap( TypeDecl * tyVar, TyVarMap &tyVarMap ) { 461 tyVarMap.insert( tyVar->name, TypeDecl::Data{ tyVar } ); 461 // xxx - should this actually be insert? 462 tyVarMap[ tyVar->get_name() ] = TypeDecl::Data{ tyVar }; 462 463 } 463 464 -
src/GenPoly/Lvalue.cc
r933f32f r292642a 21 21 #include "Lvalue.h" 22 22 23 #include "InitTweak/InitTweak.h"24 23 #include "Parser/LinkageSpec.h" // for Spec, isBuiltin, Intrinsic 25 24 #include "ResolvExpr/TypeEnvironment.h" // for AssertionSet, OpenVarSet 26 25 #include "ResolvExpr/Unify.h" // for unify 27 26 #include "ResolvExpr/typeops.h" 27 #include "SymTab/Autogen.h" 28 28 #include "SymTab/Indexer.h" // for Indexer 29 29 #include "SynTree/Declaration.h" // for Declaration, FunctionDecl … … 33 33 #include "SynTree/Type.h" // for PointerType, Type, FunctionType 34 34 #include "SynTree/Visitor.h" // for Visitor, acceptAll 35 #include "Validate/FindSpecialDecls.h" // for dereferenceOperator36 35 37 36 #if 0 … … 45 44 // TODO: fold this into the general createDeref function?? 46 45 Expression * mkDeref( Expression * arg ) { 47 if ( Validate::dereferenceOperator ) {46 if ( SymTab::dereferenceOperator ) { 48 47 // note: reference depth can be arbitrarily deep here, so peel off the outermost pointer/reference, not just pointer because they are effecitvely equivalent in this pass 49 VariableExpr * deref = new VariableExpr( Validate::dereferenceOperator );48 VariableExpr * deref = new VariableExpr( SymTab::dereferenceOperator ); 50 49 deref->result = new PointerType( Type::Qualifiers(), deref->result ); 51 50 Type * base = InitTweak::getPointerBase( arg->result ); … … 354 353 Type * destType = castExpr->result; 355 354 Type * srcType = castExpr->arg->result; 356 assertf( destType, "Cast to no type in: %s", toCString( castExpr ) );357 assertf( srcType, "Cast from no type in: %s", toCString( castExpr ) );358 355 int depth1 = destType->referenceDepth(); 359 356 int depth2 = srcType->referenceDepth(); -
src/GenPoly/ScopedSet.h
r933f32f r292642a 38 38 typedef typename Scope::pointer pointer; 39 39 typedef typename Scope::const_pointer const_pointer; 40 40 41 41 class iterator : public std::iterator< std::bidirectional_iterator_tag, 42 42 value_type > { … … 72 72 return *this; 73 73 } 74 74 75 75 reference operator* () { return *it; } 76 76 pointer operator-> () { return it.operator->(); } … … 104 104 bool operator!= (const iterator &that) { return !( *this == that ); } 105 105 106 size_type get_level() const { return i; }107 108 106 private: 109 107 scope_list const *scopes; … … 182 180 bool operator!= (const const_iterator &that) { return !( *this == that ); } 183 181 184 size_type get_level() const { return i; }185 186 182 private: 187 183 scope_list const *scopes; … … 189 185 size_type i; 190 186 }; 191 187 192 188 /// Starts a new scope 193 189 void beginScope() { … … 226 222 return const_iterator( const_cast< ScopedSet< Value >* >(this)->find( key ) ); 227 223 } 228 224 229 225 /// Finds the given key in the outermost scope inside the given scope where it occurs 230 226 iterator findNext( const_iterator &it, const Value &key ) { … … 246 242 return std::make_pair( iterator(scopes, res.first, scopes.size()-1), res.second ); 247 243 } 248 244 249 245 }; 250 246 } // namespace GenPoly -
src/InitTweak/FixInit.cc
r933f32f r292642a 54 54 #include "SynTree/Type.h" // for Type, Type::StorageClasses 55 55 #include "SynTree/TypeSubstitution.h" // for TypeSubstitution, operator<< 56 #include "SynTree/DeclReplacer.h" // for DeclReplacer57 56 #include "SynTree/Visitor.h" // for acceptAll, maybeAccept 58 #include "Validate/FindSpecialDecls.h" // for dtorStmt, dtorStructDestroy59 57 60 58 bool ctordtorp = false; // print all debug … … 68 66 namespace InitTweak { 69 67 namespace { 68 typedef std::unordered_map< int, int > UnqCount; 69 70 70 struct SelfAssignChecker { 71 71 void previsit( ApplicationExpr * appExpr ); … … 80 80 }; 81 81 82 struct ResolveCopyCtors final : public With StmtsToAdd, public WithIndexer, public WithShortCircuiting, public WithTypeSubstitution, public WithVisitorRef<ResolveCopyCtors>{82 struct ResolveCopyCtors final : public WithIndexer, public WithShortCircuiting, public WithTypeSubstitution { 83 83 /// generate temporary ObjectDecls for each argument and return value of each ImplicitCopyCtorExpr, 84 84 /// generate/resolve copy construction expressions for each, and generate/resolve destructors for both 85 85 /// arguments and return value temporaries 86 static void resolveImplicitCalls( std::list< Declaration * > & translationUnit ); 87 88 Expression * postmutate( ImplicitCopyCtorExpr * impCpCtorExpr ); 89 void premutate( StmtExpr * stmtExpr ); 90 void premutate( UniqueExpr * unqExpr ); 86 static void resolveImplicitCalls( std::list< Declaration * > & translationUnit, UnqCount & unqCount ); 87 88 ResolveCopyCtors( UnqCount & unqCount ) : unqCount( unqCount ) {} 89 90 void postvisit( ImplicitCopyCtorExpr * impCpCtorExpr ); 91 void postvisit( StmtExpr * stmtExpr ); 92 void previsit( UniqueExpr * unqExpr ); 93 void postvisit( UniqueExpr * unqExpr ); 91 94 92 95 /// create and resolve ctor/dtor expression: fname(var, [cpArg]) … … 95 98 bool skipCopyConstruct( Type * type ); 96 99 void copyConstructArg( Expression *& arg, ImplicitCopyCtorExpr * impCpCtorExpr, Type * formal ); 97 void destructRet( ObjectDecl * ret, ImplicitCopyCtorExpr * impCpCtorExpr, Expression *& arg ); 100 void destructRet( ObjectDecl * ret, ImplicitCopyCtorExpr * impCpCtorExpr ); 101 102 UnqCount & unqCount; // count the number of times each unique expr ID appears 103 std::unordered_set< int > vars; 98 104 }; 99 105 … … 156 162 using Parent::previsit; 157 163 164 void previsit( ObjectDecl * objDecl ); 158 165 void previsit( FunctionDecl * funcDecl ); 159 166 167 void previsit( CompoundStmt * compoundStmt ); 168 void postvisit( CompoundStmt * compoundStmt ); 169 void previsit( ReturnStmt * returnStmt ); 160 170 void previsit( BranchStmt * stmt ); 161 171 private: … … 175 185 176 186 std::list< Declaration * > staticDtorDecls; 187 }; 188 189 class FixCopyCtors final : public WithStmtsToAdd, public WithShortCircuiting, public WithVisitorRef<FixCopyCtors>, public WithConstTypeSubstitution { 190 public: 191 FixCopyCtors( UnqCount & unqCount ) : unqCount( unqCount ){} 192 /// expand ImplicitCopyCtorExpr nodes into the temporary declarations, copy constructors, call expression, 193 /// and destructors 194 static void fixCopyCtors( std::list< Declaration * > &translationUnit, UnqCount & unqCount ); 195 196 Expression * postmutate( ImplicitCopyCtorExpr * impCpCtorExpr ); 197 void premutate( StmtExpr * stmtExpr ); 198 void premutate( UniqueExpr * unqExpr ); 199 200 UnqCount & unqCount; 177 201 }; 178 202 … … 212 236 Expression * postmutate( ConstructorExpr * ctorExpr ); 213 237 }; 214 215 struct SplitExpressions : public WithShortCircuiting, public WithTypeSubstitution, public WithStmtsToAdd {216 /// add CompoundStmts around top-level expressions so that temporaries are destroyed in the correct places.217 static void split( std::list< Declaration * > &translationUnit );218 219 Statement * postmutate( ExprStmt * stmt );220 void premutate( TupleAssignExpr * expr );221 };222 238 } // namespace 223 239 … … 229 245 InitTweak::fixGlobalInit( translationUnit, inLibrary ); 230 246 231 // must happen before ResolveCopyCtors because temporaries have to be inserted into the correct scope 232 SplitExpressions::split( translationUnit ); 247 UnqCount unqCount; 233 248 234 249 InsertImplicitCalls::insert( translationUnit ); 235 236 // Needs to happen before ResolveCopyCtors, because argument/return temporaries should not be considered in 237 // error checking branch statements 250 ResolveCopyCtors::resolveImplicitCalls( translationUnit, unqCount ); 238 251 InsertDtors::insert( translationUnit ); 239 240 ResolveCopyCtors::resolveImplicitCalls( translationUnit );241 252 FixInit::fixInitializers( translationUnit ); 253 254 // FixCopyCtors must happen after FixInit, so that destructors are placed correctly 255 FixCopyCtors::fixCopyCtors( translationUnit, unqCount ); 256 242 257 GenStructMemberCalls::generate( translationUnit ); 243 258 244 // Needs to happen after GenStructMemberCalls, since otherwise member constructors exprs 245 // don't have the correct form, and a member can be constructed more than once. 259 // xxx - ctor expansion currently has to be after FixCopyCtors, because there is currently a 260 // hack in the way untyped assignments are generated, where the first argument cannot have 261 // its address taken because of the way codegeneration handles UntypedExpr vs. ApplicationExpr. 262 // Thus such assignment exprs must never pushed through expression resolution (and thus should 263 // not go through the FixCopyCtors pass), otherwise they will fail -- guaranteed. 264 // Also needs to happen after GenStructMemberCalls, since otherwise member constructors exprs 265 // don't look right, and a member can be constructed more than once. 246 266 FixCtorExprs::fix( translationUnit ); 247 267 } 248 268 249 269 namespace { 250 /// find and return the destructor used in `input`. If `input` is not a simple destructor call, generate a thunk251 /// that wraps the destructor, insert it into `stmtsToAdd` and return the new function declaration252 DeclarationWithType * getDtorFunc( ObjectDecl * objDecl, Statement * input, std::list< Statement * > & stmtsToAdd ) {253 // unwrap implicit statement wrapper254 Statement * dtor = input;255 if ( ImplicitCtorDtorStmt * implicit = dynamic_cast< ImplicitCtorDtorStmt * >( input ) ) {256 // dtor = implicit->callStmt;257 // implicit->callStmt = nullptr;258 }259 assert( dtor );260 std::list< Expression * > matches;261 collectCtorDtorCalls( dtor, matches );262 263 if ( dynamic_cast< ExprStmt * >( dtor ) ) {264 // only one destructor call in the expression265 if ( matches.size() == 1 ) {266 DeclarationWithType * func = getFunction( matches.front() );267 assertf( func, "getFunction failed to find function in %s", toString( matches.front() ).c_str() );268 269 // cleanup argument must be a function, not an object (including function pointer)270 if ( FunctionDecl * dtorFunc = dynamic_cast< FunctionDecl * > ( func ) ) {271 if ( dtorFunc->type->forall.empty() ) {272 // simple case where the destructor is a monomorphic function call - can simply273 // use that function as the cleanup function.274 delete dtor;275 return func;276 }277 }278 }279 }280 281 // otherwise the cleanup is more complicated - need to build a single argument cleanup function that282 // wraps the more complicated code.283 static UniqueName dtorNamer( "__cleanup_dtor" );284 FunctionDecl * dtorFunc = FunctionDecl::newFunction( dtorNamer.newName(), SymTab::genDefaultType( objDecl->type->stripReferences(), false ), new CompoundStmt() );285 stmtsToAdd.push_back( new DeclStmt( dtorFunc ) );286 287 // the original code contains uses of objDecl - replace them with the newly generated 'this' parameter.288 ObjectDecl * thisParam = getParamThis( dtorFunc->type );289 Expression * replacement = new VariableExpr( thisParam );290 291 Type * base = replacement->result->stripReferences();292 if ( dynamic_cast< ArrayType * >( base ) || dynamic_cast< TupleType * > ( base ) ) {293 // need to cast away reference for array types, since the destructor is generated without the reference type,294 // and for tuple types since tuple indexing does not work directly on a reference295 replacement = new CastExpr( replacement, base->clone() );296 }297 DeclReplacer::replace( dtor, { std::make_pair( objDecl, replacement ) } );298 dtorFunc->statements->push_back( strict_dynamic_cast<Statement *>( dtor ) );299 300 return dtorFunc;301 }302 303 void SplitExpressions::split( std::list< Declaration * > & translationUnit ) {304 PassVisitor<SplitExpressions> splitter;305 mutateAll( translationUnit, splitter );306 }307 308 270 void InsertImplicitCalls::insert( std::list< Declaration * > & translationUnit ) { 309 271 PassVisitor<InsertImplicitCalls> inserter; … … 311 273 } 312 274 313 void ResolveCopyCtors::resolveImplicitCalls( std::list< Declaration * > & translationUnit ) {314 PassVisitor<ResolveCopyCtors> resolver ;315 mutateAll( translationUnit, resolver );275 void ResolveCopyCtors::resolveImplicitCalls( std::list< Declaration * > & translationUnit, UnqCount & unqCount ) { 276 PassVisitor<ResolveCopyCtors> resolver( unqCount ); 277 acceptAll( translationUnit, resolver ); 316 278 } 317 279 … … 341 303 } 342 304 305 void FixCopyCtors::fixCopyCtors( std::list< Declaration * > & translationUnit, UnqCount & unqCount ) { 306 PassVisitor<FixCopyCtors> fixer( unqCount ); 307 mutateAll( translationUnit, fixer ); 308 } 309 343 310 void GenStructMemberCalls::generate( std::list< Declaration * > & translationUnit ) { 344 311 PassVisitor<GenStructMemberCalls> warner; … … 351 318 } 352 319 353 Statement * SplitExpressions::postmutate( ExprStmt * stmt ) { 354 // wrap each top-level ExprStmt in a block so that destructors for argument and return temporaries are destroyed 355 // in the correct places 356 CompoundStmt * ret = new CompoundStmt( { stmt } ); 357 return ret; 358 } 359 360 void SplitExpressions::premutate( TupleAssignExpr * ) { 361 // don't do this within TupleAssignExpr, since it is already broken up into multiple expressions 362 visit_children = false; 363 } 364 365 // Relatively simple structural comparison for expressions, needed to determine 366 // if two expressions are "the same" (used to determine if self assignment occurs) 367 struct StructuralChecker { 368 Expression * stripCasts( Expression * expr ) { 369 // this might be too permissive. It's possible that only particular casts are relevant. 370 while ( CastExpr * cast = dynamic_cast< CastExpr * >( expr ) ) { 371 expr = cast->arg; 372 } 373 return expr; 374 } 375 376 void previsit( Expression * ) { 377 // anything else does not qualify 378 isSimilar = false; 379 } 380 381 template<typename T> 382 T * cast( Expression * node ) { 383 // all expressions need to ignore casts, so this bit has been factored out 384 return dynamic_cast< T * >( stripCasts( node ) ); 385 } 386 387 // ignore casts 388 void previsit( CastExpr * ) {} 389 390 void previsit( MemberExpr * memExpr ) { 391 if ( MemberExpr * otherMember = cast< MemberExpr >( other ) ) { 392 if ( otherMember->member == memExpr->member ) { 393 other = otherMember->aggregate; 320 namespace { 321 // Relatively simple structural comparison for expressions, needed to determine 322 // if two expressions are "the same" (used to determine if self assignment occurs) 323 struct StructuralChecker { 324 Expression * stripCasts( Expression * expr ) { 325 // this might be too permissive. It's possible that only particular casts are relevant. 326 while ( CastExpr * cast = dynamic_cast< CastExpr * >( expr ) ) { 327 expr = cast->arg; 328 } 329 return expr; 330 } 331 332 void previsit( Expression * ) { 333 // anything else does not qualify 334 isSimilar = false; 335 } 336 337 template<typename T> 338 T * cast( Expression * node ) { 339 // all expressions need to ignore casts, so this bit has been factored out 340 return dynamic_cast< T * >( stripCasts( node ) ); 341 } 342 343 // ignore casts 344 void previsit( CastExpr * ) {} 345 346 void previsit( MemberExpr * memExpr ) { 347 if ( MemberExpr * otherMember = cast< MemberExpr >( other ) ) { 348 if ( otherMember->member == memExpr->member ) { 349 other = otherMember->aggregate; 350 return; 351 } 352 } 353 isSimilar = false; 354 } 355 356 void previsit( VariableExpr * varExpr ) { 357 if ( VariableExpr * otherVar = cast< VariableExpr >( other ) ) { 358 if ( otherVar->var == varExpr->var ) { 359 return; 360 } 361 } 362 isSimilar = false; 363 } 364 365 void previsit( AddressExpr * ) { 366 if ( AddressExpr * addrExpr = cast< AddressExpr >( other ) ) { 367 other = addrExpr->arg; 394 368 return; 395 369 } 396 } 397 isSimilar = false; 398 } 399 400 void previsit( VariableExpr * varExpr ) { 401 if ( VariableExpr * otherVar = cast< VariableExpr >( other ) ) { 402 if ( otherVar->var == varExpr->var ) { 403 return; 404 } 405 } 406 isSimilar = false; 407 } 408 409 void previsit( AddressExpr * ) { 410 if ( AddressExpr * addrExpr = cast< AddressExpr >( other ) ) { 411 other = addrExpr->arg; 412 return; 413 } 414 isSimilar = false; 415 } 416 417 Expression * other = nullptr; 418 bool isSimilar = true; 419 }; 420 421 bool structurallySimilar( Expression * e1, Expression * e2 ) { 422 PassVisitor<StructuralChecker> checker; 423 checker.pass.other = e2; 424 e1->accept( checker ); 425 return checker.pass.isSimilar; 370 isSimilar = false; 371 } 372 373 Expression * other = nullptr; 374 bool isSimilar = true; 375 }; 376 377 bool structurallySimilar( Expression * e1, Expression * e2 ) { 378 PassVisitor<StructuralChecker> checker; 379 checker.pass.other = e2; 380 e1->accept( checker ); 381 return checker.pass.isSimilar; 382 } 426 383 } 427 384 … … 500 457 if ( TupleAssignExpr * assign = dynamic_cast< TupleAssignExpr * >( resolved ) ) { 501 458 // fix newly generated StmtExpr 502 p remutate( assign->stmtExpr );459 postvisit( assign->stmtExpr ); 503 460 } 504 461 return resolved; … … 532 489 // so that the object isn't changed inside of the polymorphic function 533 490 if ( ! GenPoly::needsBoxing( formal, result, impCpCtorExpr->callExpr, env ) ) return; 534 // xxx - leaking tmp535 491 } 536 492 } … … 540 496 541 497 // replace argument to function call with temporary 542 stmtsToAddBefore.push_back( new DeclStmt( tmp ) ); 543 arg = cpCtor; 544 destructRet( tmp, impCpCtorExpr, arg ); 545 546 // impCpCtorExpr->dtors.push_front( makeCtorDtor( "^?{}", tmp ) ); 547 } 548 549 void ResolveCopyCtors::destructRet( ObjectDecl * ret, ImplicitCopyCtorExpr * /*impCpCtorExpr*/, Expression *& arg ) { 550 // TODO: refactor code for generating cleanup attribute, since it's common and reused in ~3-4 places 551 // check for existing cleanup attribute before adding another(?) 552 // need to add __Destructor for _tmp_cp variables as well 553 554 assertf( Validate::dtorStruct && Validate::dtorStruct->members.size() == 2, "Destructor generation requires __Destructor definition." ); 555 assertf( Validate::dtorStructDestroy, "Destructor generation requires __destroy_Destructor." ); 556 557 // generate a __Destructor for ret that calls the destructor 558 Expression * dtor = makeCtorDtor( "^?{}", ret ); 559 560 // if the chosen destructor is intrinsic, elide the generated dtor handler 561 if ( arg && isIntrinsicCallExpr( dtor ) ) { 562 arg = new CommaExpr( arg, new VariableExpr( ret ) ); 563 return; 564 } 565 566 if ( ! dtor->env ) dtor->env = maybeClone( env ); 567 DeclarationWithType * dtorFunc = getDtorFunc( ret, new ExprStmt( dtor ), stmtsToAddBefore ); 568 569 StructInstType * dtorStructType = new StructInstType( Type::Qualifiers(), Validate::dtorStruct ); 570 dtorStructType->parameters.push_back( new TypeExpr( new VoidType( Type::Qualifiers() ) ) ); 571 572 // cast destructor pointer to void (*)(void *), to silence GCC incompatible pointer warnings 573 FunctionType * dtorFtype = new FunctionType( Type::Qualifiers(), false ); 574 dtorFtype->parameters.push_back( ObjectDecl::newObject( "", new PointerType( Type::Qualifiers(), new VoidType( Type::Qualifiers() ) ), nullptr ) ); 575 Type * dtorType = new PointerType( Type::Qualifiers(), dtorFtype ); 576 577 static UniqueName namer( "_ret_dtor" ); 578 ObjectDecl * retDtor = ObjectDecl::newObject( namer.newName(), dtorStructType, new ListInit( { new SingleInit( new ConstantExpr( Constant::null() ) ), new SingleInit( new CastExpr( new VariableExpr( dtorFunc ), dtorType ) ) } ) ); 579 retDtor->attributes.push_back( new Attribute( "cleanup", { new VariableExpr( Validate::dtorStructDestroy ) } ) ); 580 stmtsToAddBefore.push_back( new DeclStmt( retDtor ) ); 581 582 if ( arg ) { 583 Expression * member = new MemberExpr( strict_dynamic_cast<DeclarationWithType *>( Validate::dtorStruct->members.front() ), new VariableExpr( retDtor ) ); 584 Expression * object = new CastExpr( new AddressExpr( new VariableExpr( ret ) ), new PointerType( Type::Qualifiers(), new VoidType( Type::Qualifiers() ) ) ); 585 Expression * assign = createBitwiseAssignment( member, object ); 586 arg = new CommaExpr( new CommaExpr( arg, assign ), new VariableExpr( ret ) ); 587 } 588 589 // impCpCtorExpr->get_dtors().push_front( makeCtorDtor( "^?{}", ret ) ); 590 } 591 592 Expression * ResolveCopyCtors::postmutate( ImplicitCopyCtorExpr *impCpCtorExpr ) { 498 arg = new CommaExpr( cpCtor, new VariableExpr( tmp ) ); 499 impCpCtorExpr->tempDecls.push_back( tmp ); 500 impCpCtorExpr->dtors.push_front( makeCtorDtor( "^?{}", tmp ) ); 501 } 502 503 void ResolveCopyCtors::destructRet( ObjectDecl * ret, ImplicitCopyCtorExpr * impCpCtorExpr ) { 504 impCpCtorExpr->get_dtors().push_front( makeCtorDtor( "^?{}", ret ) ); 505 } 506 507 void ResolveCopyCtors::postvisit( ImplicitCopyCtorExpr *impCpCtorExpr ) { 593 508 CP_CTOR_PRINT( std::cerr << "ResolveCopyCtors: " << impCpCtorExpr << std::endl; ) 594 509 595 510 ApplicationExpr * appExpr = impCpCtorExpr->callExpr; 596 ObjectDecl * returnDecl = nullptr;597 511 598 512 // take each argument and attempt to copy construct it. … … 603 517 for ( Expression * & arg : appExpr->args ) { 604 518 Type * formal = nullptr; 605 if ( iter != params.end() ) { // does not copy construct C-style variadic arguments519 if ( iter != params.end() ) { 606 520 DeclarationWithType * param = *iter++; 607 521 formal = param->get_type(); … … 621 535 ObjectDecl * ret = ObjectDecl::newObject( retNamer.newName(), result, nullptr ); 622 536 ret->type->set_const( false ); 623 returnDecl = ret; 624 stmtsToAddBefore.push_back( new DeclStmt( ret ) ); 537 impCpCtorExpr->returnDecls.push_back( ret ); 625 538 CP_CTOR_PRINT( std::cerr << "makeCtorDtor for a return" << std::endl; ) 539 if ( ! dynamic_cast< ReferenceType * >( result ) ) { 540 // destructing reference returns is bad because it can cause multiple destructor calls to the same object - the returned object is not a temporary 541 destructRet( ret, impCpCtorExpr ); 542 } 626 543 } // for 627 544 CP_CTOR_PRINT( std::cerr << "after Resolving: " << impCpCtorExpr << std::endl; ) 628 // ------------------------------------------------------ 629 630 CP_CTOR_PRINT( std::cerr << "Coming out the back..." << impCpCtorExpr << std::endl; ) 631 632 // detach fields from wrapper node so that it can be deleted without deleting too much 633 impCpCtorExpr->callExpr = nullptr; 634 std::swap( impCpCtorExpr->env, appExpr->env ); 635 assert( impCpCtorExpr->env == nullptr ); 636 delete impCpCtorExpr; 637 638 if ( returnDecl ) { 639 Expression * assign = createBitwiseAssignment( new VariableExpr( returnDecl ), appExpr ); 640 if ( ! dynamic_cast< ReferenceType * >( result ) ) { 641 // destructing reference returns is bad because it can cause multiple destructor calls to the same object - the returned object is not a temporary 642 destructRet( returnDecl, impCpCtorExpr, assign ); 643 } else { 644 assign = new CommaExpr( assign, new VariableExpr( returnDecl ) ); 645 } 646 // move env from appExpr to retExpr 647 std::swap( assign->env, appExpr->env ); 648 return assign; 649 } else { 650 return appExpr; 651 } // if 652 } 653 654 void ResolveCopyCtors::premutate( StmtExpr * stmtExpr ) { 655 // function call temporaries should be placed at statement-level, rather than nested inside of a new statement expression, 656 // since temporaries can be shared across sub-expressions, e.g. 657 // [A, A] f(); 658 // g([A] x, [A] y); 659 // g(f()); 660 // f is executed once, so the return temporary is shared across the tuple constructors for x and y. 661 // Explicitly mutating children instead of mutating the inner compound statement forces the temporaries to be added 662 // to the outer context, rather than inside of the statement expression. 663 visit_children = false; 664 545 } 546 547 void ResolveCopyCtors::postvisit( StmtExpr * stmtExpr ) { 665 548 assert( env ); 666 667 // visit all statements 668 std::list< Statement * > & stmts = stmtExpr->statements->get_kids(); 669 for ( Statement *& stmt : stmts ) { 670 stmt = stmt->acceptMutator( *visitor ); 671 } // for 672 673 assert( stmtExpr->result ); 674 Type * result = stmtExpr->result; 549 assert( stmtExpr->get_result() ); 550 Type * result = stmtExpr->get_result(); 675 551 if ( ! result->isVoid() ) { 676 552 static UniqueName retNamer("_tmp_stmtexpr_ret"); … … 686 562 ObjectDecl * ret = ObjectDecl::newObject( retNamer.newName(), result, nullptr ); 687 563 ret->type->set_const( false ); 688 stmt sToAddBefore.push_back( new DeclStmt( ret ));564 stmtExpr->returnDecls.push_front( ret ); 689 565 690 566 // must have a non-empty body, otherwise it wouldn't have a result 691 567 CompoundStmt * body = stmtExpr->statements; 692 assert( ! body-> kids.empty() );568 assert( ! body->get_kids().empty() ); 693 569 // must be an ExprStmt, otherwise it wouldn't have a result 694 ExprStmt * last = strict_dynamic_cast< ExprStmt * >( body->kids.back() ); 695 last->expr = makeCtorDtor( "?{}", ret, last->expr ); 696 697 // add destructors after current statement 698 stmtsToAddAfter.push_back( new ExprStmt( makeCtorDtor( "^?{}", ret ) ) ); 699 700 // must have a non-empty body, otherwise it wouldn't have a result 701 assert( ! stmts.empty() ); 702 703 // if there is a return decl, add a use as the last statement; will not have return decl on non-constructable returns 704 stmts.push_back( new ExprStmt( new VariableExpr( ret ) ) ); 570 ExprStmt * last = strict_dynamic_cast< ExprStmt * >( body->get_kids().back() ); 571 last->expr = makeCtorDtor( "?{}", ret, last->get_expr() ); 572 573 stmtExpr->dtors.push_front( makeCtorDtor( "^?{}", ret ) ); 705 574 } // if 706 707 assert( stmtExpr->returnDecls.empty() ); 708 assert( stmtExpr->dtors.empty() ); 575 } 576 577 void ResolveCopyCtors::previsit( UniqueExpr * unqExpr ) { 578 unqCount[ unqExpr->get_id() ]++; // count the number of unique expressions for each ID 579 if ( vars.count( unqExpr->get_id() ) ) { 580 // xxx - hack to prevent double-handling of unique exprs, otherwise too many temporary variables and destructors are generated 581 visit_children = false; 582 } 709 583 } 710 584 … … 723 597 } 724 598 725 void ResolveCopyCtors::premutate( UniqueExpr * unqExpr ) { 599 void ResolveCopyCtors::postvisit( UniqueExpr * unqExpr ) { 600 if ( vars.count( unqExpr->get_id() ) ) { 601 // xxx - hack to prevent double-handling of unique exprs, otherwise too many temporary variables and destructors are generated 602 return; 603 } 604 605 // it should never be necessary to wrap a void-returning expression in a UniqueExpr - if this assumption changes, this needs to be rethought 606 assert( unqExpr->get_result() ); 607 if ( ImplicitCopyCtorExpr * impCpCtorExpr = dynamic_cast<ImplicitCopyCtorExpr*>( unqExpr->get_expr() ) ) { 608 // note the variable used as the result from the call 609 assert( impCpCtorExpr->get_result() && impCpCtorExpr->get_returnDecls().size() == 1 ); 610 unqExpr->set_var( new VariableExpr( impCpCtorExpr->get_returnDecls().front() ) ); 611 } else { 612 // expr isn't a call expr, so create a new temporary variable to use to hold the value of the unique expression 613 unqExpr->set_object( ObjectDecl::newObject( toString("_unq", unqExpr->get_id()), unqExpr->get_result()->clone(), makeInit( unqExpr->get_result() ) ) ); 614 unqExpr->set_var( new VariableExpr( unqExpr->get_object() ) ); 615 } 616 vars.insert( unqExpr->get_id() ); 617 } 618 619 Expression * FixCopyCtors::postmutate( ImplicitCopyCtorExpr * impCpCtorExpr ) { 620 CP_CTOR_PRINT( std::cerr << "FixCopyCtors: " << impCpCtorExpr << std::endl; ) 621 622 std::list< ObjectDecl * > & tempDecls = impCpCtorExpr->get_tempDecls(); 623 std::list< ObjectDecl * > & returnDecls = impCpCtorExpr->get_returnDecls(); 624 std::list< Expression * > & dtors = impCpCtorExpr->get_dtors(); 625 626 // add all temporary declarations and their constructors 627 for ( ObjectDecl * obj : tempDecls ) { 628 stmtsToAddBefore.push_back( new DeclStmt( obj ) ); 629 } // for 630 for ( ObjectDecl * obj : returnDecls ) { 631 stmtsToAddBefore.push_back( new DeclStmt( obj ) ); 632 } // for 633 634 // add destructors after current statement 635 for ( Expression * dtor : dtors ) { 636 // take relevant bindings from environment 637 assert( ! dtor->env ); 638 dtor->env = maybeClone( env ); 639 stmtsToAddAfter.push_back( new ExprStmt( dtor ) ); 640 } // for 641 642 ObjectDecl * returnDecl = returnDecls.empty() ? nullptr : returnDecls.front(); 643 Expression * callExpr = impCpCtorExpr->get_callExpr(); 644 645 CP_CTOR_PRINT( std::cerr << "Coming out the back..." << impCpCtorExpr << std::endl; ) 646 647 // detach fields from wrapper node so that it can be deleted without deleting too much 648 dtors.clear(); 649 tempDecls.clear(); 650 returnDecls.clear(); 651 impCpCtorExpr->set_callExpr( nullptr ); 652 std::swap( impCpCtorExpr->env, callExpr->env ); 653 assert( impCpCtorExpr->env == nullptr ); 654 delete impCpCtorExpr; 655 656 if ( returnDecl ) { 657 ApplicationExpr * assign = createBitwiseAssignment( new VariableExpr( returnDecl ), callExpr ); 658 Expression * retExpr = new CommaExpr( assign, new VariableExpr( returnDecl ) ); 659 // move env from callExpr to retExpr 660 std::swap( retExpr->env, callExpr->env ); 661 return retExpr; 662 } else { 663 return callExpr; 664 } // if 665 } 666 667 void FixCopyCtors::premutate( StmtExpr * stmtExpr ) { 668 // function call temporaries should be placed at statement-level, rather than nested inside of a new statement expression, 669 // since temporaries can be shared across sub-expressions, e.g. 670 // [A, A] f(); 671 // g([A] x, [A] y); 672 // g(f()); 673 // f is executed once, so the return temporary is shared across the tuple constructors for x and y. 674 // Explicitly mutating children instead of mutating the inner compound statment forces the temporaries to be added 675 // to the outer context, rather than inside of the statement expression. 726 676 visit_children = false; 727 // xxx - hack to prevent double-handling of unique exprs, otherwise too many temporary variables and destructors are generated 677 std::list< Statement * > & stmts = stmtExpr->statements->get_kids(); 678 for ( Statement *& stmt : stmts ) { 679 stmt = stmt->acceptMutator( *visitor ); 680 } // for 681 assert( stmtExpr->result ); 682 Type * result = stmtExpr->result; 683 if ( ! result->isVoid() ) { 684 for ( ObjectDecl * obj : stmtExpr->returnDecls ) { 685 stmtsToAddBefore.push_back( new DeclStmt( obj ) ); 686 } // for 687 // add destructors after current statement 688 for ( Expression * dtor : stmtExpr->dtors ) { 689 stmtsToAddAfter.push_back( new ExprStmt( dtor ) ); 690 } // for 691 // must have a non-empty body, otherwise it wouldn't have a result 692 assert( ! stmts.empty() ); 693 assertf( ! stmtExpr->returnDecls.empty() || stmtExpr->dtors.empty(), "StmtExpr returns non-void, but no return decls: %s", toString( stmtExpr ).c_str() ); 694 // if there is a return decl, add a use as the last statement; will not have return decl on non-constructable returns 695 if ( ! stmtExpr->returnDecls.empty() ) { 696 stmts.push_back( new ExprStmt( new VariableExpr( stmtExpr->returnDecls.front() ) ) ); 697 } 698 stmtExpr->returnDecls.clear(); 699 stmtExpr->dtors.clear(); 700 } 701 assert( stmtExpr->returnDecls.empty() ); 702 assert( stmtExpr->dtors.empty() ); 703 } 704 705 void FixCopyCtors::premutate( UniqueExpr * unqExpr ) { 706 visit_children = false; 707 unqCount[ unqExpr->get_id() ]--; 708 static std::unordered_map< int, std::list< Statement * > > dtors; 728 709 static std::unordered_map< int, UniqueExpr * > unqMap; 729 if ( ! unqMap.count( unqExpr->get_id() ) ) { 730 // resolve expr and find its 731 732 ImplicitCopyCtorExpr * impCpCtorExpr = dynamic_cast< ImplicitCopyCtorExpr * >( unqExpr->expr ); 733 // PassVisitor<ResolveCopyCtors> fixer; 734 unqExpr->expr = unqExpr->expr->acceptMutator( *visitor ); 735 736 // it should never be necessary to wrap a void-returning expression in a UniqueExpr - if this assumption changes, this needs to be rethought 737 assert( unqExpr->result ); 738 if ( impCpCtorExpr ) { 739 CommaExpr * comma = strict_dynamic_cast< CommaExpr * >( unqExpr->expr ); 740 VariableExpr * var = strict_dynamic_cast<VariableExpr *>( comma->arg2 ); 741 // note the variable used as the result from the call 742 unqExpr->var = var->clone(); 743 } else { 744 // expr isn't a call expr, so create a new temporary variable to use to hold the value of the unique expression 745 unqExpr->object = ObjectDecl::newObject( toString("_unq", unqExpr->get_id()), unqExpr->result->clone(), makeInit( unqExpr->result ) ); 746 unqExpr->var = new VariableExpr( unqExpr->object ); 747 } 748 749 // stmtsToAddBefore.splice( stmtsToAddBefore.end(), fixer.pass.stmtsToAddBefore ); 750 // stmtsToAddAfter.splice( stmtsToAddAfter.end(), fixer.pass.stmtsToAddAfter ); 751 unqMap[unqExpr->get_id()] = unqExpr; 752 } else { 710 // has to be done to clean up ImplicitCopyCtorExpr nodes, even when this node was skipped in previous passes 711 if ( unqMap.count( unqExpr->get_id() ) ) { 753 712 // take data from other UniqueExpr to ensure consistency 754 713 delete unqExpr->get_expr(); 755 unqExpr->expr = unqMap[unqExpr->get_id()]->expr->clone(); 756 delete unqExpr->result; 757 unqExpr->result = maybeClone( unqExpr->expr->result ); 758 } 714 unqExpr->set_expr( unqMap[unqExpr->get_id()]->get_expr()->clone() ); 715 delete unqExpr->get_result(); 716 unqExpr->set_result( maybeClone( unqExpr->get_expr()->get_result() ) ); 717 if ( unqCount[ unqExpr->get_id() ] == 0 ) { // insert destructor after the last use of the unique expression 718 stmtsToAddAfter.splice( stmtsToAddAfter.end(), dtors[ unqExpr->get_id() ] ); 719 } 720 return; 721 } 722 PassVisitor<FixCopyCtors> fixer( unqCount ); 723 unqExpr->set_expr( unqExpr->get_expr()->acceptMutator( fixer ) ); // stmtexprs contained should not be separately fixed, so this must occur after the lookup 724 stmtsToAddBefore.splice( stmtsToAddBefore.end(), fixer.pass.stmtsToAddBefore ); 725 unqMap[unqExpr->get_id()] = unqExpr; 726 if ( unqCount[ unqExpr->get_id() ] == 0 ) { // insert destructor after the last use of the unique expression 727 stmtsToAddAfter.splice( stmtsToAddAfter.end(), dtors[ unqExpr->get_id() ] ); 728 } else { // remember dtors for last instance of unique expr 729 dtors[ unqExpr->get_id() ] = fixer.pass.stmtsToAddAfter; 730 } 731 return; 759 732 } 760 733 … … 871 844 ctorInit->ctor = nullptr; 872 845 } 873 874 Statement * dtor = ctorInit->dtor;875 if ( dtor ) {876 ImplicitCtorDtorStmt * implicit = strict_dynamic_cast< ImplicitCtorDtorStmt * >( dtor );877 Statement * dtorStmt = implicit->callStmt;878 879 // don't need to call intrinsic dtor, because it does nothing, but880 // non-intrinsic dtors must be called881 if ( ! isIntrinsicSingleArgCallStmt( dtorStmt ) ) {882 // set dtor location to the object's location for error messages883 DeclarationWithType * dtorFunc = getDtorFunc( objDecl, dtorStmt, stmtsToAddBefore );884 objDecl->attributes.push_back( new Attribute( "cleanup", { new VariableExpr( dtorFunc ) } ) );885 ctorInit->dtor = nullptr;886 } // if887 }888 846 } // if 889 847 } else if ( Initializer * init = ctorInit->init ) { … … 928 886 929 887 888 template<typename Iterator, typename OutputIterator> 889 void insertDtors( Iterator begin, Iterator end, OutputIterator out ) { 890 for ( Iterator it = begin ; it != end ; ++it ) { 891 // extract destructor statement from the object decl and insert it into the output. Note that this is 892 // only called on lists of non-static objects with implicit non-intrinsic dtors, so if the user manually 893 // calls an intrinsic dtor then the call must (and will) still be generated since the argument may 894 // contain side effects. 895 ObjectDecl * objDecl = *it; 896 ConstructorInit * ctorInit = dynamic_cast< ConstructorInit * >( objDecl->get_init() ); 897 assert( ctorInit && ctorInit->get_dtor() ); 898 *out++ = ctorInit->get_dtor()->clone(); 899 } // for 900 } 901 902 void InsertDtors::previsit( ObjectDecl * objDecl ) { 903 // remember non-static destructed objects so that their destructors can be inserted later 904 if ( ! objDecl->get_storageClasses().is_static ) { 905 if ( ConstructorInit * ctorInit = dynamic_cast< ConstructorInit * >( objDecl->get_init() ) ) { 906 // a decision should have been made by the resolver, so ctor and init are not both non-NULL 907 assert( ! ctorInit->get_ctor() || ! ctorInit->get_init() ); 908 Statement * dtor = ctorInit->get_dtor(); 909 // don't need to call intrinsic dtor, because it does nothing, but 910 // non-intrinsic dtors must be called 911 if ( dtor && ! isIntrinsicSingleArgCallStmt( dtor ) ) { 912 // set dtor location to the object's location for error messages 913 ctorInit->dtor->location = objDecl->location; 914 reverseDeclOrder.front().push_front( objDecl ); 915 } // if 916 } // if 917 } // if 918 } 919 930 920 void InsertDtors::previsit( FunctionDecl * funcDecl ) { 931 921 // each function needs to have its own set of labels … … 940 930 } 941 931 932 void InsertDtors::previsit( CompoundStmt * compoundStmt ) { 933 // visit statements - this will also populate reverseDeclOrder list. don't want to dump all destructors 934 // when block is left, just the destructors associated with variables defined in this block, so push a new 935 // list to the top of the stack so that we can differentiate scopes 936 reverseDeclOrder.push_front( OrderedDecls() ); 937 Parent::previsit( compoundStmt ); 938 } 939 940 void InsertDtors::postvisit( CompoundStmt * compoundStmt ) { 941 // add destructors for the current scope that we're exiting, unless the last statement is a return, which 942 // causes unreachable code warnings 943 std::list< Statement * > & statements = compoundStmt->get_kids(); 944 if ( ! statements.empty() && ! dynamic_cast< ReturnStmt * >( statements.back() ) ) { 945 insertDtors( reverseDeclOrder.front().begin(), reverseDeclOrder.front().end(), back_inserter( statements ) ); 946 } 947 reverseDeclOrder.pop_front(); 948 } 949 950 void InsertDtors::previsit( ReturnStmt * ) { 951 // return exits all scopes, so dump destructors for all scopes 952 for ( OrderedDecls & od : reverseDeclOrder ) { 953 insertDtors( od.begin(), od.end(), back_inserter( stmtsToAddBefore ) ); 954 } // for 955 } 956 942 957 // Handle break/continue/goto in the same manner as C++. Basic idea: any objects that are in scope at the 943 958 // BranchStmt but not at the labelled (target) statement must be destructed. If there are any objects in scope … … 967 982 if ( ! diff.empty() ) { 968 983 SemanticError( stmt, std::string("jump to label '") + stmt->get_target().get_name() + "' crosses initialization of " + (*diff.begin())->get_name() + " " ); 984 } // if 985 // S_G-S_L results in set of objects that must be destructed 986 diff.clear(); 987 std::set_difference( curVars.begin(), curVars.end(), lvars.begin(), lvars.end(), std::inserter( diff, diff.end() ) ); 988 DTOR_PRINT( 989 std::cerr << "S_G-S_L = " << printSet( diff ) << std::endl; 990 ) 991 if ( ! diff.empty() ) { 992 // create an auxilliary set for fast lookup -- can't make diff a set, because diff ordering should be consistent for error messages. 993 std::unordered_set<ObjectDecl *> needsDestructor( diff.begin(), diff.end() ); 994 995 // go through decl ordered list of objectdecl. for each element that occurs in diff, output destructor 996 OrderedDecls ordered; 997 for ( OrderedDecls & rdo : reverseDeclOrder ) { 998 // add elements from reverseDeclOrder into ordered if they occur in diff - it is key that this happens in reverse declaration order. 999 copy_if( rdo.begin(), rdo.end(), back_inserter( ordered ), [&]( ObjectDecl * objDecl ) { return needsDestructor.count( objDecl ); } ); 1000 } // for 1001 insertDtors( ordered.begin(), ordered.end(), back_inserter( stmtsToAddBefore ) ); 969 1002 } // if 970 1003 } … … 1083 1116 callStmt->acceptMutator( *visitor ); 1084 1117 if ( isCtor ) { 1085 function-> statements->push_front( callStmt );1086 } else { // TODO: don't generate destructor function/object for intrinsic calls1118 function->get_statements()->push_front( callStmt ); 1119 } else { 1087 1120 // destructor statements should be added at the end 1088 // function->get_statements()->push_back( callStmt ); 1089 1090 // Optimization: do not need to call intrinsic destructors on members 1091 if ( isIntrinsicSingleArgCallStmt( callStmt ) ) continue;; 1092 1093 // __Destructor _dtor0 = { (void *)&b.a1, (void (*)(void *)_destroy_A }; 1094 std::list< Statement * > stmtsToAdd; 1095 1096 static UniqueName memberDtorNamer = { "__memberDtor" }; 1097 assertf( Validate::dtorStruct, "builtin __Destructor not found." ); 1098 assertf( Validate::dtorStructDestroy, "builtin __destroy_Destructor not found." ); 1099 1100 Expression * thisExpr = new CastExpr( new AddressExpr( new VariableExpr( thisParam ) ), new PointerType( Type::Qualifiers(), new VoidType( Type::Qualifiers() ) ) ); 1101 Expression * dtorExpr = new VariableExpr( getDtorFunc( thisParam, callStmt, stmtsToAdd ) ); 1102 1103 // cast destructor pointer to void (*)(void *), to silence GCC incompatible pointer warnings 1104 FunctionType * dtorFtype = new FunctionType( Type::Qualifiers(), false ); 1105 dtorFtype->parameters.push_back( ObjectDecl::newObject( "", new PointerType( Type::Qualifiers(), new VoidType( Type::Qualifiers() ) ), nullptr ) ); 1106 Type * dtorType = new PointerType( Type::Qualifiers(), dtorFtype ); 1107 1108 ObjectDecl * destructor = ObjectDecl::newObject( memberDtorNamer.newName(), new StructInstType( Type::Qualifiers(), Validate::dtorStruct ), new ListInit( { new SingleInit( thisExpr ), new SingleInit( new CastExpr( dtorExpr, dtorType ) ) } ) ); 1109 function->statements->push_front( new DeclStmt( destructor ) ); 1110 destructor->attributes.push_back( new Attribute( "cleanup", { new VariableExpr( Validate::dtorStructDestroy ) } ) ); 1111 1112 function->statements->kids.splice( function->statements->kids.begin(), stmtsToAdd ); 1121 function->get_statements()->push_back( callStmt ); 1113 1122 } 1114 1123 } catch ( SemanticErrorException & error ) { -
src/InitTweak/GenInit.cc
r933f32f r292642a 15 15 #include "GenInit.h" 16 16 17 #include <stddef.h> 18 #include <algorithm> 19 #include <cassert> 20 #include <iterator> 21 #include <list> 17 #include <stddef.h> // for NULL 18 #include <algorithm> // for any_of 19 #include <cassert> // for assert, strict_dynamic_cast, assertf 20 #include <iterator> // for back_inserter, inserter, back_inse... 21 #include <list> // for _List_iterator, list 22 22 23 23 #include "CodeGen/OperatorTable.h" 24 #include "Common/PassVisitor.h" 25 #include "Common/SemanticError.h" 26 #include "Common/UniqueName.h" 27 #include "Common/utility.h" 28 #include "GenPoly/GenPoly.h" 29 #include "GenPoly/ScopedSet.h" 30 #include "InitTweak.h" 31 #include "Parser/LinkageSpec.h" 24 #include "Common/PassVisitor.h" // for PassVisitor, WithGuards, WithShort... 25 #include "Common/SemanticError.h" // for SemanticError 26 #include "Common/UniqueName.h" // for UniqueName 27 #include "Common/utility.h" // for ValueGuard, maybeClone 28 #include "GenPoly/GenPoly.h" // for getFunctionType, isPolyType 29 #include "GenPoly/ScopedSet.h" // for ScopedSet, ScopedSet<>::const_iter... 30 #include "InitTweak.h" // for isConstExpr, InitExpander, checkIn... 31 #include "Parser/LinkageSpec.h" // for isOverridable, C 32 32 #include "ResolvExpr/Resolver.h" 33 #include "SymTab/Autogen.h" // for genImplicitCall 34 #include "SymTab/Mangler.h" // for Mangler 35 #include "SynTree/Declaration.h" // for ObjectDecl, DeclarationWithType 36 #include "SynTree/Expression.h" // for VariableExpr, UntypedExpr, Address... 37 #include "SynTree/Initializer.h" // for ConstructorInit, SingleInit, Initi... 38 #include "SynTree/Label.h" // for Label 39 #include "SynTree/Mutator.h" // for mutateAll 40 #include "SynTree/Statement.h" // for CompoundStmt, ImplicitCtorDtorStmt 41 #include "SynTree/Type.h" // for Type, ArrayType, Type::Qualifiers 42 #include "SynTree/Visitor.h" // for acceptAll, maybeAccept 43 #include "Tuples/Tuples.h" // for maybeImpure 44 #include "Validate/FindSpecialDecls.h" // for SizeType 33 #include "SymTab/Autogen.h" // for genImplicitCall, SizeType 34 #include "SymTab/Mangler.h" // for Mangler 35 #include "SynTree/Declaration.h" // for ObjectDecl, DeclarationWithType 36 #include "SynTree/Expression.h" // for VariableExpr, UntypedExpr, Address... 37 #include "SynTree/Initializer.h" // for ConstructorInit, SingleInit, Initi... 38 #include "SynTree/Label.h" // for Label 39 #include "SynTree/Mutator.h" // for mutateAll 40 #include "SynTree/Statement.h" // for CompoundStmt, ImplicitCtorDtorStmt 41 #include "SynTree/Type.h" // for Type, ArrayType, Type::Qualifiers 42 #include "SynTree/Visitor.h" // for acceptAll, maybeAccept 43 #include "Tuples/Tuples.h" // for maybeImpure 45 44 46 45 namespace InitTweak { … … 187 186 188 187 // need to resolve array dimensions in order to accurately determine if constexpr 189 ResolvExpr::findSingleExpression( arrayType->dimension, Validate::SizeType->clone(), indexer );188 ResolvExpr::findSingleExpression( arrayType->dimension, SymTab::SizeType->clone(), indexer ); 190 189 // array is variable-length when the dimension is not constexpr 191 190 arrayType->isVarLen = ! isConstExpr( arrayType->dimension ); … … 193 192 if ( ! Tuples::maybeImpure( arrayType->dimension ) ) return; 194 193 195 ObjectDecl * arrayDimension = new ObjectDecl( dimensionName.newName(), storageClasses, LinkageSpec::C, 0, Validate::SizeType->clone(), new SingleInit( arrayType->get_dimension() ) );194 ObjectDecl * arrayDimension = new ObjectDecl( dimensionName.newName(), storageClasses, LinkageSpec::C, 0, SymTab::SizeType->clone(), new SingleInit( arrayType->get_dimension() ) ); 196 195 arrayDimension->get_type()->set_const( true ); 197 196 -
src/InitTweak/InitTweak.cc
r933f32f r292642a 340 340 std::list< Expression * > matches; 341 341 collectCtorDtorCalls( stmt, matches ); 342 assert f( matches.size() <= 1, "%zd constructor/destructors found in %s", matches.size(), toString( stmt ).c_str());342 assert( matches.size() <= 1 ); 343 343 return matches.size() == 1 ? matches.front() : nullptr; 344 344 } -
src/Makefile.am
r933f32f r292642a 69 69 ARFLAGS = cr 70 70 71 demangler_SOURCES = SymTab/demangler.cc # test driver for the demangler, also useful as a sanity check that libdemangle.a is complete71 demangler_SOURCES = SymTab/demangler.cc 72 72 73 73 demangler_LDADD = libdemangle.a -ldl # yywrap -
src/Makefile.in
r933f32f r292642a 224 224 $(am__objects_6) Tuples/TupleAssignment.$(OBJEXT) \ 225 225 Tuples/TupleExpansion.$(OBJEXT) Tuples/Explode.$(OBJEXT) \ 226 Validate/HandleAttributes.$(OBJEXT) \ 227 Validate/FindSpecialDecls.$(OBJEXT) 226 Validate/HandleAttributes.$(OBJEXT) 228 227 am_libdemangle_a_OBJECTS = $(am__objects_7) 229 228 libdemangle_a_OBJECTS = $(am_libdemangle_a_OBJECTS) … … 256 255 Tuples/TupleExpansion.$(OBJEXT) Tuples/Explode.$(OBJEXT) \ 257 256 Validate/HandleAttributes.$(OBJEXT) \ 258 Validate/FindSpecialDecls.$(OBJEXT) \259 257 Virtual/ExpandCasts.$(OBJEXT) 260 258 am____driver_cfa_cpp_OBJECTS = $(am__objects_8) … … 547 545 Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc \ 548 546 Tuples/Explode.cc Validate/HandleAttributes.cc \ 549 V alidate/FindSpecialDecls.cc Virtual/ExpandCasts.cc547 Virtual/ExpandCasts.cc 550 548 SRCDEMANGLE = CompilationState.cc $(SRC_CODEGEN) \ 551 549 Concurrency/Keywords.cc $(SRC_COMMON) $(SRC_CONTROLSTRUCT) \ … … 554 552 $(SRC_SYMTAB) SymTab/Demangle.cc $(SRC_SYNTREE) \ 555 553 Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc \ 556 Tuples/Explode.cc Validate/HandleAttributes.cc \ 557 Validate/FindSpecialDecls.cc 554 Tuples/Explode.cc Validate/HandleAttributes.cc 558 555 MAINTAINERCLEANFILES = ${libdir}/${notdir ${cfa_cpplib_PROGRAMS}} 559 556 MOSTLYCLEANFILES = Parser/lex.cc Parser/parser.cc Parser/parser.hh \ … … 662 659 AM_LDFLAGS = @HOST_FLAGS@ -Xlinker -export-dynamic 663 660 ARFLAGS = cr 664 demangler_SOURCES = SymTab/demangler.cc # test driver for the demangler, also useful as a sanity check that libdemangle.a is complete661 demangler_SOURCES = SymTab/demangler.cc 665 662 demangler_LDADD = libdemangle.a -ldl # yywrap 666 663 noinst_LIBRARIES = libdemangle.a … … 959 956 @: > Validate/$(DEPDIR)/$(am__dirstamp) 960 957 Validate/HandleAttributes.$(OBJEXT): Validate/$(am__dirstamp) \ 961 Validate/$(DEPDIR)/$(am__dirstamp)962 Validate/FindSpecialDecls.$(OBJEXT): Validate/$(am__dirstamp) \963 958 Validate/$(DEPDIR)/$(am__dirstamp) 964 959 … … 1239 1234 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/TupleAssignment.Po@am__quote@ 1240 1235 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/TupleExpansion.Po@am__quote@ 1241 @AMDEP_TRUE@@am__include@ @am__quote@Validate/$(DEPDIR)/FindSpecialDecls.Po@am__quote@1242 1236 @AMDEP_TRUE@@am__include@ @am__quote@Validate/$(DEPDIR)/HandleAttributes.Po@am__quote@ 1243 1237 @AMDEP_TRUE@@am__include@ @am__quote@Virtual/$(DEPDIR)/ExpandCasts.Po@am__quote@ -
src/Parser/parser.yy
r933f32f r292642a 1345 1345 1346 1346 handler_clause: 1347 handler_key '(' push exception_declaration pop handler_predicate_opt ')' compound_statement 1347 handler_key '(' push exception_declaration pop handler_predicate_opt ')' compound_statement pop 1348 1348 { $$ = new StatementNode( build_catch( $1, $4, $6, $8 ) ); } 1349 | handler_clause handler_key '(' push exception_declaration pop handler_predicate_opt ')' compound_statement 1349 | handler_clause handler_key '(' push exception_declaration pop handler_predicate_opt ')' compound_statement pop 1350 1350 { $$ = (StatementNode *)$1->set_last( new StatementNode( build_catch( $2, $5, $7, $9 ) ) ); } 1351 1351 ; -
src/ResolvExpr/Resolver.cc
r933f32f r292642a 43 43 #include "typeops.h" // for extractResultType 44 44 #include "Unify.h" // for unify 45 #include "Validate/FindSpecialDecls.h" // for SizeType46 45 47 46 using namespace std; … … 236 235 winner.cost = winner.cvtCost; 237 236 } 238 237 239 238 // produce ambiguous errors, if applicable 240 239 if ( winners.size() != 1 ) { … … 256 255 257 256 // xxx - check for ambiguous expressions 258 257 259 258 // output selected choice 260 259 alt = std::move( choice ); … … 403 402 404 403 void Resolver::previsit( ObjectDecl * objectDecl ) { 405 // To handle initialization of routine pointers, e.g., int (*fp)(int) = foo(), means that 406 // class-variable initContext is changed multiple time because the LHS is analysed twice. 407 // The second analysis changes initContext because of a function type can contain object 408 // declarations in the return and parameter types. So each value of initContext is 404 // To handle initialization of routine pointers, e.g., int (*fp)(int) = foo(), means that 405 // class-variable initContext is changed multiple time because the LHS is analysed twice. 406 // The second analysis changes initContext because of a function type can contain object 407 // declarations in the return and parameter types. So each value of initContext is 409 408 // retained, so the type on the first analysis is preserved and used for selecting the RHS. 410 409 GuardValue( currentObject ); … … 420 419 void Resolver::handlePtrType( PtrType * type ) { 421 420 if ( type->get_dimension() ) { 422 findSingleExpression( type->dimension, Validate::SizeType->clone(), indexer );421 findSingleExpression( type->dimension, SymTab::SizeType->clone(), indexer ); 423 422 } 424 423 } … … 443 442 444 443 void Resolver::postvisit( FunctionDecl * functionDecl ) { 445 // default value expressions have an environment which shouldn't be there and trips up 444 // default value expressions have an environment which shouldn't be there and trips up 446 445 // later passes. 447 // xxx - it might be necessary to somehow keep the information from this environment, but I 446 // xxx - it might be necessary to somehow keep the information from this environment, but I 448 447 // can't currently see how it's useful. 449 448 for ( Declaration * d : functionDecl->type->parameters ) { … … 796 795 initExpr->expr = nullptr; 797 796 std::swap( initExpr->env, newExpr->env ); 798 // InitExpr may have inferParams in the case where the expression specializes a function 799 // pointer, and newExpr may already have inferParams of its own, so a simple swap is not 797 // InitExpr may have inferParams in the case where the expression specializes a function 798 // pointer, and newExpr may already have inferParams of its own, so a simple swap is not 800 799 // sufficient. 801 800 newExpr->spliceInferParams( initExpr ); 802 801 delete initExpr; 803 802 804 // get the actual object's type (may not exactly match what comes back from the resolver 803 // get the actual object's type (may not exactly match what comes back from the resolver 805 804 // due to conversions) 806 805 Type * initContext = currentObject.getCurrentType(); … … 815 814 if ( isCharType( pt->get_base() ) ) { 816 815 if ( CastExpr * ce = dynamic_cast< CastExpr * >( newExpr ) ) { 817 // strip cast if we're initializing a char[] with a char *, 816 // strip cast if we're initializing a char[] with a char *, 818 817 // e.g. char x[] = "hello"; 819 818 newExpr = ce->get_arg(); … … 838 837 // move cursor into brace-enclosed initializer-list 839 838 currentObject.enterListInit(); 840 // xxx - fix this so that the list isn't copied, iterator should be used to change current 839 // xxx - fix this so that the list isn't copied, iterator should be used to change current 841 840 // element 842 841 std::list<Designation *> newDesignations; 843 842 for ( auto p : group_iterate(listInit->get_designations(), listInit->get_initializers()) ) { 844 // iterate designations and initializers in pairs, moving the cursor to the current 843 // iterate designations and initializers in pairs, moving the cursor to the current 845 844 // designated object and resolving the initializer against that object. 846 845 Designation * des = std::get<0>(p); -
src/SymTab/Autogen.cc
r933f32f r292642a 41 41 42 42 namespace SymTab { 43 Type * SizeType = 0; 44 43 45 /// Data used to generate functions generically. Specifically, the name of the generated function and a function which generates the routine protoype 44 46 struct FuncData { 45 typedef FunctionType * (*TypeGen)( Type * , bool);47 typedef FunctionType * (*TypeGen)( Type * ); 46 48 FuncData( const std::string & fname, const TypeGen & genType ) : fname( fname ), genType( genType ) {} 47 49 std::string fname; … … 229 231 230 232 /// given type T, generate type of default ctor/dtor, i.e. function type void (*) (T *) 231 FunctionType * genDefaultType( Type * paramType, bool maybePolymorphic ) { 233 FunctionType * genDefaultType( Type * paramType ) { 234 const auto & typeParams = getGenericParams( paramType ); 232 235 FunctionType *ftype = new FunctionType( Type::Qualifiers(), false ); 233 if ( maybePolymorphic ) { 234 // only copy in 235 const auto & typeParams = getGenericParams( paramType ); 236 cloneAll( typeParams, ftype->forall ); 237 } 236 cloneAll( typeParams, ftype->forall ); 238 237 ObjectDecl *dstParam = new ObjectDecl( "_dst", Type::StorageClasses(), LinkageSpec::Cforall, nullptr, new ReferenceType( Type::Qualifiers(), paramType->clone() ), nullptr ); 239 238 ftype->parameters.push_back( dstParam ); … … 242 241 243 242 /// given type T, generate type of copy ctor, i.e. function type void (*) (T *, T) 244 FunctionType * genCopyType( Type * paramType , bool maybePolymorphic) {245 FunctionType *ftype = genDefaultType( paramType , maybePolymorphic);243 FunctionType * genCopyType( Type * paramType ) { 244 FunctionType *ftype = genDefaultType( paramType ); 246 245 ObjectDecl *srcParam = new ObjectDecl( "_src", Type::StorageClasses(), LinkageSpec::Cforall, nullptr, paramType->clone(), nullptr ); 247 246 ftype->parameters.push_back( srcParam ); … … 250 249 251 250 /// given type T, generate type of assignment, i.e. function type T (*) (T *, T) 252 FunctionType * genAssignType( Type * paramType , bool maybePolymorphic) {253 FunctionType *ftype = genCopyType( paramType , maybePolymorphic);251 FunctionType * genAssignType( Type * paramType ) { 252 FunctionType *ftype = genCopyType( paramType ); 254 253 ObjectDecl *returnVal = new ObjectDecl( "_ret", Type::StorageClasses(), LinkageSpec::Cforall, nullptr, paramType->clone(), nullptr ); 255 254 ftype->returnVals.push_back( returnVal ); … … 309 308 for ( const FuncData & d : data ) { 310 309 // generate a function (?{}, ?=?, ^?{}) based on the current FuncData. 311 FunctionType * ftype = d.genType( type , true);310 FunctionType * ftype = d.genType( type ); 312 311 313 312 // destructor for concurrent type must be mutex -
src/SymTab/Autogen.h
r933f32f r292642a 37 37 bool isUnnamedBitfield( ObjectDecl * obj ); 38 38 39 /// generate the type of an assignment function for paramType. 40 /// maybePolymorphic is true if the resulting FunctionType is allowed to be polymorphic 41 FunctionType * genAssignType( Type * paramType, bool maybePolymorphic = true ); 42 43 /// generate the type of a default constructor or destructor for paramType. 44 /// maybePolymorphic is true if the resulting FunctionType is allowed to be polymorphic 45 FunctionType * genDefaultType( Type * paramType, bool maybePolymorphic = true ); 46 47 /// generate the type of a copy constructor for paramType. 48 /// maybePolymorphic is true if the resulting FunctionType is allowed to be polymorphic 49 FunctionType * genCopyType( Type * paramType, bool maybePolymorphic = true ); 39 /// size_t type - set when size_t typedef is seen. Useful in a few places, 40 /// such as in determining array dimension type 41 extern Type * SizeType; 42 43 /// intrinsic dereference operator for unqualified types - set when *? function is seen in FindSpecialDeclarations. 44 /// Useful for creating dereference ApplicationExprs without a full resolver pass. 45 extern FunctionDecl * dereferenceOperator; 46 47 // generate the type of an assignment function for paramType 48 FunctionType * genAssignType( Type * paramType ); 49 50 // generate the type of a default constructor or destructor for paramType 51 FunctionType * genDefaultType( Type * paramType ); 52 53 // generate the type of a copy constructor for paramType 54 FunctionType * genCopyType( Type * paramType ); 50 55 51 56 /// inserts into out a generated call expression to function fname with arguments dstParam and srcParam. Intended to be used with generated ?=?, ?{}, and ^?{} calls. -
src/SymTab/Validate.cc
r933f32f r292642a 76 76 #include "SynTree/Visitor.h" // for Visitor 77 77 #include "Validate/HandleAttributes.h" // for handleAttributes 78 #include "Validate/FindSpecialDecls.h" // for FindSpecialDecls79 78 80 79 class CompoundStmt; … … 289 288 }; 290 289 290 FunctionDecl * dereferenceOperator = nullptr; 291 struct FindSpecialDeclarations final { 292 void previsit( FunctionDecl * funcDecl ); 293 }; 294 291 295 void validate( std::list< Declaration * > &translationUnit, __attribute__((unused)) bool doDebug ) { 292 296 PassVisitor<EnumAndPointerDecay> epc; … … 295 299 PassVisitor<CompoundLiteral> compoundliteral; 296 300 PassVisitor<ValidateGenericParameters> genericParams; 301 PassVisitor<FindSpecialDeclarations> finder; 297 302 PassVisitor<LabelAddressFixer> labelAddrFixer; 298 303 PassVisitor<HoistTypeDecls> hoistDecls; … … 373 378 }); 374 379 Stats::Time::TimeBlock("Find Special Declarations", [&]() { 375 Validate::findSpecialDecls( translationUnit );380 acceptAll( translationUnit, finder ); // xxx - remove this pass soon 376 381 }); 377 382 Stats::Time::TimeBlock("Fix Label Address", [&]() { … … 938 943 if ( eliminator.pass.typedefNames.count( "size_t" ) ) { 939 944 // grab and remember declaration of size_t 940 Validate::SizeType = eliminator.pass.typedefNames["size_t"].first->base->clone();945 SizeType = eliminator.pass.typedefNames["size_t"].first->base->clone(); 941 946 } else { 942 947 // xxx - missing global typedef for size_t - default to long unsigned int, even though that may be wrong 943 948 // eventually should have a warning for this case. 944 Validate::SizeType = new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt );949 SizeType = new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ); 945 950 } 946 951 } … … 1330 1335 // need to resolve array dimensions early so that constructor code can correctly determine 1331 1336 // if a type is a VLA (and hence whether its elements need to be constructed) 1332 ResolvExpr::findSingleExpression( type->dimension, Validate::SizeType->clone(), indexer );1337 ResolvExpr::findSingleExpression( type->dimension, SymTab::SizeType->clone(), indexer ); 1333 1338 1334 1339 // must re-evaluate whether a type is a VLA, now that more information is available … … 1367 1372 return addrExpr; 1368 1373 } 1374 1375 void FindSpecialDeclarations::previsit( FunctionDecl * funcDecl ) { 1376 if ( ! dereferenceOperator ) { 1377 if ( funcDecl->get_name() == "*?" && funcDecl->get_linkage() == LinkageSpec::Intrinsic ) { 1378 FunctionType * ftype = funcDecl->get_functionType(); 1379 if ( ftype->get_parameters().size() == 1 && ftype->get_parameters().front()->get_type()->get_qualifiers() == Type::Qualifiers() ) { 1380 dereferenceOperator = funcDecl; 1381 } 1382 } 1383 } 1384 } 1369 1385 } // namespace SymTab 1370 1386 -
src/SynTree/DeclReplacer.cc
r933f32f r292642a 38 38 void previsit( TypeInstType * inst ); 39 39 }; 40 41 /// Mutator that replaces uses of declarations with arbitrary expressions, according to the supplied mapping42 struct ExprDeclReplacer {43 private:44 const ExprMap & exprMap;45 bool debug;46 public:47 ExprDeclReplacer( const ExprMap & exprMap, bool debug = false );48 49 // replace variable with new node from expr map50 Expression * postmutate( VariableExpr * varExpr );51 };52 40 } 53 41 … … 65 53 DeclMap declMap; 66 54 replace( node, declMap, typeMap, debug ); 67 }68 69 void replace( BaseSyntaxNode *& node, const ExprMap & exprMap, bool debug ) {70 PassVisitor<ExprDeclReplacer> replacer( exprMap, debug );71 node = maybeMutate( node, replacer );72 55 } 73 56 … … 96 79 } 97 80 } 98 99 ExprDeclReplacer::ExprDeclReplacer( const ExprMap & exprMap, bool debug ) : exprMap( exprMap ), debug( debug ) {}100 101 Expression * ExprDeclReplacer::postmutate( VariableExpr * varExpr ) {102 if ( exprMap.count( varExpr->var ) ) {103 Expression * replacement = exprMap.at( varExpr->var )->clone();104 if ( debug ) {105 std::cerr << "replacing variable reference: " << (void*)varExpr->var << " " << varExpr->var << " with " << (void*)replacement << " " << replacement << std::endl;106 }107 std::swap( varExpr->env, replacement->env );108 delete varExpr;109 return replacement;110 }111 return varExpr;112 }113 81 } 114 82 } // namespace VarExprReplacer -
src/SynTree/DeclReplacer.h
r933f32f r292642a 26 26 typedef std::map< DeclarationWithType *, DeclarationWithType * > DeclMap; 27 27 typedef std::map< TypeDecl *, TypeDecl * > TypeMap; 28 typedef std::map< DeclarationWithType *, Expression * > ExprMap;29 28 30 29 void replace( BaseSyntaxNode * node, const DeclMap & declMap, bool debug = false ); 31 30 void replace( BaseSyntaxNode * node, const TypeMap & typeMap, bool debug = false ); 32 31 void replace( BaseSyntaxNode * node, const DeclMap & declMap, const TypeMap & typeMap, bool debug = false ); 33 34 void replace( BaseSyntaxNode *& node, const ExprMap & exprMap, bool debug = false);35 template<typename T>36 void replace( T *& node, const ExprMap & exprMap, bool debug = false ) {37 if ( ! node ) return;38 BaseSyntaxNode * arg = node;39 replace( arg, exprMap, debug );40 node = dynamic_cast<T *>( arg );41 assertf( node, "DeclReplacer fundamentally changed the type of its argument." );42 }43 32 } 44 33 -
src/SynTree/Expression.cc
r933f32f r292642a 538 538 assert( callExpr ); 539 539 assert( callExpr->result ); 540 set_result( callExpr-> result->clone() );540 set_result( callExpr->get_result()->clone() ); 541 541 } 542 542 543 543 ImplicitCopyCtorExpr::ImplicitCopyCtorExpr( const ImplicitCopyCtorExpr & other ) : Expression( other ), callExpr( maybeClone( other.callExpr ) ) { 544 cloneAll( other.tempDecls, tempDecls ); 545 cloneAll( other.returnDecls, returnDecls ); 546 cloneAll( other.dtors, dtors ); 544 547 } 545 548 … … 547 550 set_env( nullptr ); // ImplicitCopyCtorExpr does not take ownership of an environment 548 551 delete callExpr; 552 deleteAll( tempDecls ); 553 deleteAll( returnDecls ); 554 deleteAll( dtors ); 549 555 } 550 556 … … 552 558 os << "Implicit Copy Constructor Expression: " << std::endl << indent+1; 553 559 callExpr->print( os, indent+1 ); 560 os << std::endl << indent << "... with temporaries:" << std::endl; 561 printAll( tempDecls, os, indent+1 ); 562 os << std::endl << indent << "... with return temporaries:" << std::endl; 563 printAll( returnDecls, os, indent+1 ); 564 Expression::print( os, indent ); 554 565 } 555 566 -
src/SynTree/Expression.h
r933f32f r292642a 593 593 class ImplicitCopyCtorExpr : public Expression { 594 594 public: 595 ApplicationExpr * callExpr = nullptr; 595 ApplicationExpr * callExpr; 596 std::list< ObjectDecl * > tempDecls; 597 std::list< ObjectDecl * > returnDecls; 598 std::list< Expression * > dtors; 596 599 597 600 ImplicitCopyCtorExpr( ApplicationExpr * callExpr ); 598 601 ImplicitCopyCtorExpr( const ImplicitCopyCtorExpr & other ); 599 602 virtual ~ImplicitCopyCtorExpr(); 603 604 ApplicationExpr * get_callExpr() const { return callExpr; } 605 void set_callExpr( ApplicationExpr * newValue ) { callExpr = newValue; } 606 607 std::list< ObjectDecl * > & get_tempDecls() { return tempDecls; } 608 std::list< ObjectDecl * > & get_returnDecls() { return returnDecls; } 609 std::list< Expression * > & get_dtors() { return dtors; } 600 610 601 611 virtual ImplicitCopyCtorExpr * clone() const { return new ImplicitCopyCtorExpr( * this ); } -
src/Validate/module.mk
r933f32f r292642a 15 15 ############################################################################### 16 16 17 SRC += Validate/HandleAttributes.cc Validate/FindSpecialDecls.cc18 SRCDEMANGLE += Validate/HandleAttributes.cc Validate/FindSpecialDecls.cc17 SRC += Validate/HandleAttributes.cc 18 SRCDEMANGLE += Validate/HandleAttributes.cc -
src/Virtual/ExpandCasts.cc
r933f32f r292642a 147 147 // ) 148 148 // ), 149 new ApplicationExpr( VariableExpr::functionPointer( vcast_decl), {149 new UntypedExpr( new NameExpr( "__cfa__virtual_cast" ), { 150 150 new CastExpr( 151 151 new AddressExpr( new VariableExpr( table ) ), 152 152 pointer_to_pvt(1) 153 ),153 ), 154 154 new CastExpr( 155 155 castExpr->get_arg(), 156 156 pointer_to_pvt(2) 157 )158 } ),157 ) 158 } ), 159 159 castExpr->get_result()->clone() 160 );160 ); 161 161 162 162 castExpr->set_arg( nullptr ); -
tests/.expect/KRfunctions.x64.txt
r933f32f r292642a 17 17 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1); 18 18 static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 19 { 20 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */); 21 } 22 19 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */); 23 20 } 24 21 static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 25 { 26 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */); 27 } 28 22 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */); 29 23 } 30 24 static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 31 { 32 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */); 33 } 34 25 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */); 35 26 } 36 27 static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 37 28 struct S _X4_retS1S_1; 38 { 39 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1)); 40 } 41 42 { 43 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 44 } 45 29 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1)); 30 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 46 31 return _X4_retS1S_1; 47 32 } 48 33 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){ 49 { 50 ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */); 51 } 52 34 ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */); 53 35 } 54 36 signed int _X2f3Fi_S1SS1SPi__1(struct S _X1aS1S_1, struct S _X1bS1S_1, signed int *_X1cPi_1){ … … 77 59 __attribute__ ((unused)) signed int *(*_X11_retval_f10FPi_ii__1)(signed int _X1xi_1, signed int _X1yi_1); 78 60 signed int *_X1xFPi_ii__2(signed int __anonymous_object2, signed int __anonymous_object3); 79 { 80 ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */); 81 } 82 61 ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */); 83 62 return _X11_retval_f10FPi_ii__1; 84 63 } … … 103 82 signed int _X1ai_2; 104 83 signed int _X1bi_2; 105 { 106 signed int *(*_tmp_cp_ret4)(signed int _X1xi_1, signed int _X1yi_1); 107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4))); 108 } 109 84 signed int *(*_tmp_cp_ret4)(signed int _X1xi_1, signed int _X1yi_1); 85 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4))); 86 ((void)(_tmp_cp_ret4) /* ^?{} */); 110 87 const signed int _X2f1Fi_iPiPi__2(signed int _X1ai_2, signed int *_X1bPi_2, signed int *_X1cPi_2){ 111 88 __attribute__ ((unused)) const signed int _X10_retval_f1Ki_2; -
tests/.expect/KRfunctions.x86.txt
r933f32f r292642a 17 17 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1); 18 18 static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 19 { 20 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */); 21 } 22 19 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */); 23 20 } 24 21 static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 25 { 26 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */); 27 } 28 22 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */); 29 23 } 30 24 static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 31 { 32 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */); 33 } 34 25 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */); 35 26 } 36 27 static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 37 28 struct S _X4_retS1S_1; 38 { 39 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1)); 40 } 41 42 { 43 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 44 } 45 29 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1)); 30 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 46 31 return _X4_retS1S_1; 47 32 } 48 33 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){ 49 { 50 ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */); 51 } 52 34 ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */); 53 35 } 54 36 signed int _X2f3Fi_S1SS1SPi__1(struct S _X1aS1S_1, struct S _X1bS1S_1, signed int *_X1cPi_1){ … … 77 59 __attribute__ ((unused)) signed int *(*_X11_retval_f10FPi_ii__1)(signed int _X1xi_1, signed int _X1yi_1); 78 60 signed int *_X1xFPi_ii__2(signed int __anonymous_object2, signed int __anonymous_object3); 79 { 80 ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */); 81 } 82 61 ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */); 83 62 return _X11_retval_f10FPi_ii__1; 84 63 } … … 103 82 signed int _X1ai_2; 104 83 signed int _X1bi_2; 105 { 106 signed int *(*_tmp_cp_ret4)(signed int _X1xi_1, signed int _X1yi_1); 107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4))); 108 } 109 84 signed int *(*_tmp_cp_ret4)(signed int _X1xi_1, signed int _X1yi_1); 85 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4))); 86 ((void)(_tmp_cp_ret4) /* ^?{} */); 110 87 const signed int _X2f1Fi_iPiPi__2(signed int _X1ai_2, signed int *_X1bPi_2, signed int *_X1cPi_2){ 111 88 __attribute__ ((unused)) const signed int _X10_retval_f1Ki_2; -
tests/.expect/attributes.x64.txt
r933f32f r292642a 1 1 signed int _X2laFi___1(){ 2 2 __attribute__ ((unused)) signed int _X10_retval_lai_1; 3 { 4 L: __attribute__ ((unused)) ((void)1); 5 } 6 3 L: __attribute__ ((unused)) ((void)1); 7 4 } 8 5 struct __attribute__ ((unused)) __anonymous0 { … … 20 17 static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){ 21 18 struct __anonymous0 _X4_retS12__anonymous0_1; 22 { 23 ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1))); 24 } 25 19 ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1))); 26 20 return _X4_retS12__anonymous0_1; 27 21 } … … 41 35 static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){ 42 36 struct Agn2 _X4_retS4Agn2_1; 43 { 44 ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1))); 45 } 46 37 ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1))); 47 38 return _X4_retS4Agn2_1; 48 39 } … … 68 59 static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){ 69 60 struct __anonymous2 _X4_retS12__anonymous2_1; 70 { 71 ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1))); 72 } 73 61 ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1))); 74 62 return _X4_retS12__anonymous2_1; 75 63 } … … 88 76 static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){ 89 77 struct Agn4 _X4_retS4Agn4_1; 90 { 91 ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1))); 92 } 93 78 ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1))); 94 79 return _X4_retS4Agn4_1; 95 80 } … … 119 104 static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1); 120 105 static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){ 121 { 122 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */); 123 } 124 125 { 126 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */); 127 } 128 129 { 130 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 131 } 132 133 { 134 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 135 } 136 137 { 138 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 139 } 140 141 { 142 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 143 } 144 145 { 146 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 147 } 148 149 { 150 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 151 } 152 153 { 154 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 155 } 156 106 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */); 107 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */); 108 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 109 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 110 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 111 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 112 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 113 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 114 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 157 115 } 158 116 static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){ 159 { 160 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */); 161 } 162 163 { 164 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */); 165 } 166 167 { 168 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */); 169 } 170 171 { 172 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */); 173 } 174 175 { 176 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */); 177 } 178 179 { 180 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */); 181 } 182 183 { 184 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */); 185 } 186 187 { 188 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */); 189 } 190 191 { 192 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */); 193 } 194 117 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */); 118 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */); 119 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */); 120 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */); 121 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */); 122 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */); 123 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */); 124 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */); 125 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */); 195 126 } 196 127 static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){ 197 { 198 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */); 199 } 200 201 { 202 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */); 203 } 204 205 { 206 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */); 207 } 208 209 { 210 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */); 211 } 212 213 { 214 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */); 215 } 216 217 { 218 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */); 219 } 220 221 { 222 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */); 223 } 224 225 { 226 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */); 227 } 228 229 { 230 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */); 231 } 232 128 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */); 129 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */); 130 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */); 131 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */); 132 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */); 133 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */); 134 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */); 135 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */); 136 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */); 233 137 } 234 138 static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){ 235 139 struct Fdl _X4_retS3Fdl_1; 236 { 237 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1)); 238 } 239 240 { 241 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1)); 242 } 243 244 { 245 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1)); 246 } 247 248 { 249 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1)); 250 } 251 252 { 253 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1)); 254 } 255 256 { 257 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1)); 258 } 259 260 { 261 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1)); 262 } 263 264 { 265 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1)); 266 } 267 268 { 269 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1)); 270 } 271 272 { 273 ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1))); 274 } 275 140 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1)); 141 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1)); 142 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1)); 143 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1)); 144 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1)); 145 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1)); 146 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1)); 147 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1)); 148 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1)); 149 ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1))); 276 150 return _X4_retS3Fdl_1; 277 151 } 278 152 static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1){ 279 { 280 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 281 } 282 283 { 284 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */); 285 } 286 287 { 288 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 289 } 290 291 { 292 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 293 } 294 295 { 296 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 297 } 298 299 { 300 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 301 } 302 303 { 304 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 305 } 306 307 { 308 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 309 } 310 311 { 312 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 313 } 314 153 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 154 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */); 155 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 156 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 157 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 158 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 159 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 160 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 161 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 315 162 } 316 163 static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1){ 317 { 318 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 319 } 320 321 { 322 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 323 } 324 325 { 326 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 327 } 328 329 { 330 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 331 } 332 333 { 334 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 335 } 336 337 { 338 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 339 } 340 341 { 342 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 343 } 344 345 { 346 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 347 } 348 349 { 350 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 351 } 352 164 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 165 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 166 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 167 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 168 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 169 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 170 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 171 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 172 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 353 173 } 354 174 static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1){ 355 { 356 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 357 } 358 359 { 360 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 361 } 362 363 { 364 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 365 } 366 367 { 368 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 369 } 370 371 { 372 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 373 } 374 375 { 376 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 377 } 378 379 { 380 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 381 } 382 383 { 384 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 385 } 386 387 { 388 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 389 } 390 175 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 176 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 177 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 178 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 179 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 180 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 181 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 182 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 183 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 391 184 } 392 185 static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1){ 393 { 394 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 395 } 396 397 { 398 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 399 } 400 401 { 402 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 403 } 404 405 { 406 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 407 } 408 409 { 410 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 411 } 412 413 { 414 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 415 } 416 417 { 418 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 419 } 420 421 { 422 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 423 } 424 425 { 426 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 427 } 428 186 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 187 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 188 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 189 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 190 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 191 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 192 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 193 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 194 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 429 195 } 430 196 static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1){ 431 { 432 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 433 } 434 435 { 436 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 437 } 438 439 { 440 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 441 } 442 443 { 444 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 445 } 446 447 { 448 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 449 } 450 451 { 452 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 453 } 454 455 { 456 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 457 } 458 459 { 460 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 461 } 462 463 { 464 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 465 } 466 197 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 198 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 199 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 200 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 201 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 202 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 203 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 204 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 205 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 467 206 } 468 207 static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1){ 469 { 470 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 471 } 472 473 { 474 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 475 } 476 477 { 478 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 479 } 480 481 { 482 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 483 } 484 485 { 486 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 487 } 488 489 { 490 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 491 } 492 493 { 494 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 495 } 496 497 { 498 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 499 } 500 501 { 502 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 503 } 504 208 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 209 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 210 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 211 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 212 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 213 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 214 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 215 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 216 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 505 217 } 506 218 static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1){ 507 { 508 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 509 } 510 511 { 512 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 513 } 514 515 { 516 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 517 } 518 519 { 520 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 521 } 522 523 { 524 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 525 } 526 527 { 528 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 529 } 530 531 { 532 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 533 } 534 535 { 536 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 537 } 538 539 { 540 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 541 } 542 219 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 220 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 221 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 222 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 223 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 224 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 225 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 226 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 227 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 543 228 } 544 229 static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1){ 545 { 546 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 547 } 548 549 { 550 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 551 } 552 553 { 554 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 555 } 556 557 { 558 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 559 } 560 561 { 562 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 563 } 564 565 { 566 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 567 } 568 569 { 570 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 571 } 572 573 { 574 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */); 575 } 576 577 { 578 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 579 } 580 230 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 231 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 232 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 233 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 234 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 235 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 236 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 237 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */); 238 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 581 239 } 582 240 static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1){ 583 { 584 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 585 } 586 587 { 588 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 589 } 590 591 { 592 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 593 } 594 595 { 596 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 597 } 598 599 { 600 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 601 } 602 603 { 604 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 605 } 606 607 { 608 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 609 } 610 611 { 612 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */); 613 } 614 615 { 616 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */); 617 } 618 241 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 242 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 243 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 244 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 245 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 246 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 247 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 248 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */); 249 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */); 619 250 } 620 251 __attribute__ ((unused)) signed int _X1fFi___1() asm ( "xyz" ); … … 683 314 __attribute__ ((unused,unused,unused,unused,used)) signed int _X3ad5i_2; 684 315 __attribute__ ((unused,unused,unused,unused,unused)) signed int _X3ad6Fi___2(); 685 { 686 ((void)sizeof(__attribute__ ((unused,unused)) signed int )); 687 } 688 689 { 690 ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **)); 691 } 692 693 { 694 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [((unsigned long int )5)])); 695 } 696 697 { 698 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[((unsigned long int )10)])); 699 } 700 701 { 702 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ())); 703 } 704 316 ((void)sizeof(__attribute__ ((unused,unused)) signed int )); 317 ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **)); 318 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [((unsigned long int )5)])); 319 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[((unsigned long int )10)])); 320 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ())); 705 321 struct __attribute__ ((unused)) __anonymous3 { 706 322 signed int _X1ii_2; 707 323 }; 708 324 inline void _X12_constructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){ 709 { 710 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */); 711 } 712 325 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */); 713 326 } 714 327 inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){ 715 { 716 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */); 717 } 718 328 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */); 719 329 } 720 330 inline void _X11_destructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){ 721 { 722 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */); 723 } 724 331 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */); 725 332 } 726 333 inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){ 727 334 struct __anonymous3 _X4_retS12__anonymous3_2; 728 { 729 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2)); 730 } 731 732 { 733 ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2))); 734 } 735 335 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2)); 336 ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2))); 736 337 return _X4_retS12__anonymous3_2; 737 338 } 738 339 inline void _X12_constructorFv_S12__anonymous3i_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, signed int _X1ii_2){ 739 { 740 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */); 741 } 742 743 } 744 { 745 ((void)sizeof(struct __anonymous3 )); 746 } 747 340 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */); 341 } 342 ((void)sizeof(struct __anonymous3 )); 748 343 enum __attribute__ ((unused)) __anonymous4 { 749 344 _X1RKM12__anonymous4_2, … … 752 347 } 753 348 inline void _X12_constructorFv_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){ 754 { 755 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */); 756 } 757 349 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */); 758 350 } 759 351 inline void _X11_destructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){ … … 761 353 inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){ 762 354 enum __anonymous4 _X4_retM12__anonymous4_2; 763 { 764 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); 765 } 766 767 { 768 ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */); 769 } 770 355 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); 356 ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */); 771 357 return _X4_retM12__anonymous4_2; 772 358 } 773 { 774 ((void)sizeof(enum __anonymous4 )); 775 } 776 359 ((void)sizeof(enum __anonymous4 )); 777 360 } 778 361 signed int _X4apd1Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object9, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object10); … … 800 383 static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){ 801 384 struct Vad _X4_retS3Vad_1; 802 { 803 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 804 } 805 385 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 806 386 return _X4_retS3Vad_1; 807 387 } -
tests/.expect/attributes.x86.txt
r933f32f r292642a 1 1 signed int _X2laFi___1(){ 2 2 __attribute__ ((unused)) signed int _X10_retval_lai_1; 3 { 4 L: __attribute__ ((unused)) ((void)1); 5 } 6 3 L: __attribute__ ((unused)) ((void)1); 7 4 } 8 5 struct __attribute__ ((unused)) __anonymous0 { … … 20 17 static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){ 21 18 struct __anonymous0 _X4_retS12__anonymous0_1; 22 { 23 ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1))); 24 } 25 19 ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1))); 26 20 return _X4_retS12__anonymous0_1; 27 21 } … … 41 35 static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){ 42 36 struct Agn2 _X4_retS4Agn2_1; 43 { 44 ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1))); 45 } 46 37 ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1))); 47 38 return _X4_retS4Agn2_1; 48 39 } … … 68 59 static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){ 69 60 struct __anonymous2 _X4_retS12__anonymous2_1; 70 { 71 ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1))); 72 } 73 61 ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1))); 74 62 return _X4_retS12__anonymous2_1; 75 63 } … … 88 76 static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){ 89 77 struct Agn4 _X4_retS4Agn4_1; 90 { 91 ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1))); 92 } 93 78 ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1))); 94 79 return _X4_retS4Agn4_1; 95 80 } … … 119 104 static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1); 120 105 static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){ 121 { 122 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */); 123 } 124 125 { 126 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */); 127 } 128 129 { 130 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 131 } 132 133 { 134 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 135 } 136 137 { 138 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 139 } 140 141 { 142 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 143 } 144 145 { 146 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 147 } 148 149 { 150 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 151 } 152 153 { 154 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 155 } 156 106 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */); 107 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */); 108 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 109 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 110 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 111 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 112 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 113 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 114 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 157 115 } 158 116 static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){ 159 { 160 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */); 161 } 162 163 { 164 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */); 165 } 166 167 { 168 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */); 169 } 170 171 { 172 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */); 173 } 174 175 { 176 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */); 177 } 178 179 { 180 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */); 181 } 182 183 { 184 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */); 185 } 186 187 { 188 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */); 189 } 190 191 { 192 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */); 193 } 194 117 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */); 118 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */); 119 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */); 120 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */); 121 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */); 122 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */); 123 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */); 124 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */); 125 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */); 195 126 } 196 127 static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){ 197 { 198 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */); 199 } 200 201 { 202 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */); 203 } 204 205 { 206 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */); 207 } 208 209 { 210 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */); 211 } 212 213 { 214 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */); 215 } 216 217 { 218 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */); 219 } 220 221 { 222 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */); 223 } 224 225 { 226 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */); 227 } 228 229 { 230 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */); 231 } 232 128 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */); 129 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */); 130 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */); 131 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */); 132 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */); 133 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */); 134 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */); 135 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */); 136 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */); 233 137 } 234 138 static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){ 235 139 struct Fdl _X4_retS3Fdl_1; 236 { 237 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1)); 238 } 239 240 { 241 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1)); 242 } 243 244 { 245 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1)); 246 } 247 248 { 249 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1)); 250 } 251 252 { 253 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1)); 254 } 255 256 { 257 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1)); 258 } 259 260 { 261 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1)); 262 } 263 264 { 265 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1)); 266 } 267 268 { 269 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1)); 270 } 271 272 { 273 ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1))); 274 } 275 140 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1)); 141 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1)); 142 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1)); 143 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1)); 144 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1)); 145 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1)); 146 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1)); 147 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1)); 148 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1)); 149 ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1))); 276 150 return _X4_retS3Fdl_1; 277 151 } 278 152 static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1){ 279 { 280 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 281 } 282 283 { 284 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */); 285 } 286 287 { 288 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 289 } 290 291 { 292 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 293 } 294 295 { 296 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 297 } 298 299 { 300 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 301 } 302 303 { 304 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 305 } 306 307 { 308 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 309 } 310 311 { 312 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 313 } 314 153 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 154 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */); 155 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 156 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 157 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 158 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 159 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 160 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 161 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 315 162 } 316 163 static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1){ 317 { 318 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 319 } 320 321 { 322 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 323 } 324 325 { 326 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 327 } 328 329 { 330 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 331 } 332 333 { 334 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 335 } 336 337 { 338 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 339 } 340 341 { 342 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 343 } 344 345 { 346 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 347 } 348 349 { 350 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 351 } 352 164 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 165 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 166 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */); 167 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 168 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 169 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 170 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 171 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 172 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 353 173 } 354 174 static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1){ 355 { 356 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 357 } 358 359 { 360 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 361 } 362 363 { 364 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 365 } 366 367 { 368 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 369 } 370 371 { 372 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 373 } 374 375 { 376 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 377 } 378 379 { 380 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 381 } 382 383 { 384 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 385 } 386 387 { 388 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 389 } 390 175 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 176 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 177 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 178 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */); 179 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 180 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 181 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 182 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 183 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 391 184 } 392 185 static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1){ 393 { 394 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 395 } 396 397 { 398 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 399 } 400 401 { 402 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 403 } 404 405 { 406 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 407 } 408 409 { 410 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 411 } 412 413 { 414 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 415 } 416 417 { 418 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 419 } 420 421 { 422 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 423 } 424 425 { 426 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 427 } 428 186 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 187 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 188 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 189 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 190 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */); 191 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 192 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 193 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 194 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 429 195 } 430 196 static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1){ 431 { 432 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 433 } 434 435 { 436 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 437 } 438 439 { 440 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 441 } 442 443 { 444 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 445 } 446 447 { 448 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 449 } 450 451 { 452 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 453 } 454 455 { 456 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 457 } 458 459 { 460 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 461 } 462 463 { 464 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 465 } 466 197 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 198 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 199 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 200 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 201 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 202 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */); 203 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 204 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 205 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 467 206 } 468 207 static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1){ 469 { 470 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 471 } 472 473 { 474 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 475 } 476 477 { 478 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 479 } 480 481 { 482 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 483 } 484 485 { 486 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 487 } 488 489 { 490 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 491 } 492 493 { 494 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 495 } 496 497 { 498 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 499 } 500 501 { 502 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 503 } 504 208 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 209 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 210 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 211 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 212 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 213 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 214 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */); 215 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 216 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 505 217 } 506 218 static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1){ 507 { 508 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 509 } 510 511 { 512 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 513 } 514 515 { 516 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 517 } 518 519 { 520 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 521 } 522 523 { 524 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 525 } 526 527 { 528 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 529 } 530 531 { 532 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 533 } 534 535 { 536 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 537 } 538 539 { 540 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 541 } 542 219 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 220 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 221 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 222 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 223 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 224 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 225 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 226 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */); 227 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 543 228 } 544 229 static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1){ 545 { 546 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 547 } 548 549 { 550 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 551 } 552 553 { 554 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 555 } 556 557 { 558 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 559 } 560 561 { 562 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 563 } 564 565 { 566 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 567 } 568 569 { 570 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 571 } 572 573 { 574 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */); 575 } 576 577 { 578 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 579 } 580 230 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 231 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 232 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 233 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 234 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 235 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 236 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 237 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */); 238 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */); 581 239 } 582 240 static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1){ 583 { 584 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 585 } 586 587 { 588 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 589 } 590 591 { 592 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 593 } 594 595 { 596 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 597 } 598 599 { 600 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 601 } 602 603 { 604 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 605 } 606 607 { 608 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 609 } 610 611 { 612 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */); 613 } 614 615 { 616 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */); 617 } 618 241 ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */); 242 ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */); 243 ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */); 244 ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */); 245 ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */); 246 ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */); 247 ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */); 248 ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */); 249 ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */); 619 250 } 620 251 __attribute__ ((unused)) signed int _X1fFi___1() asm ( "xyz" ); … … 683 314 __attribute__ ((unused,unused,unused,unused,used)) signed int _X3ad5i_2; 684 315 __attribute__ ((unused,unused,unused,unused,unused)) signed int _X3ad6Fi___2(); 685 { 686 ((void)sizeof(__attribute__ ((unused,unused)) signed int )); 687 } 688 689 { 690 ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **)); 691 } 692 693 { 694 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [((unsigned int )5)])); 695 } 696 697 { 698 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[((unsigned int )10)])); 699 } 700 701 { 702 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ())); 703 } 704 316 ((void)sizeof(__attribute__ ((unused,unused)) signed int )); 317 ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **)); 318 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [((unsigned int )5)])); 319 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[((unsigned int )10)])); 320 ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ())); 705 321 struct __attribute__ ((unused)) __anonymous3 { 706 322 signed int _X1ii_2; 707 323 }; 708 324 inline void _X12_constructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){ 709 { 710 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */); 711 } 712 325 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */); 713 326 } 714 327 inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){ 715 { 716 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */); 717 } 718 328 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */); 719 329 } 720 330 inline void _X11_destructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){ 721 { 722 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */); 723 } 724 331 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */); 725 332 } 726 333 inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){ 727 334 struct __anonymous3 _X4_retS12__anonymous3_2; 728 { 729 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2)); 730 } 731 732 { 733 ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2))); 734 } 735 335 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2)); 336 ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2))); 736 337 return _X4_retS12__anonymous3_2; 737 338 } 738 339 inline void _X12_constructorFv_S12__anonymous3i_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, signed int _X1ii_2){ 739 { 740 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */); 741 } 742 743 } 744 { 745 ((void)sizeof(struct __anonymous3 )); 746 } 747 340 ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */); 341 } 342 ((void)sizeof(struct __anonymous3 )); 748 343 enum __attribute__ ((unused)) __anonymous4 { 749 344 _X1RKM12__anonymous4_2, … … 752 347 } 753 348 inline void _X12_constructorFv_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){ 754 { 755 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */); 756 } 757 349 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */); 758 350 } 759 351 inline void _X11_destructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){ … … 761 353 inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){ 762 354 enum __anonymous4 _X4_retM12__anonymous4_2; 763 { 764 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); 765 } 766 767 { 768 ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */); 769 } 770 355 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); 356 ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */); 771 357 return _X4_retM12__anonymous4_2; 772 358 } 773 { 774 ((void)sizeof(enum __anonymous4 )); 775 } 776 359 ((void)sizeof(enum __anonymous4 )); 777 360 } 778 361 signed int _X4apd1Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object9, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object10); … … 800 383 static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){ 801 384 struct Vad _X4_retS3Vad_1; 802 { 803 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 804 } 805 385 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 806 386 return _X4_retS3Vad_1; 807 387 } -
tests/.expect/declarationSpecifier.x64.txt
r933f32f r292642a 16 16 static inline void _X12_constructorFv_S12__anonymous0i_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, signed int _X1ii_1); 17 17 static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){ 18 { 19 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ?{} */); 20 } 21 18 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ?{} */); 22 19 } 23 20 static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){ 24 { 25 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1) /* ?{} */); 26 } 27 21 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1) /* ?{} */); 28 22 } 29 23 static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){ 30 { 31 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ^?{} */); 32 } 33 24 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ^?{} */); 34 25 } 35 26 static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){ 36 27 struct __anonymous0 _X4_retS12__anonymous0_1; 37 { 38 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1)); 39 } 40 41 { 42 ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1))); 43 } 44 28 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1)); 29 ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1))); 45 30 return _X4_retS12__anonymous0_1; 46 31 } 47 32 static inline void _X12_constructorFv_S12__anonymous0i_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, signed int _X1ii_1){ 48 { 49 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X1ii_1) /* ?{} */); 50 } 51 33 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X1ii_1) /* ?{} */); 52 34 } 53 35 volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1; … … 61 43 static inline void _X12_constructorFv_S12__anonymous1i_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, signed int _X1ii_1); 62 44 static inline void _X12_constructorFv_S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1){ 63 { 64 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ?{} */); 65 } 66 45 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ?{} */); 67 46 } 68 47 static inline void _X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, struct __anonymous1 _X4_srcS12__anonymous1_1){ 69 { 70 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1) /* ?{} */); 71 } 72 48 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1) /* ?{} */); 73 49 } 74 50 static inline void _X11_destructorFv_S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1){ 75 { 76 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ^?{} */); 77 } 78 51 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ^?{} */); 79 52 } 80 53 static inline struct __anonymous1 _X16_operator_assignFS12__anonymous1_S12__anonymous1S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, struct __anonymous1 _X4_srcS12__anonymous1_1){ 81 54 struct __anonymous1 _X4_retS12__anonymous1_1; 82 { 83 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1)); 84 } 85 86 { 87 ((void)_X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1((&_X4_retS12__anonymous1_1), (*_X4_dstS12__anonymous1_1))); 88 } 89 55 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1)); 56 ((void)_X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1((&_X4_retS12__anonymous1_1), (*_X4_dstS12__anonymous1_1))); 90 57 return _X4_retS12__anonymous1_1; 91 58 } 92 59 static inline void _X12_constructorFv_S12__anonymous1i_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, signed int _X1ii_1){ 93 { 94 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X1ii_1) /* ?{} */); 95 } 96 60 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X1ii_1) /* ?{} */); 97 61 } 98 62 volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1; … … 106 70 static inline void _X12_constructorFv_S12__anonymous2i_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, signed int _X1ii_1); 107 71 static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){ 108 { 109 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ?{} */); 110 } 111 72 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ?{} */); 112 73 } 113 74 static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){ 114 { 115 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1) /* ?{} */); 116 } 117 75 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1) /* ?{} */); 118 76 } 119 77 static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){ 120 { 121 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ^?{} */); 122 } 123 78 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ^?{} */); 124 79 } 125 80 static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){ 126 81 struct __anonymous2 _X4_retS12__anonymous2_1; 127 { 128 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1)); 129 } 130 131 { 132 ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1))); 133 } 134 82 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1)); 83 ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1))); 135 84 return _X4_retS12__anonymous2_1; 136 85 } 137 86 static inline void _X12_constructorFv_S12__anonymous2i_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, signed int _X1ii_1){ 138 { 139 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X1ii_1) /* ?{} */); 140 } 141 87 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X1ii_1) /* ?{} */); 142 88 } 143 89 volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1; … … 151 97 static inline void _X12_constructorFv_S12__anonymous3i_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, signed int _X1ii_1); 152 98 static inline void _X12_constructorFv_S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1){ 153 { 154 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ?{} */); 155 } 156 99 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ?{} */); 157 100 } 158 101 static inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, struct __anonymous3 _X4_srcS12__anonymous3_1){ 159 { 160 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1) /* ?{} */); 161 } 162 102 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1) /* ?{} */); 163 103 } 164 104 static inline void _X11_destructorFv_S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1){ 165 { 166 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ^?{} */); 167 } 168 105 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ^?{} */); 169 106 } 170 107 static inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, struct __anonymous3 _X4_srcS12__anonymous3_1){ 171 108 struct __anonymous3 _X4_retS12__anonymous3_1; 172 { 173 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1)); 174 } 175 176 { 177 ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1((&_X4_retS12__anonymous3_1), (*_X4_dstS12__anonymous3_1))); 178 } 179 109 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1)); 110 ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1((&_X4_retS12__anonymous3_1), (*_X4_dstS12__anonymous3_1))); 180 111 return _X4_retS12__anonymous3_1; 181 112 } 182 113 static inline void _X12_constructorFv_S12__anonymous3i_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, signed int _X1ii_1){ 183 { 184 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X1ii_1) /* ?{} */); 185 } 186 114 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X1ii_1) /* ?{} */); 187 115 } 188 116 static volatile const struct __anonymous3 _X3x13KVS12__anonymous3_1; … … 196 124 static inline void _X12_constructorFv_S12__anonymous4i_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, signed int _X1ii_1); 197 125 static inline void _X12_constructorFv_S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1){ 198 { 199 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ?{} */); 200 } 201 126 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ?{} */); 202 127 } 203 128 static inline void _X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, struct __anonymous4 _X4_srcS12__anonymous4_1){ 204 { 205 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1) /* ?{} */); 206 } 207 129 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1) /* ?{} */); 208 130 } 209 131 static inline void _X11_destructorFv_S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1){ 210 { 211 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ^?{} */); 212 } 213 132 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ^?{} */); 214 133 } 215 134 static inline struct __anonymous4 _X16_operator_assignFS12__anonymous4_S12__anonymous4S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, struct __anonymous4 _X4_srcS12__anonymous4_1){ 216 135 struct __anonymous4 _X4_retS12__anonymous4_1; 217 { 218 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1)); 219 } 220 221 { 222 ((void)_X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1((&_X4_retS12__anonymous4_1), (*_X4_dstS12__anonymous4_1))); 223 } 224 136 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1)); 137 ((void)_X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1((&_X4_retS12__anonymous4_1), (*_X4_dstS12__anonymous4_1))); 225 138 return _X4_retS12__anonymous4_1; 226 139 } 227 140 static inline void _X12_constructorFv_S12__anonymous4i_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, signed int _X1ii_1){ 228 { 229 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X1ii_1) /* ?{} */); 230 } 231 141 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X1ii_1) /* ?{} */); 232 142 } 233 143 static volatile const struct __anonymous4 _X3x14KVS12__anonymous4_1; … … 241 151 static inline void _X12_constructorFv_S12__anonymous5i_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, signed int _X1ii_1); 242 152 static inline void _X12_constructorFv_S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1){ 243 { 244 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ?{} */); 245 } 246 153 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ?{} */); 247 154 } 248 155 static inline void _X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, struct __anonymous5 _X4_srcS12__anonymous5_1){ 249 { 250 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1) /* ?{} */); 251 } 252 156 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1) /* ?{} */); 253 157 } 254 158 static inline void _X11_destructorFv_S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1){ 255 { 256 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ^?{} */); 257 } 258 159 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ^?{} */); 259 160 } 260 161 static inline struct __anonymous5 _X16_operator_assignFS12__anonymous5_S12__anonymous5S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, struct __anonymous5 _X4_srcS12__anonymous5_1){ 261 162 struct __anonymous5 _X4_retS12__anonymous5_1; 262 { 263 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1)); 264 } 265 266 { 267 ((void)_X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1((&_X4_retS12__anonymous5_1), (*_X4_dstS12__anonymous5_1))); 268 } 269 163 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1)); 164 ((void)_X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1((&_X4_retS12__anonymous5_1), (*_X4_dstS12__anonymous5_1))); 270 165 return _X4_retS12__anonymous5_1; 271 166 } 272 167 static inline void _X12_constructorFv_S12__anonymous5i_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, signed int _X1ii_1){ 273 { 274 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X1ii_1) /* ?{} */); 275 } 276 168 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X1ii_1) /* ?{} */); 277 169 } 278 170 static volatile const struct __anonymous5 _X3x15KVS12__anonymous5_1; … … 286 178 static inline void _X12_constructorFv_S12__anonymous6i_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, signed int _X1ii_1); 287 179 static inline void _X12_constructorFv_S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1){ 288 { 289 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ?{} */); 290 } 291 180 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ?{} */); 292 181 } 293 182 static inline void _X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, struct __anonymous6 _X4_srcS12__anonymous6_1){ 294 { 295 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1) /* ?{} */); 296 } 297 183 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1) /* ?{} */); 298 184 } 299 185 static inline void _X11_destructorFv_S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1){ 300 { 301 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ^?{} */); 302 } 303 186 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ^?{} */); 304 187 } 305 188 static inline struct __anonymous6 _X16_operator_assignFS12__anonymous6_S12__anonymous6S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, struct __anonymous6 _X4_srcS12__anonymous6_1){ 306 189 struct __anonymous6 _X4_retS12__anonymous6_1; 307 { 308 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1)); 309 } 310 311 { 312 ((void)_X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1((&_X4_retS12__anonymous6_1), (*_X4_dstS12__anonymous6_1))); 313 } 314 190 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1)); 191 ((void)_X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1((&_X4_retS12__anonymous6_1), (*_X4_dstS12__anonymous6_1))); 315 192 return _X4_retS12__anonymous6_1; 316 193 } 317 194 static inline void _X12_constructorFv_S12__anonymous6i_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, signed int _X1ii_1){ 318 { 319 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X1ii_1) /* ?{} */); 320 } 321 195 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X1ii_1) /* ?{} */); 322 196 } 323 197 static volatile const struct __anonymous6 _X3x16KVS12__anonymous6_1; … … 331 205 static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1); 332 206 static 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 207 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ?{} */); 337 208 } 338 209 static 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 210 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1) /* ?{} */); 343 211 } 344 212 static 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 213 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ^?{} */); 349 214 } 350 215 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){ 351 216 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 217 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1)); 218 ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1))); 360 219 return _X4_retS12__anonymous7_1; 361 220 } 362 221 static 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 222 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X1ii_1) /* ?{} */); 367 223 } 368 224 static volatile const struct __anonymous7 _X3x17KVS12__anonymous7_1; … … 384 240 static inline void _X12_constructorFv_S12__anonymous8s_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, signed short int _X1is_1); 385 241 static inline void _X12_constructorFv_S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1){ 386 { 387 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ?{} */); 388 } 389 242 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ?{} */); 390 243 } 391 244 static inline void _X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, struct __anonymous8 _X4_srcS12__anonymous8_1){ 392 { 393 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1) /* ?{} */); 394 } 395 245 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1) /* ?{} */); 396 246 } 397 247 static inline void _X11_destructorFv_S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1){ 398 { 399 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ^?{} */); 400 } 401 248 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ^?{} */); 402 249 } 403 250 static inline struct __anonymous8 _X16_operator_assignFS12__anonymous8_S12__anonymous8S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, struct __anonymous8 _X4_srcS12__anonymous8_1){ 404 251 struct __anonymous8 _X4_retS12__anonymous8_1; 405 { 406 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1)); 407 } 408 409 { 410 ((void)_X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1((&_X4_retS12__anonymous8_1), (*_X4_dstS12__anonymous8_1))); 411 } 412 252 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1)); 253 ((void)_X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1((&_X4_retS12__anonymous8_1), (*_X4_dstS12__anonymous8_1))); 413 254 return _X4_retS12__anonymous8_1; 414 255 } 415 256 static inline void _X12_constructorFv_S12__anonymous8s_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, signed short int _X1is_1){ 416 { 417 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X1is_1) /* ?{} */); 418 } 419 257 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X1is_1) /* ?{} */); 420 258 } 421 259 volatile const struct __anonymous8 _X3x29KVS12__anonymous8_1; … … 429 267 static inline void _X12_constructorFv_S12__anonymous9s_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, signed short int _X1is_1); 430 268 static inline void _X12_constructorFv_S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1){ 431 { 432 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ?{} */); 433 } 434 269 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ?{} */); 435 270 } 436 271 static inline void _X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, struct __anonymous9 _X4_srcS12__anonymous9_1){ 437 { 438 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1) /* ?{} */); 439 } 440 272 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1) /* ?{} */); 441 273 } 442 274 static inline void _X11_destructorFv_S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1){ 443 { 444 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ^?{} */); 445 } 446 275 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ^?{} */); 447 276 } 448 277 static inline struct __anonymous9 _X16_operator_assignFS12__anonymous9_S12__anonymous9S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, struct __anonymous9 _X4_srcS12__anonymous9_1){ 449 278 struct __anonymous9 _X4_retS12__anonymous9_1; 450 { 451 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1)); 452 } 453 454 { 455 ((void)_X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1((&_X4_retS12__anonymous9_1), (*_X4_dstS12__anonymous9_1))); 456 } 457 279 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1)); 280 ((void)_X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1((&_X4_retS12__anonymous9_1), (*_X4_dstS12__anonymous9_1))); 458 281 return _X4_retS12__anonymous9_1; 459 282 } 460 283 static inline void _X12_constructorFv_S12__anonymous9s_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, signed short int _X1is_1){ 461 { 462 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X1is_1) /* ?{} */); 463 } 464 284 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X1is_1) /* ?{} */); 465 285 } 466 286 volatile const struct __anonymous9 _X3x30KVS12__anonymous9_1; … … 474 294 static inline void _X12_constructorFv_S13__anonymous10s_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, signed short int _X1is_1); 475 295 static inline void _X12_constructorFv_S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1){ 476 { 477 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ?{} */); 478 } 479 296 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ?{} */); 480 297 } 481 298 static inline void _X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, struct __anonymous10 _X4_srcS13__anonymous10_1){ 482 { 483 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1) /* ?{} */); 484 } 485 299 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1) /* ?{} */); 486 300 } 487 301 static inline void _X11_destructorFv_S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1){ 488 { 489 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ^?{} */); 490 } 491 302 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ^?{} */); 492 303 } 493 304 static inline struct __anonymous10 _X16_operator_assignFS13__anonymous10_S13__anonymous10S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, struct __anonymous10 _X4_srcS13__anonymous10_1){ 494 305 struct __anonymous10 _X4_retS13__anonymous10_1; 495 { 496 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1)); 497 } 498 499 { 500 ((void)_X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1((&_X4_retS13__anonymous10_1), (*_X4_dstS13__anonymous10_1))); 501 } 502 306 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1)); 307 ((void)_X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1((&_X4_retS13__anonymous10_1), (*_X4_dstS13__anonymous10_1))); 503 308 return _X4_retS13__anonymous10_1; 504 309 } 505 310 static inline void _X12_constructorFv_S13__anonymous10s_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, signed short int _X1is_1){ 506 { 507 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X1is_1) /* ?{} */); 508 } 509 311 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X1is_1) /* ?{} */); 510 312 } 511 313 volatile const struct __anonymous10 _X3x31KVS13__anonymous10_1; … … 519 321 static inline void _X12_constructorFv_S13__anonymous11s_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, signed short int _X1is_1); 520 322 static inline void _X12_constructorFv_S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1){ 521 { 522 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ?{} */); 523 } 524 323 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ?{} */); 525 324 } 526 325 static inline void _X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, struct __anonymous11 _X4_srcS13__anonymous11_1){ 527 { 528 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1) /* ?{} */); 529 } 530 326 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1) /* ?{} */); 531 327 } 532 328 static inline void _X11_destructorFv_S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1){ 533 { 534 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ^?{} */); 535 } 536 329 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ^?{} */); 537 330 } 538 331 static inline struct __anonymous11 _X16_operator_assignFS13__anonymous11_S13__anonymous11S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, struct __anonymous11 _X4_srcS13__anonymous11_1){ 539 332 struct __anonymous11 _X4_retS13__anonymous11_1; 540 { 541 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1)); 542 } 543 544 { 545 ((void)_X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1((&_X4_retS13__anonymous11_1), (*_X4_dstS13__anonymous11_1))); 546 } 547 333 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1)); 334 ((void)_X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1((&_X4_retS13__anonymous11_1), (*_X4_dstS13__anonymous11_1))); 548 335 return _X4_retS13__anonymous11_1; 549 336 } 550 337 static inline void _X12_constructorFv_S13__anonymous11s_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, signed short int _X1is_1){ 551 { 552 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X1is_1) /* ?{} */); 553 } 554 338 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X1is_1) /* ?{} */); 555 339 } 556 340 static volatile const struct __anonymous11 _X3x32KVS13__anonymous11_1; … … 564 348 static inline void _X12_constructorFv_S13__anonymous12s_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, signed short int _X1is_1); 565 349 static inline void _X12_constructorFv_S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1){ 566 { 567 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ?{} */); 568 } 569 350 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ?{} */); 570 351 } 571 352 static inline void _X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, struct __anonymous12 _X4_srcS13__anonymous12_1){ 572 { 573 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1) /* ?{} */); 574 } 575 353 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1) /* ?{} */); 576 354 } 577 355 static inline void _X11_destructorFv_S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1){ 578 { 579 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ^?{} */); 580 } 581 356 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ^?{} */); 582 357 } 583 358 static inline struct __anonymous12 _X16_operator_assignFS13__anonymous12_S13__anonymous12S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, struct __anonymous12 _X4_srcS13__anonymous12_1){ 584 359 struct __anonymous12 _X4_retS13__anonymous12_1; 585 { 586 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1)); 587 } 588 589 { 590 ((void)_X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1((&_X4_retS13__anonymous12_1), (*_X4_dstS13__anonymous12_1))); 591 } 592 360 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1)); 361 ((void)_X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1((&_X4_retS13__anonymous12_1), (*_X4_dstS13__anonymous12_1))); 593 362 return _X4_retS13__anonymous12_1; 594 363 } 595 364 static inline void _X12_constructorFv_S13__anonymous12s_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, signed short int _X1is_1){ 596 { 597 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X1is_1) /* ?{} */); 598 } 599 365 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X1is_1) /* ?{} */); 600 366 } 601 367 static volatile const struct __anonymous12 _X3x33KVS13__anonymous12_1; … … 609 375 static inline void _X12_constructorFv_S13__anonymous13s_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, signed short int _X1is_1); 610 376 static inline void _X12_constructorFv_S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1){ 611 { 612 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ?{} */); 613 } 614 377 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ?{} */); 615 378 } 616 379 static inline void _X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, struct __anonymous13 _X4_srcS13__anonymous13_1){ 617 { 618 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1) /* ?{} */); 619 } 620 380 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1) /* ?{} */); 621 381 } 622 382 static inline void _X11_destructorFv_S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1){ 623 { 624 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ^?{} */); 625 } 626 383 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ^?{} */); 627 384 } 628 385 static inline struct __anonymous13 _X16_operator_assignFS13__anonymous13_S13__anonymous13S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, struct __anonymous13 _X4_srcS13__anonymous13_1){ 629 386 struct __anonymous13 _X4_retS13__anonymous13_1; 630 { 631 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1)); 632 } 633 634 { 635 ((void)_X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1((&_X4_retS13__anonymous13_1), (*_X4_dstS13__anonymous13_1))); 636 } 637 387 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1)); 388 ((void)_X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1((&_X4_retS13__anonymous13_1), (*_X4_dstS13__anonymous13_1))); 638 389 return _X4_retS13__anonymous13_1; 639 390 } 640 391 static inline void _X12_constructorFv_S13__anonymous13s_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, signed short int _X1is_1){ 641 { 642 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X1is_1) /* ?{} */); 643 } 644 392 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X1is_1) /* ?{} */); 645 393 } 646 394 static volatile const struct __anonymous13 _X3x34KVS13__anonymous13_1; … … 654 402 static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1); 655 403 static 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 404 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ?{} */); 660 405 } 661 406 static 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 407 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1) /* ?{} */); 666 408 } 667 409 static 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 410 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ^?{} */); 672 411 } 673 412 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){ 674 413 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 414 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1)); 415 ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1))); 683 416 return _X4_retS13__anonymous14_1; 684 417 } 685 418 static 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 419 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X1is_1) /* ?{} */); 690 420 } 691 421 static volatile const struct __anonymous14 _X3x35KVS13__anonymous14_1; … … 699 429 static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1); 700 430 static 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 431 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ?{} */); 705 432 } 706 433 static 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 434 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1) /* ?{} */); 711 435 } 712 436 static 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 437 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ^?{} */); 717 438 } 718 439 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){ 719 440 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 441 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1)); 442 ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1))); 728 443 return _X4_retS13__anonymous15_1; 729 444 } 730 445 static 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 446 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X1is_1) /* ?{} */); 735 447 } 736 448 static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1; … … 760 472 static inline void _X12_constructorFv_S13__anonymous16i_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, signed int _X1ii_1); 761 473 static inline void _X12_constructorFv_S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1){ 762 { 763 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ?{} */); 764 } 765 474 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ?{} */); 766 475 } 767 476 static inline void _X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, struct __anonymous16 _X4_srcS13__anonymous16_1){ 768 { 769 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1) /* ?{} */); 770 } 771 477 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1) /* ?{} */); 772 478 } 773 479 static inline void _X11_destructorFv_S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1){ 774 { 775 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ^?{} */); 776 } 777 480 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ^?{} */); 778 481 } 779 482 static inline struct __anonymous16 _X16_operator_assignFS13__anonymous16_S13__anonymous16S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, struct __anonymous16 _X4_srcS13__anonymous16_1){ 780 483 struct __anonymous16 _X4_retS13__anonymous16_1; 781 { 782 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1)); 783 } 784 785 { 786 ((void)_X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1((&_X4_retS13__anonymous16_1), (*_X4_dstS13__anonymous16_1))); 787 } 788 484 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1)); 485 ((void)_X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1((&_X4_retS13__anonymous16_1), (*_X4_dstS13__anonymous16_1))); 789 486 return _X4_retS13__anonymous16_1; 790 487 } 791 488 static inline void _X12_constructorFv_S13__anonymous16i_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, signed int _X1ii_1){ 792 { 793 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X1ii_1) /* ?{} */); 794 } 795 489 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X1ii_1) /* ?{} */); 796 490 } 797 491 static inline volatile const struct __anonymous16 _X3f31FS13__anonymous16___1(); … … 805 499 static inline void _X12_constructorFv_S13__anonymous17i_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, signed int _X1ii_1); 806 500 static inline void _X12_constructorFv_S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1){ 807 { 808 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ?{} */); 809 } 810 501 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ?{} */); 811 502 } 812 503 static inline void _X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, struct __anonymous17 _X4_srcS13__anonymous17_1){ 813 { 814 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1) /* ?{} */); 815 } 816 504 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1) /* ?{} */); 817 505 } 818 506 static inline void _X11_destructorFv_S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1){ 819 { 820 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ^?{} */); 821 } 822 507 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ^?{} */); 823 508 } 824 509 static inline struct __anonymous17 _X16_operator_assignFS13__anonymous17_S13__anonymous17S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, struct __anonymous17 _X4_srcS13__anonymous17_1){ 825 510 struct __anonymous17 _X4_retS13__anonymous17_1; 826 { 827 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1)); 828 } 829 830 { 831 ((void)_X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1((&_X4_retS13__anonymous17_1), (*_X4_dstS13__anonymous17_1))); 832 } 833 511 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1)); 512 ((void)_X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1((&_X4_retS13__anonymous17_1), (*_X4_dstS13__anonymous17_1))); 834 513 return _X4_retS13__anonymous17_1; 835 514 } 836 515 static inline void _X12_constructorFv_S13__anonymous17i_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, signed int _X1ii_1){ 837 { 838 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X1ii_1) /* ?{} */); 839 } 840 516 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X1ii_1) /* ?{} */); 841 517 } 842 518 static inline volatile const struct __anonymous17 _X3f32FS13__anonymous17___1(); … … 850 526 static inline void _X12_constructorFv_S13__anonymous18i_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, signed int _X1ii_1); 851 527 static inline void _X12_constructorFv_S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1){ 852 { 853 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ?{} */); 854 } 855 528 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ?{} */); 856 529 } 857 530 static inline void _X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, struct __anonymous18 _X4_srcS13__anonymous18_1){ 858 { 859 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1) /* ?{} */); 860 } 861 531 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1) /* ?{} */); 862 532 } 863 533 static inline void _X11_destructorFv_S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1){ 864 { 865 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ^?{} */); 866 } 867 534 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ^?{} */); 868 535 } 869 536 static inline struct __anonymous18 _X16_operator_assignFS13__anonymous18_S13__anonymous18S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, struct __anonymous18 _X4_srcS13__anonymous18_1){ 870 537 struct __anonymous18 _X4_retS13__anonymous18_1; 871 { 872 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1)); 873 } 874 875 { 876 ((void)_X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1((&_X4_retS13__anonymous18_1), (*_X4_dstS13__anonymous18_1))); 877 } 878 538 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1)); 539 ((void)_X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1((&_X4_retS13__anonymous18_1), (*_X4_dstS13__anonymous18_1))); 879 540 return _X4_retS13__anonymous18_1; 880 541 } 881 542 static inline void _X12_constructorFv_S13__anonymous18i_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, signed int _X1ii_1){ 882 { 883 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X1ii_1) /* ?{} */); 884 } 885 543 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X1ii_1) /* ?{} */); 886 544 } 887 545 static inline volatile const struct __anonymous18 _X3f33FS13__anonymous18___1(); … … 895 553 static inline void _X12_constructorFv_S13__anonymous19i_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, signed int _X1ii_1); 896 554 static inline void _X12_constructorFv_S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1){ 897 { 898 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ?{} */); 899 } 900 555 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ?{} */); 901 556 } 902 557 static inline void _X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, struct __anonymous19 _X4_srcS13__anonymous19_1){ 903 { 904 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1) /* ?{} */); 905 } 906 558 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1) /* ?{} */); 907 559 } 908 560 static inline void _X11_destructorFv_S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1){ 909 { 910 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ^?{} */); 911 } 912 561 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ^?{} */); 913 562 } 914 563 static inline struct __anonymous19 _X16_operator_assignFS13__anonymous19_S13__anonymous19S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, struct __anonymous19 _X4_srcS13__anonymous19_1){ 915 564 struct __anonymous19 _X4_retS13__anonymous19_1; 916 { 917 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1)); 918 } 919 920 { 921 ((void)_X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1((&_X4_retS13__anonymous19_1), (*_X4_dstS13__anonymous19_1))); 922 } 923 565 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1)); 566 ((void)_X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1((&_X4_retS13__anonymous19_1), (*_X4_dstS13__anonymous19_1))); 924 567 return _X4_retS13__anonymous19_1; 925 568 } 926 569 static inline void _X12_constructorFv_S13__anonymous19i_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, signed int _X1ii_1){ 927 { 928 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X1ii_1) /* ?{} */); 929 } 930 570 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X1ii_1) /* ?{} */); 931 571 } 932 572 static inline volatile const struct __anonymous19 _X3f34FS13__anonymous19___1(); … … 940 580 static inline void _X12_constructorFv_S13__anonymous20i_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, signed int _X1ii_1); 941 581 static inline void _X12_constructorFv_S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1){ 942 { 943 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ?{} */); 944 } 945 582 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ?{} */); 946 583 } 947 584 static inline void _X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, struct __anonymous20 _X4_srcS13__anonymous20_1){ 948 { 949 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1) /* ?{} */); 950 } 951 585 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1) /* ?{} */); 952 586 } 953 587 static inline void _X11_destructorFv_S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1){ 954 { 955 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ^?{} */); 956 } 957 588 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ^?{} */); 958 589 } 959 590 static inline struct __anonymous20 _X16_operator_assignFS13__anonymous20_S13__anonymous20S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, struct __anonymous20 _X4_srcS13__anonymous20_1){ 960 591 struct __anonymous20 _X4_retS13__anonymous20_1; 961 { 962 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1)); 963 } 964 965 { 966 ((void)_X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1((&_X4_retS13__anonymous20_1), (*_X4_dstS13__anonymous20_1))); 967 } 968 592 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1)); 593 ((void)_X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1((&_X4_retS13__anonymous20_1), (*_X4_dstS13__anonymous20_1))); 969 594 return _X4_retS13__anonymous20_1; 970 595 } 971 596 static inline void _X12_constructorFv_S13__anonymous20i_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, signed int _X1ii_1){ 972 { 973 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X1ii_1) /* ?{} */); 974 } 975 597 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X1ii_1) /* ?{} */); 976 598 } 977 599 static inline volatile const struct __anonymous20 _X3f35FS13__anonymous20___1(); … … 985 607 static inline void _X12_constructorFv_S13__anonymous21i_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, signed int _X1ii_1); 986 608 static inline void _X12_constructorFv_S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1){ 987 { 988 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ?{} */); 989 } 990 609 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ?{} */); 991 610 } 992 611 static inline void _X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, struct __anonymous21 _X4_srcS13__anonymous21_1){ 993 { 994 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1) /* ?{} */); 995 } 996 612 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1) /* ?{} */); 997 613 } 998 614 static inline void _X11_destructorFv_S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1){ 999 { 1000 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ^?{} */); 1001 } 1002 615 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ^?{} */); 1003 616 } 1004 617 static inline struct __anonymous21 _X16_operator_assignFS13__anonymous21_S13__anonymous21S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, struct __anonymous21 _X4_srcS13__anonymous21_1){ 1005 618 struct __anonymous21 _X4_retS13__anonymous21_1; 1006 { 1007 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1)); 1008 } 1009 1010 { 1011 ((void)_X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1((&_X4_retS13__anonymous21_1), (*_X4_dstS13__anonymous21_1))); 1012 } 1013 619 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1)); 620 ((void)_X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1((&_X4_retS13__anonymous21_1), (*_X4_dstS13__anonymous21_1))); 1014 621 return _X4_retS13__anonymous21_1; 1015 622 } 1016 623 static inline void _X12_constructorFv_S13__anonymous21i_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, signed int _X1ii_1){ 1017 { 1018 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X1ii_1) /* ?{} */); 1019 } 1020 624 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X1ii_1) /* ?{} */); 1021 625 } 1022 626 static inline volatile const struct __anonymous21 _X3f36FS13__anonymous21___1(); … … 1030 634 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1); 1031 635 static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1032 { 1033 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */); 1034 } 1035 636 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */); 1036 637 } 1037 638 static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1038 { 1039 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */); 1040 } 1041 639 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */); 1042 640 } 1043 641 static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1044 { 1045 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */); 1046 } 1047 642 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */); 1048 643 } 1049 644 static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1050 645 struct __anonymous22 _X4_retS13__anonymous22_1; 1051 { 1052 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1)); 1053 } 1054 1055 { 1056 ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1))); 1057 } 1058 646 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1)); 647 ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1))); 1059 648 return _X4_retS13__anonymous22_1; 1060 649 } 1061 650 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1){ 1062 { 1063 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */); 1064 } 1065 651 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */); 1066 652 } 1067 653 static inline volatile const struct __anonymous22 _X3f37FS13__anonymous22___1(); … … 1075 661 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1); 1076 662 static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1077 { 1078 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */); 1079 } 1080 663 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */); 1081 664 } 1082 665 static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1083 { 1084 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */); 1085 } 1086 666 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */); 1087 667 } 1088 668 static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1089 { 1090 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */); 1091 } 1092 669 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */); 1093 670 } 1094 671 static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1095 672 struct __anonymous23 _X4_retS13__anonymous23_1; 1096 { 1097 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1)); 1098 } 1099 1100 { 1101 ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1))); 1102 } 1103 673 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1)); 674 ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1))); 1104 675 return _X4_retS13__anonymous23_1; 1105 676 } 1106 677 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1){ 1107 { 1108 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */); 1109 } 1110 678 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */); 1111 679 } 1112 680 static inline volatile const struct __anonymous23 _X3f38FS13__anonymous23___1(); … … 1121 689 signed int _X4mainFi_iPPKc__1(signed int _X4argci_1, const char **_X4argvPPKc_1){ 1122 690 __attribute__ ((unused)) signed int _X12_retval_maini_1; 1123 { 1124 ((void)(_X12_retval_maini_1=0) /* ?{} */); 1125 } 1126 691 ((void)(_X12_retval_maini_1=0) /* ?{} */); 1127 692 return _X12_retval_maini_1; 1128 693 } … … 1131 696 signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){ 1132 697 __attribute__ ((unused)) signed int _X12_retval_maini_1; 1133 { 1134 signed int _tmp_cp_ret4; 1135 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); 1136 } 1137 698 signed int _tmp_cp_ret4; 699 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); 700 ((void)(_tmp_cp_ret4) /* ^?{} */); 1138 701 return _X12_retval_maini_1; 1139 702 } -
tests/.expect/declarationSpecifier.x86.txt
r933f32f r292642a 16 16 static inline void _X12_constructorFv_S12__anonymous0i_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, signed int _X1ii_1); 17 17 static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){ 18 { 19 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ?{} */); 20 } 21 18 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ?{} */); 22 19 } 23 20 static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){ 24 { 25 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1) /* ?{} */); 26 } 27 21 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1) /* ?{} */); 28 22 } 29 23 static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){ 30 { 31 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ^?{} */); 32 } 33 24 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1) /* ^?{} */); 34 25 } 35 26 static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){ 36 27 struct __anonymous0 _X4_retS12__anonymous0_1; 37 { 38 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1)); 39 } 40 41 { 42 ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1))); 43 } 44 28 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X4_srcS12__anonymous0_1._X1ii_1)); 29 ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1))); 45 30 return _X4_retS12__anonymous0_1; 46 31 } 47 32 static inline void _X12_constructorFv_S12__anonymous0i_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, signed int _X1ii_1){ 48 { 49 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X1ii_1) /* ?{} */); 50 } 51 33 ((void)((*_X4_dstS12__anonymous0_1)._X1ii_1=_X1ii_1) /* ?{} */); 52 34 } 53 35 volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1; … … 61 43 static inline void _X12_constructorFv_S12__anonymous1i_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, signed int _X1ii_1); 62 44 static inline void _X12_constructorFv_S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1){ 63 { 64 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ?{} */); 65 } 66 45 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ?{} */); 67 46 } 68 47 static inline void _X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, struct __anonymous1 _X4_srcS12__anonymous1_1){ 69 { 70 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1) /* ?{} */); 71 } 72 48 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1) /* ?{} */); 73 49 } 74 50 static inline void _X11_destructorFv_S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1){ 75 { 76 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ^?{} */); 77 } 78 51 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1) /* ^?{} */); 79 52 } 80 53 static inline struct __anonymous1 _X16_operator_assignFS12__anonymous1_S12__anonymous1S12__anonymous1_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, struct __anonymous1 _X4_srcS12__anonymous1_1){ 81 54 struct __anonymous1 _X4_retS12__anonymous1_1; 82 { 83 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1)); 84 } 85 86 { 87 ((void)_X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1((&_X4_retS12__anonymous1_1), (*_X4_dstS12__anonymous1_1))); 88 } 89 55 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X4_srcS12__anonymous1_1._X1ii_1)); 56 ((void)_X12_constructorFv_S12__anonymous1S12__anonymous1_autogen___1((&_X4_retS12__anonymous1_1), (*_X4_dstS12__anonymous1_1))); 90 57 return _X4_retS12__anonymous1_1; 91 58 } 92 59 static inline void _X12_constructorFv_S12__anonymous1i_autogen___1(struct __anonymous1 *_X4_dstS12__anonymous1_1, signed int _X1ii_1){ 93 { 94 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X1ii_1) /* ?{} */); 95 } 96 60 ((void)((*_X4_dstS12__anonymous1_1)._X1ii_1=_X1ii_1) /* ?{} */); 97 61 } 98 62 volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1; … … 106 70 static inline void _X12_constructorFv_S12__anonymous2i_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, signed int _X1ii_1); 107 71 static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){ 108 { 109 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ?{} */); 110 } 111 72 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ?{} */); 112 73 } 113 74 static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){ 114 { 115 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1) /* ?{} */); 116 } 117 75 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1) /* ?{} */); 118 76 } 119 77 static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){ 120 { 121 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ^?{} */); 122 } 123 78 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1) /* ^?{} */); 124 79 } 125 80 static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){ 126 81 struct __anonymous2 _X4_retS12__anonymous2_1; 127 { 128 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1)); 129 } 130 131 { 132 ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1))); 133 } 134 82 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X4_srcS12__anonymous2_1._X1ii_1)); 83 ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1))); 135 84 return _X4_retS12__anonymous2_1; 136 85 } 137 86 static inline void _X12_constructorFv_S12__anonymous2i_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, signed int _X1ii_1){ 138 { 139 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X1ii_1) /* ?{} */); 140 } 141 87 ((void)((*_X4_dstS12__anonymous2_1)._X1ii_1=_X1ii_1) /* ?{} */); 142 88 } 143 89 volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1; … … 151 97 static inline void _X12_constructorFv_S12__anonymous3i_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, signed int _X1ii_1); 152 98 static inline void _X12_constructorFv_S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1){ 153 { 154 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ?{} */); 155 } 156 99 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ?{} */); 157 100 } 158 101 static inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, struct __anonymous3 _X4_srcS12__anonymous3_1){ 159 { 160 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1) /* ?{} */); 161 } 162 102 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1) /* ?{} */); 163 103 } 164 104 static inline void _X11_destructorFv_S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1){ 165 { 166 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ^?{} */); 167 } 168 105 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1) /* ^?{} */); 169 106 } 170 107 static inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, struct __anonymous3 _X4_srcS12__anonymous3_1){ 171 108 struct __anonymous3 _X4_retS12__anonymous3_1; 172 { 173 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1)); 174 } 175 176 { 177 ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1((&_X4_retS12__anonymous3_1), (*_X4_dstS12__anonymous3_1))); 178 } 179 109 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X4_srcS12__anonymous3_1._X1ii_1)); 110 ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___1((&_X4_retS12__anonymous3_1), (*_X4_dstS12__anonymous3_1))); 180 111 return _X4_retS12__anonymous3_1; 181 112 } 182 113 static inline void _X12_constructorFv_S12__anonymous3i_autogen___1(struct __anonymous3 *_X4_dstS12__anonymous3_1, signed int _X1ii_1){ 183 { 184 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X1ii_1) /* ?{} */); 185 } 186 114 ((void)((*_X4_dstS12__anonymous3_1)._X1ii_1=_X1ii_1) /* ?{} */); 187 115 } 188 116 static volatile const struct __anonymous3 _X3x13KVS12__anonymous3_1; … … 196 124 static inline void _X12_constructorFv_S12__anonymous4i_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, signed int _X1ii_1); 197 125 static inline void _X12_constructorFv_S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1){ 198 { 199 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ?{} */); 200 } 201 126 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ?{} */); 202 127 } 203 128 static inline void _X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, struct __anonymous4 _X4_srcS12__anonymous4_1){ 204 { 205 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1) /* ?{} */); 206 } 207 129 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1) /* ?{} */); 208 130 } 209 131 static inline void _X11_destructorFv_S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1){ 210 { 211 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ^?{} */); 212 } 213 132 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1) /* ^?{} */); 214 133 } 215 134 static inline struct __anonymous4 _X16_operator_assignFS12__anonymous4_S12__anonymous4S12__anonymous4_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, struct __anonymous4 _X4_srcS12__anonymous4_1){ 216 135 struct __anonymous4 _X4_retS12__anonymous4_1; 217 { 218 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1)); 219 } 220 221 { 222 ((void)_X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1((&_X4_retS12__anonymous4_1), (*_X4_dstS12__anonymous4_1))); 223 } 224 136 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X4_srcS12__anonymous4_1._X1ii_1)); 137 ((void)_X12_constructorFv_S12__anonymous4S12__anonymous4_autogen___1((&_X4_retS12__anonymous4_1), (*_X4_dstS12__anonymous4_1))); 225 138 return _X4_retS12__anonymous4_1; 226 139 } 227 140 static inline void _X12_constructorFv_S12__anonymous4i_autogen___1(struct __anonymous4 *_X4_dstS12__anonymous4_1, signed int _X1ii_1){ 228 { 229 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X1ii_1) /* ?{} */); 230 } 231 141 ((void)((*_X4_dstS12__anonymous4_1)._X1ii_1=_X1ii_1) /* ?{} */); 232 142 } 233 143 static volatile const struct __anonymous4 _X3x14KVS12__anonymous4_1; … … 241 151 static inline void _X12_constructorFv_S12__anonymous5i_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, signed int _X1ii_1); 242 152 static inline void _X12_constructorFv_S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1){ 243 { 244 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ?{} */); 245 } 246 153 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ?{} */); 247 154 } 248 155 static inline void _X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, struct __anonymous5 _X4_srcS12__anonymous5_1){ 249 { 250 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1) /* ?{} */); 251 } 252 156 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1) /* ?{} */); 253 157 } 254 158 static inline void _X11_destructorFv_S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1){ 255 { 256 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ^?{} */); 257 } 258 159 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1) /* ^?{} */); 259 160 } 260 161 static inline struct __anonymous5 _X16_operator_assignFS12__anonymous5_S12__anonymous5S12__anonymous5_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, struct __anonymous5 _X4_srcS12__anonymous5_1){ 261 162 struct __anonymous5 _X4_retS12__anonymous5_1; 262 { 263 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1)); 264 } 265 266 { 267 ((void)_X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1((&_X4_retS12__anonymous5_1), (*_X4_dstS12__anonymous5_1))); 268 } 269 163 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X4_srcS12__anonymous5_1._X1ii_1)); 164 ((void)_X12_constructorFv_S12__anonymous5S12__anonymous5_autogen___1((&_X4_retS12__anonymous5_1), (*_X4_dstS12__anonymous5_1))); 270 165 return _X4_retS12__anonymous5_1; 271 166 } 272 167 static inline void _X12_constructorFv_S12__anonymous5i_autogen___1(struct __anonymous5 *_X4_dstS12__anonymous5_1, signed int _X1ii_1){ 273 { 274 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X1ii_1) /* ?{} */); 275 } 276 168 ((void)((*_X4_dstS12__anonymous5_1)._X1ii_1=_X1ii_1) /* ?{} */); 277 169 } 278 170 static volatile const struct __anonymous5 _X3x15KVS12__anonymous5_1; … … 286 178 static inline void _X12_constructorFv_S12__anonymous6i_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, signed int _X1ii_1); 287 179 static inline void _X12_constructorFv_S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1){ 288 { 289 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ?{} */); 290 } 291 180 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ?{} */); 292 181 } 293 182 static inline void _X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, struct __anonymous6 _X4_srcS12__anonymous6_1){ 294 { 295 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1) /* ?{} */); 296 } 297 183 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1) /* ?{} */); 298 184 } 299 185 static inline void _X11_destructorFv_S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1){ 300 { 301 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ^?{} */); 302 } 303 186 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1) /* ^?{} */); 304 187 } 305 188 static inline struct __anonymous6 _X16_operator_assignFS12__anonymous6_S12__anonymous6S12__anonymous6_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, struct __anonymous6 _X4_srcS12__anonymous6_1){ 306 189 struct __anonymous6 _X4_retS12__anonymous6_1; 307 { 308 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1)); 309 } 310 311 { 312 ((void)_X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1((&_X4_retS12__anonymous6_1), (*_X4_dstS12__anonymous6_1))); 313 } 314 190 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X4_srcS12__anonymous6_1._X1ii_1)); 191 ((void)_X12_constructorFv_S12__anonymous6S12__anonymous6_autogen___1((&_X4_retS12__anonymous6_1), (*_X4_dstS12__anonymous6_1))); 315 192 return _X4_retS12__anonymous6_1; 316 193 } 317 194 static inline void _X12_constructorFv_S12__anonymous6i_autogen___1(struct __anonymous6 *_X4_dstS12__anonymous6_1, signed int _X1ii_1){ 318 { 319 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X1ii_1) /* ?{} */); 320 } 321 195 ((void)((*_X4_dstS12__anonymous6_1)._X1ii_1=_X1ii_1) /* ?{} */); 322 196 } 323 197 static volatile const struct __anonymous6 _X3x16KVS12__anonymous6_1; … … 331 205 static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1); 332 206 static 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 207 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ?{} */); 337 208 } 338 209 static 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 210 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1) /* ?{} */); 343 211 } 344 212 static 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 213 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ^?{} */); 349 214 } 350 215 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){ 351 216 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 217 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1)); 218 ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1))); 360 219 return _X4_retS12__anonymous7_1; 361 220 } 362 221 static 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 222 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X1ii_1) /* ?{} */); 367 223 } 368 224 static volatile const struct __anonymous7 _X3x17KVS12__anonymous7_1; … … 384 240 static inline void _X12_constructorFv_S12__anonymous8s_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, signed short int _X1is_1); 385 241 static inline void _X12_constructorFv_S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1){ 386 { 387 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ?{} */); 388 } 389 242 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ?{} */); 390 243 } 391 244 static inline void _X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, struct __anonymous8 _X4_srcS12__anonymous8_1){ 392 { 393 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1) /* ?{} */); 394 } 395 245 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1) /* ?{} */); 396 246 } 397 247 static inline void _X11_destructorFv_S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1){ 398 { 399 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ^?{} */); 400 } 401 248 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1) /* ^?{} */); 402 249 } 403 250 static inline struct __anonymous8 _X16_operator_assignFS12__anonymous8_S12__anonymous8S12__anonymous8_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, struct __anonymous8 _X4_srcS12__anonymous8_1){ 404 251 struct __anonymous8 _X4_retS12__anonymous8_1; 405 { 406 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1)); 407 } 408 409 { 410 ((void)_X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1((&_X4_retS12__anonymous8_1), (*_X4_dstS12__anonymous8_1))); 411 } 412 252 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X4_srcS12__anonymous8_1._X1is_1)); 253 ((void)_X12_constructorFv_S12__anonymous8S12__anonymous8_autogen___1((&_X4_retS12__anonymous8_1), (*_X4_dstS12__anonymous8_1))); 413 254 return _X4_retS12__anonymous8_1; 414 255 } 415 256 static inline void _X12_constructorFv_S12__anonymous8s_autogen___1(struct __anonymous8 *_X4_dstS12__anonymous8_1, signed short int _X1is_1){ 416 { 417 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X1is_1) /* ?{} */); 418 } 419 257 ((void)((*_X4_dstS12__anonymous8_1)._X1is_1=_X1is_1) /* ?{} */); 420 258 } 421 259 volatile const struct __anonymous8 _X3x29KVS12__anonymous8_1; … … 429 267 static inline void _X12_constructorFv_S12__anonymous9s_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, signed short int _X1is_1); 430 268 static inline void _X12_constructorFv_S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1){ 431 { 432 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ?{} */); 433 } 434 269 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ?{} */); 435 270 } 436 271 static inline void _X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, struct __anonymous9 _X4_srcS12__anonymous9_1){ 437 { 438 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1) /* ?{} */); 439 } 440 272 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1) /* ?{} */); 441 273 } 442 274 static inline void _X11_destructorFv_S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1){ 443 { 444 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ^?{} */); 445 } 446 275 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1) /* ^?{} */); 447 276 } 448 277 static inline struct __anonymous9 _X16_operator_assignFS12__anonymous9_S12__anonymous9S12__anonymous9_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, struct __anonymous9 _X4_srcS12__anonymous9_1){ 449 278 struct __anonymous9 _X4_retS12__anonymous9_1; 450 { 451 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1)); 452 } 453 454 { 455 ((void)_X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1((&_X4_retS12__anonymous9_1), (*_X4_dstS12__anonymous9_1))); 456 } 457 279 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X4_srcS12__anonymous9_1._X1is_1)); 280 ((void)_X12_constructorFv_S12__anonymous9S12__anonymous9_autogen___1((&_X4_retS12__anonymous9_1), (*_X4_dstS12__anonymous9_1))); 458 281 return _X4_retS12__anonymous9_1; 459 282 } 460 283 static inline void _X12_constructorFv_S12__anonymous9s_autogen___1(struct __anonymous9 *_X4_dstS12__anonymous9_1, signed short int _X1is_1){ 461 { 462 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X1is_1) /* ?{} */); 463 } 464 284 ((void)((*_X4_dstS12__anonymous9_1)._X1is_1=_X1is_1) /* ?{} */); 465 285 } 466 286 volatile const struct __anonymous9 _X3x30KVS12__anonymous9_1; … … 474 294 static inline void _X12_constructorFv_S13__anonymous10s_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, signed short int _X1is_1); 475 295 static inline void _X12_constructorFv_S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1){ 476 { 477 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ?{} */); 478 } 479 296 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ?{} */); 480 297 } 481 298 static inline void _X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, struct __anonymous10 _X4_srcS13__anonymous10_1){ 482 { 483 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1) /* ?{} */); 484 } 485 299 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1) /* ?{} */); 486 300 } 487 301 static inline void _X11_destructorFv_S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1){ 488 { 489 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ^?{} */); 490 } 491 302 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1) /* ^?{} */); 492 303 } 493 304 static inline struct __anonymous10 _X16_operator_assignFS13__anonymous10_S13__anonymous10S13__anonymous10_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, struct __anonymous10 _X4_srcS13__anonymous10_1){ 494 305 struct __anonymous10 _X4_retS13__anonymous10_1; 495 { 496 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1)); 497 } 498 499 { 500 ((void)_X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1((&_X4_retS13__anonymous10_1), (*_X4_dstS13__anonymous10_1))); 501 } 502 306 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X4_srcS13__anonymous10_1._X1is_1)); 307 ((void)_X12_constructorFv_S13__anonymous10S13__anonymous10_autogen___1((&_X4_retS13__anonymous10_1), (*_X4_dstS13__anonymous10_1))); 503 308 return _X4_retS13__anonymous10_1; 504 309 } 505 310 static inline void _X12_constructorFv_S13__anonymous10s_autogen___1(struct __anonymous10 *_X4_dstS13__anonymous10_1, signed short int _X1is_1){ 506 { 507 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X1is_1) /* ?{} */); 508 } 509 311 ((void)((*_X4_dstS13__anonymous10_1)._X1is_1=_X1is_1) /* ?{} */); 510 312 } 511 313 volatile const struct __anonymous10 _X3x31KVS13__anonymous10_1; … … 519 321 static inline void _X12_constructorFv_S13__anonymous11s_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, signed short int _X1is_1); 520 322 static inline void _X12_constructorFv_S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1){ 521 { 522 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ?{} */); 523 } 524 323 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ?{} */); 525 324 } 526 325 static inline void _X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, struct __anonymous11 _X4_srcS13__anonymous11_1){ 527 { 528 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1) /* ?{} */); 529 } 530 326 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1) /* ?{} */); 531 327 } 532 328 static inline void _X11_destructorFv_S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1){ 533 { 534 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ^?{} */); 535 } 536 329 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1) /* ^?{} */); 537 330 } 538 331 static inline struct __anonymous11 _X16_operator_assignFS13__anonymous11_S13__anonymous11S13__anonymous11_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, struct __anonymous11 _X4_srcS13__anonymous11_1){ 539 332 struct __anonymous11 _X4_retS13__anonymous11_1; 540 { 541 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1)); 542 } 543 544 { 545 ((void)_X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1((&_X4_retS13__anonymous11_1), (*_X4_dstS13__anonymous11_1))); 546 } 547 333 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X4_srcS13__anonymous11_1._X1is_1)); 334 ((void)_X12_constructorFv_S13__anonymous11S13__anonymous11_autogen___1((&_X4_retS13__anonymous11_1), (*_X4_dstS13__anonymous11_1))); 548 335 return _X4_retS13__anonymous11_1; 549 336 } 550 337 static inline void _X12_constructorFv_S13__anonymous11s_autogen___1(struct __anonymous11 *_X4_dstS13__anonymous11_1, signed short int _X1is_1){ 551 { 552 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X1is_1) /* ?{} */); 553 } 554 338 ((void)((*_X4_dstS13__anonymous11_1)._X1is_1=_X1is_1) /* ?{} */); 555 339 } 556 340 static volatile const struct __anonymous11 _X3x32KVS13__anonymous11_1; … … 564 348 static inline void _X12_constructorFv_S13__anonymous12s_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, signed short int _X1is_1); 565 349 static inline void _X12_constructorFv_S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1){ 566 { 567 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ?{} */); 568 } 569 350 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ?{} */); 570 351 } 571 352 static inline void _X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, struct __anonymous12 _X4_srcS13__anonymous12_1){ 572 { 573 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1) /* ?{} */); 574 } 575 353 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1) /* ?{} */); 576 354 } 577 355 static inline void _X11_destructorFv_S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1){ 578 { 579 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ^?{} */); 580 } 581 356 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1) /* ^?{} */); 582 357 } 583 358 static inline struct __anonymous12 _X16_operator_assignFS13__anonymous12_S13__anonymous12S13__anonymous12_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, struct __anonymous12 _X4_srcS13__anonymous12_1){ 584 359 struct __anonymous12 _X4_retS13__anonymous12_1; 585 { 586 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1)); 587 } 588 589 { 590 ((void)_X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1((&_X4_retS13__anonymous12_1), (*_X4_dstS13__anonymous12_1))); 591 } 592 360 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X4_srcS13__anonymous12_1._X1is_1)); 361 ((void)_X12_constructorFv_S13__anonymous12S13__anonymous12_autogen___1((&_X4_retS13__anonymous12_1), (*_X4_dstS13__anonymous12_1))); 593 362 return _X4_retS13__anonymous12_1; 594 363 } 595 364 static inline void _X12_constructorFv_S13__anonymous12s_autogen___1(struct __anonymous12 *_X4_dstS13__anonymous12_1, signed short int _X1is_1){ 596 { 597 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X1is_1) /* ?{} */); 598 } 599 365 ((void)((*_X4_dstS13__anonymous12_1)._X1is_1=_X1is_1) /* ?{} */); 600 366 } 601 367 static volatile const struct __anonymous12 _X3x33KVS13__anonymous12_1; … … 609 375 static inline void _X12_constructorFv_S13__anonymous13s_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, signed short int _X1is_1); 610 376 static inline void _X12_constructorFv_S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1){ 611 { 612 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ?{} */); 613 } 614 377 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ?{} */); 615 378 } 616 379 static inline void _X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, struct __anonymous13 _X4_srcS13__anonymous13_1){ 617 { 618 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1) /* ?{} */); 619 } 620 380 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1) /* ?{} */); 621 381 } 622 382 static inline void _X11_destructorFv_S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1){ 623 { 624 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ^?{} */); 625 } 626 383 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1) /* ^?{} */); 627 384 } 628 385 static inline struct __anonymous13 _X16_operator_assignFS13__anonymous13_S13__anonymous13S13__anonymous13_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, struct __anonymous13 _X4_srcS13__anonymous13_1){ 629 386 struct __anonymous13 _X4_retS13__anonymous13_1; 630 { 631 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1)); 632 } 633 634 { 635 ((void)_X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1((&_X4_retS13__anonymous13_1), (*_X4_dstS13__anonymous13_1))); 636 } 637 387 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X4_srcS13__anonymous13_1._X1is_1)); 388 ((void)_X12_constructorFv_S13__anonymous13S13__anonymous13_autogen___1((&_X4_retS13__anonymous13_1), (*_X4_dstS13__anonymous13_1))); 638 389 return _X4_retS13__anonymous13_1; 639 390 } 640 391 static inline void _X12_constructorFv_S13__anonymous13s_autogen___1(struct __anonymous13 *_X4_dstS13__anonymous13_1, signed short int _X1is_1){ 641 { 642 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X1is_1) /* ?{} */); 643 } 644 392 ((void)((*_X4_dstS13__anonymous13_1)._X1is_1=_X1is_1) /* ?{} */); 645 393 } 646 394 static volatile const struct __anonymous13 _X3x34KVS13__anonymous13_1; … … 654 402 static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1); 655 403 static 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 404 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ?{} */); 660 405 } 661 406 static 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 407 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1) /* ?{} */); 666 408 } 667 409 static 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 410 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ^?{} */); 672 411 } 673 412 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){ 674 413 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 414 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1)); 415 ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1))); 683 416 return _X4_retS13__anonymous14_1; 684 417 } 685 418 static 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 419 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X1is_1) /* ?{} */); 690 420 } 691 421 static volatile const struct __anonymous14 _X3x35KVS13__anonymous14_1; … … 699 429 static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1); 700 430 static 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 431 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ?{} */); 705 432 } 706 433 static 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 434 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1) /* ?{} */); 711 435 } 712 436 static 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 437 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ^?{} */); 717 438 } 718 439 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){ 719 440 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 441 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1)); 442 ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1))); 728 443 return _X4_retS13__anonymous15_1; 729 444 } 730 445 static 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 446 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X1is_1) /* ?{} */); 735 447 } 736 448 static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1; … … 760 472 static inline void _X12_constructorFv_S13__anonymous16i_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, signed int _X1ii_1); 761 473 static inline void _X12_constructorFv_S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1){ 762 { 763 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ?{} */); 764 } 765 474 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ?{} */); 766 475 } 767 476 static inline void _X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, struct __anonymous16 _X4_srcS13__anonymous16_1){ 768 { 769 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1) /* ?{} */); 770 } 771 477 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1) /* ?{} */); 772 478 } 773 479 static inline void _X11_destructorFv_S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1){ 774 { 775 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ^?{} */); 776 } 777 480 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1) /* ^?{} */); 778 481 } 779 482 static inline struct __anonymous16 _X16_operator_assignFS13__anonymous16_S13__anonymous16S13__anonymous16_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, struct __anonymous16 _X4_srcS13__anonymous16_1){ 780 483 struct __anonymous16 _X4_retS13__anonymous16_1; 781 { 782 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1)); 783 } 784 785 { 786 ((void)_X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1((&_X4_retS13__anonymous16_1), (*_X4_dstS13__anonymous16_1))); 787 } 788 484 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X4_srcS13__anonymous16_1._X1ii_1)); 485 ((void)_X12_constructorFv_S13__anonymous16S13__anonymous16_autogen___1((&_X4_retS13__anonymous16_1), (*_X4_dstS13__anonymous16_1))); 789 486 return _X4_retS13__anonymous16_1; 790 487 } 791 488 static inline void _X12_constructorFv_S13__anonymous16i_autogen___1(struct __anonymous16 *_X4_dstS13__anonymous16_1, signed int _X1ii_1){ 792 { 793 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X1ii_1) /* ?{} */); 794 } 795 489 ((void)((*_X4_dstS13__anonymous16_1)._X1ii_1=_X1ii_1) /* ?{} */); 796 490 } 797 491 static inline volatile const struct __anonymous16 _X3f31FS13__anonymous16___1(); … … 805 499 static inline void _X12_constructorFv_S13__anonymous17i_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, signed int _X1ii_1); 806 500 static inline void _X12_constructorFv_S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1){ 807 { 808 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ?{} */); 809 } 810 501 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ?{} */); 811 502 } 812 503 static inline void _X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, struct __anonymous17 _X4_srcS13__anonymous17_1){ 813 { 814 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1) /* ?{} */); 815 } 816 504 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1) /* ?{} */); 817 505 } 818 506 static inline void _X11_destructorFv_S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1){ 819 { 820 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ^?{} */); 821 } 822 507 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1) /* ^?{} */); 823 508 } 824 509 static inline struct __anonymous17 _X16_operator_assignFS13__anonymous17_S13__anonymous17S13__anonymous17_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, struct __anonymous17 _X4_srcS13__anonymous17_1){ 825 510 struct __anonymous17 _X4_retS13__anonymous17_1; 826 { 827 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1)); 828 } 829 830 { 831 ((void)_X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1((&_X4_retS13__anonymous17_1), (*_X4_dstS13__anonymous17_1))); 832 } 833 511 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X4_srcS13__anonymous17_1._X1ii_1)); 512 ((void)_X12_constructorFv_S13__anonymous17S13__anonymous17_autogen___1((&_X4_retS13__anonymous17_1), (*_X4_dstS13__anonymous17_1))); 834 513 return _X4_retS13__anonymous17_1; 835 514 } 836 515 static inline void _X12_constructorFv_S13__anonymous17i_autogen___1(struct __anonymous17 *_X4_dstS13__anonymous17_1, signed int _X1ii_1){ 837 { 838 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X1ii_1) /* ?{} */); 839 } 840 516 ((void)((*_X4_dstS13__anonymous17_1)._X1ii_1=_X1ii_1) /* ?{} */); 841 517 } 842 518 static inline volatile const struct __anonymous17 _X3f32FS13__anonymous17___1(); … … 850 526 static inline void _X12_constructorFv_S13__anonymous18i_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, signed int _X1ii_1); 851 527 static inline void _X12_constructorFv_S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1){ 852 { 853 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ?{} */); 854 } 855 528 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ?{} */); 856 529 } 857 530 static inline void _X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, struct __anonymous18 _X4_srcS13__anonymous18_1){ 858 { 859 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1) /* ?{} */); 860 } 861 531 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1) /* ?{} */); 862 532 } 863 533 static inline void _X11_destructorFv_S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1){ 864 { 865 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ^?{} */); 866 } 867 534 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1) /* ^?{} */); 868 535 } 869 536 static inline struct __anonymous18 _X16_operator_assignFS13__anonymous18_S13__anonymous18S13__anonymous18_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, struct __anonymous18 _X4_srcS13__anonymous18_1){ 870 537 struct __anonymous18 _X4_retS13__anonymous18_1; 871 { 872 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1)); 873 } 874 875 { 876 ((void)_X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1((&_X4_retS13__anonymous18_1), (*_X4_dstS13__anonymous18_1))); 877 } 878 538 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X4_srcS13__anonymous18_1._X1ii_1)); 539 ((void)_X12_constructorFv_S13__anonymous18S13__anonymous18_autogen___1((&_X4_retS13__anonymous18_1), (*_X4_dstS13__anonymous18_1))); 879 540 return _X4_retS13__anonymous18_1; 880 541 } 881 542 static inline void _X12_constructorFv_S13__anonymous18i_autogen___1(struct __anonymous18 *_X4_dstS13__anonymous18_1, signed int _X1ii_1){ 882 { 883 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X1ii_1) /* ?{} */); 884 } 885 543 ((void)((*_X4_dstS13__anonymous18_1)._X1ii_1=_X1ii_1) /* ?{} */); 886 544 } 887 545 static inline volatile const struct __anonymous18 _X3f33FS13__anonymous18___1(); … … 895 553 static inline void _X12_constructorFv_S13__anonymous19i_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, signed int _X1ii_1); 896 554 static inline void _X12_constructorFv_S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1){ 897 { 898 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ?{} */); 899 } 900 555 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ?{} */); 901 556 } 902 557 static inline void _X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, struct __anonymous19 _X4_srcS13__anonymous19_1){ 903 { 904 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1) /* ?{} */); 905 } 906 558 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1) /* ?{} */); 907 559 } 908 560 static inline void _X11_destructorFv_S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1){ 909 { 910 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ^?{} */); 911 } 912 561 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1) /* ^?{} */); 913 562 } 914 563 static inline struct __anonymous19 _X16_operator_assignFS13__anonymous19_S13__anonymous19S13__anonymous19_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, struct __anonymous19 _X4_srcS13__anonymous19_1){ 915 564 struct __anonymous19 _X4_retS13__anonymous19_1; 916 { 917 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1)); 918 } 919 920 { 921 ((void)_X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1((&_X4_retS13__anonymous19_1), (*_X4_dstS13__anonymous19_1))); 922 } 923 565 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X4_srcS13__anonymous19_1._X1ii_1)); 566 ((void)_X12_constructorFv_S13__anonymous19S13__anonymous19_autogen___1((&_X4_retS13__anonymous19_1), (*_X4_dstS13__anonymous19_1))); 924 567 return _X4_retS13__anonymous19_1; 925 568 } 926 569 static inline void _X12_constructorFv_S13__anonymous19i_autogen___1(struct __anonymous19 *_X4_dstS13__anonymous19_1, signed int _X1ii_1){ 927 { 928 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X1ii_1) /* ?{} */); 929 } 930 570 ((void)((*_X4_dstS13__anonymous19_1)._X1ii_1=_X1ii_1) /* ?{} */); 931 571 } 932 572 static inline volatile const struct __anonymous19 _X3f34FS13__anonymous19___1(); … … 940 580 static inline void _X12_constructorFv_S13__anonymous20i_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, signed int _X1ii_1); 941 581 static inline void _X12_constructorFv_S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1){ 942 { 943 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ?{} */); 944 } 945 582 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ?{} */); 946 583 } 947 584 static inline void _X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, struct __anonymous20 _X4_srcS13__anonymous20_1){ 948 { 949 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1) /* ?{} */); 950 } 951 585 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1) /* ?{} */); 952 586 } 953 587 static inline void _X11_destructorFv_S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1){ 954 { 955 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ^?{} */); 956 } 957 588 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1) /* ^?{} */); 958 589 } 959 590 static inline struct __anonymous20 _X16_operator_assignFS13__anonymous20_S13__anonymous20S13__anonymous20_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, struct __anonymous20 _X4_srcS13__anonymous20_1){ 960 591 struct __anonymous20 _X4_retS13__anonymous20_1; 961 { 962 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1)); 963 } 964 965 { 966 ((void)_X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1((&_X4_retS13__anonymous20_1), (*_X4_dstS13__anonymous20_1))); 967 } 968 592 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X4_srcS13__anonymous20_1._X1ii_1)); 593 ((void)_X12_constructorFv_S13__anonymous20S13__anonymous20_autogen___1((&_X4_retS13__anonymous20_1), (*_X4_dstS13__anonymous20_1))); 969 594 return _X4_retS13__anonymous20_1; 970 595 } 971 596 static inline void _X12_constructorFv_S13__anonymous20i_autogen___1(struct __anonymous20 *_X4_dstS13__anonymous20_1, signed int _X1ii_1){ 972 { 973 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X1ii_1) /* ?{} */); 974 } 975 597 ((void)((*_X4_dstS13__anonymous20_1)._X1ii_1=_X1ii_1) /* ?{} */); 976 598 } 977 599 static inline volatile const struct __anonymous20 _X3f35FS13__anonymous20___1(); … … 985 607 static inline void _X12_constructorFv_S13__anonymous21i_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, signed int _X1ii_1); 986 608 static inline void _X12_constructorFv_S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1){ 987 { 988 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ?{} */); 989 } 990 609 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ?{} */); 991 610 } 992 611 static inline void _X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, struct __anonymous21 _X4_srcS13__anonymous21_1){ 993 { 994 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1) /* ?{} */); 995 } 996 612 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1) /* ?{} */); 997 613 } 998 614 static inline void _X11_destructorFv_S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1){ 999 { 1000 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ^?{} */); 1001 } 1002 615 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1) /* ^?{} */); 1003 616 } 1004 617 static inline struct __anonymous21 _X16_operator_assignFS13__anonymous21_S13__anonymous21S13__anonymous21_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, struct __anonymous21 _X4_srcS13__anonymous21_1){ 1005 618 struct __anonymous21 _X4_retS13__anonymous21_1; 1006 { 1007 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1)); 1008 } 1009 1010 { 1011 ((void)_X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1((&_X4_retS13__anonymous21_1), (*_X4_dstS13__anonymous21_1))); 1012 } 1013 619 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X4_srcS13__anonymous21_1._X1ii_1)); 620 ((void)_X12_constructorFv_S13__anonymous21S13__anonymous21_autogen___1((&_X4_retS13__anonymous21_1), (*_X4_dstS13__anonymous21_1))); 1014 621 return _X4_retS13__anonymous21_1; 1015 622 } 1016 623 static inline void _X12_constructorFv_S13__anonymous21i_autogen___1(struct __anonymous21 *_X4_dstS13__anonymous21_1, signed int _X1ii_1){ 1017 { 1018 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X1ii_1) /* ?{} */); 1019 } 1020 624 ((void)((*_X4_dstS13__anonymous21_1)._X1ii_1=_X1ii_1) /* ?{} */); 1021 625 } 1022 626 static inline volatile const struct __anonymous21 _X3f36FS13__anonymous21___1(); … … 1030 634 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1); 1031 635 static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1032 { 1033 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */); 1034 } 1035 636 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */); 1036 637 } 1037 638 static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1038 { 1039 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */); 1040 } 1041 639 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */); 1042 640 } 1043 641 static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1044 { 1045 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */); 1046 } 1047 642 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */); 1048 643 } 1049 644 static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1050 645 struct __anonymous22 _X4_retS13__anonymous22_1; 1051 { 1052 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1)); 1053 } 1054 1055 { 1056 ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1))); 1057 } 1058 646 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1)); 647 ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1))); 1059 648 return _X4_retS13__anonymous22_1; 1060 649 } 1061 650 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1){ 1062 { 1063 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */); 1064 } 1065 651 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */); 1066 652 } 1067 653 static inline volatile const struct __anonymous22 _X3f37FS13__anonymous22___1(); … … 1075 661 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1); 1076 662 static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1077 { 1078 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */); 1079 } 1080 663 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */); 1081 664 } 1082 665 static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1083 { 1084 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */); 1085 } 1086 666 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */); 1087 667 } 1088 668 static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1089 { 1090 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */); 1091 } 1092 669 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */); 1093 670 } 1094 671 static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1095 672 struct __anonymous23 _X4_retS13__anonymous23_1; 1096 { 1097 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1)); 1098 } 1099 1100 { 1101 ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1))); 1102 } 1103 673 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1)); 674 ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1))); 1104 675 return _X4_retS13__anonymous23_1; 1105 676 } 1106 677 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1){ 1107 { 1108 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */); 1109 } 1110 678 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */); 1111 679 } 1112 680 static inline volatile const struct __anonymous23 _X3f38FS13__anonymous23___1(); … … 1121 689 signed int _X4mainFi_iPPKc__1(signed int _X4argci_1, const char **_X4argvPPKc_1){ 1122 690 __attribute__ ((unused)) signed int _X12_retval_maini_1; 1123 { 1124 ((void)(_X12_retval_maini_1=0) /* ?{} */); 1125 } 1126 691 ((void)(_X12_retval_maini_1=0) /* ?{} */); 1127 692 return _X12_retval_maini_1; 1128 693 } … … 1131 696 signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){ 1132 697 __attribute__ ((unused)) signed int _X12_retval_maini_1; 1133 { 1134 signed int _tmp_cp_ret4; 1135 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); 1136 } 1137 698 signed int _tmp_cp_ret4; 699 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); 700 ((void)(_tmp_cp_ret4) /* ^?{} */); 1138 701 return _X12_retval_maini_1; 1139 702 } -
tests/.expect/extension.x64.txt
r933f32f r292642a 15 15 static inline void _X12_constructorFv_S1Siii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1); 16 16 static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 17 { 18 ((void)((*_X4_dstS1S_1)._X1ai_1) /* ?{} */); 19 } 20 21 { 22 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */); 23 } 24 25 { 26 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 27 } 28 17 ((void)((*_X4_dstS1S_1)._X1ai_1) /* ?{} */); 18 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */); 19 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 29 20 } 30 21 static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 31 { 32 ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1) /* ?{} */); 33 } 34 35 { 36 ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1) /* ?{} */); 37 } 38 39 { 40 ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1) /* ?{} */); 41 } 42 22 ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1) /* ?{} */); 23 ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1) /* ?{} */); 24 ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1) /* ?{} */); 43 25 } 44 26 static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 45 { 46 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ^?{} */); 47 } 48 49 { 50 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ^?{} */); 51 } 52 53 { 54 ((void)((*_X4_dstS1S_1)._X1ai_1) /* ^?{} */); 55 } 56 27 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ^?{} */); 28 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ^?{} */); 29 ((void)((*_X4_dstS1S_1)._X1ai_1) /* ^?{} */); 57 30 } 58 31 static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 59 32 struct S _X4_retS1S_1; 60 { 61 ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1)); 62 } 63 64 { 65 ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1)); 66 } 67 68 { 69 ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1)); 70 } 71 72 { 73 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 74 } 75 33 ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1)); 34 ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1)); 35 ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1)); 36 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 76 37 return _X4_retS1S_1; 77 38 } 78 39 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1){ 79 { 80 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 81 } 82 83 { 84 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */); 85 } 86 87 { 88 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 89 } 90 40 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 41 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */); 42 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 91 43 } 92 44 static inline void _X12_constructorFv_S1Sii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1){ 93 { 94 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 95 } 96 97 { 98 ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */); 99 } 100 101 { 102 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 103 } 104 45 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 46 ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */); 47 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 105 48 } 106 49 static inline void _X12_constructorFv_S1Siii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){ 107 { 108 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 109 } 110 111 { 112 ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */); 113 } 114 115 { 116 ((void)((*_X4_dstS1S_1)._X1ci_1=_X1ci_1) /* ?{} */); 117 } 118 50 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 51 ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */); 52 ((void)((*_X4_dstS1S_1)._X1ci_1=_X1ci_1) /* ?{} */); 119 53 } 120 54 __extension__ union U { … … 131 65 } 132 66 static inline void _X12_constructorFv_U1UU1U_autogen___1(union U *_X4_dstU1U_1, union U _X4_srcU1U_1){ 133 { 134 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U ))); 135 } 136 67 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U ))); 137 68 } 138 69 static inline void _X11_destructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1){ … … 140 71 static inline union U _X16_operator_assignFU1U_U1UU1U_autogen___1(union U *_X4_dstU1U_1, union U _X4_srcU1U_1){ 141 72 union U _X4_retU1U_1; 142 { 143 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U ))); 144 } 145 146 { 147 ((void)_X12_constructorFv_U1UU1U_autogen___1((&_X4_retU1U_1), (*_X4_dstU1U_1))); 148 } 149 73 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U ))); 74 ((void)_X12_constructorFv_U1UU1U_autogen___1((&_X4_retU1U_1), (*_X4_dstU1U_1))); 150 75 return _X4_retU1U_1; 151 76 } 152 77 static inline void _X12_constructorFv_U1Ui_autogen___1(union U *_X4_dstU1U_1, signed int _X1ai_1){ 153 { 154 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X1ai_1)), sizeof(signed int ))); 155 } 156 78 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X1ai_1)), sizeof(signed int ))); 157 79 } 158 80 __extension__ enum E { … … 175 97 }; 176 98 inline void _X12_constructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){ 177 { 178 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */); 179 } 180 181 { 182 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 183 } 184 185 { 186 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 187 } 188 189 { 190 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 191 } 192 193 { 194 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 195 } 196 197 { 198 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 199 } 200 99 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */); 100 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 101 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 102 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 103 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 104 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 201 105 } 202 106 inline void _X12_constructorFv_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){ 203 { 204 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */); 205 } 206 207 { 208 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */); 209 } 210 211 { 212 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */); 213 } 214 215 { 216 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2) /* ?{} */); 217 } 218 219 { 220 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2) /* ?{} */); 221 } 222 223 { 224 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2) /* ?{} */); 225 } 226 107 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */); 108 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */); 109 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */); 110 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2) /* ?{} */); 111 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2) /* ?{} */); 112 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2) /* ?{} */); 227 113 } 228 114 inline void _X11_destructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){ 229 { 230 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ^?{} */); 231 } 232 233 { 234 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ^?{} */); 235 } 236 237 { 238 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ^?{} */); 239 } 240 241 { 242 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */); 243 } 244 245 { 246 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */); 247 } 248 249 { 250 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */); 251 } 252 115 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ^?{} */); 116 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ^?{} */); 117 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ^?{} */); 118 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */); 119 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */); 120 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */); 253 121 } 254 122 inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){ 255 123 struct S _X4_retS1S_2; 256 { 257 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2)); 258 } 259 260 { 261 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2)); 262 } 263 264 { 265 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2)); 266 } 267 268 { 269 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2)); 270 } 271 272 { 273 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2)); 274 } 275 276 { 277 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2)); 278 } 279 280 { 281 ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2))); 282 } 283 124 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2)); 125 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2)); 126 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2)); 127 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2)); 128 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2)); 129 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2)); 130 ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2))); 284 131 return _X4_retS1S_2; 285 132 } 286 133 inline void _X12_constructorFv_S1Si_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2){ 287 { 288 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 289 } 290 291 { 292 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 293 } 294 295 { 296 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 297 } 298 299 { 300 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 301 } 302 303 { 304 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 305 } 306 307 { 308 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 309 } 310 134 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 135 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 136 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 137 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 138 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 139 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 311 140 } 312 141 inline void _X12_constructorFv_S1Sii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2){ 313 { 314 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 315 } 316 317 { 318 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 319 } 320 321 { 322 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 323 } 324 325 { 326 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 327 } 328 329 { 330 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 331 } 332 333 { 334 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 335 } 336 142 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 143 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 144 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 145 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 146 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 147 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 337 148 } 338 149 inline void _X12_constructorFv_S1Siii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){ 339 { 340 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 341 } 342 343 { 344 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 345 } 346 347 { 348 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 349 } 350 351 { 352 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 353 } 354 355 { 356 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 357 } 358 359 { 360 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 361 } 362 150 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 151 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 152 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 153 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 154 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 155 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 363 156 } 364 157 inline void _X12_constructorFv_S1SiiiPi_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2, signed int *_X1xPi_2){ 365 { 366 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 367 } 368 369 { 370 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 371 } 372 373 { 374 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 375 } 376 377 { 378 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 379 } 380 381 { 382 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 383 } 384 385 { 386 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 387 } 388 158 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 159 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 160 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 161 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 162 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 163 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 389 164 } 390 165 inline void _X12_constructorFv_S1SiiiPiPi_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2, signed int *_X1xPi_2, signed int *_X1yPi_2){ 391 { 392 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 393 } 394 395 { 396 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 397 } 398 399 { 400 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 401 } 402 403 { 404 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 405 } 406 407 { 408 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */); 409 } 410 411 { 412 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 413 } 414 166 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 167 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 168 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 169 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 170 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */); 171 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 415 172 } 416 173 inline void _X12_constructorFv_S1SiiiPiPiPi_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2, signed int *_X1xPi_2, signed int *_X1yPi_2, signed int *_X1zPi_2){ 417 { 418 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 419 } 420 421 { 422 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 423 } 424 425 { 426 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 427 } 428 429 { 430 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 431 } 432 433 { 434 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */); 435 } 436 437 { 438 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X1zPi_2) /* ?{} */); 439 } 440 174 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 175 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 176 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 177 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 178 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */); 179 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X1zPi_2) /* ?{} */); 441 180 } 442 181 signed int _X1ii_2 = (__extension__ _X1ai_1+__extension__ 3); 443 { 444 ((void)__extension__ 3); 445 } 446 447 { 448 ((void)__extension__ _X1ai_1); 449 } 450 182 ((void)__extension__ 3); 183 ((void)__extension__ _X1ai_1); 451 184 __extension__ signed int _X1ai_2; 452 185 __extension__ signed int _X1bi_2; 453 186 __extension__ signed int _X1ci_2; 454 { 455 ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2))); 456 } 457 458 { 459 signed int _tmp_cp_ret4; 460 ((void)(((void)(_tmp_cp_ret4=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret4)); 461 } 462 187 ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2))); 188 signed int _tmp_cp_ret4; 189 ((void)(((void)(_tmp_cp_ret4=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret4)); 190 ((void)(_tmp_cp_ret4) /* ^?{} */); 463 191 __extension__ signed int _X4maryFi_i__2(signed int _X1pi_2){ 464 192 __attribute__ ((unused)) signed int _X12_retval_maryi_2; 465 193 } 466 { 467 ((void)__extension__ sizeof(3)); 468 } 469 470 { 471 ((void)__extension__ ((3!=((signed int )0)) || (4!=((signed int )0)))); 472 } 473 474 { 475 ((void)__extension__ __alignof__(__extension__ _X1ai_2)); 476 } 477 478 { 479 ((void)((__extension__ _X1ai_2!=((signed int )0)) || (((__extension__ _X1bi_2!=((signed int )0)) && (__extension__ _X1ci_2!=((signed int )0)))!=((signed int )0)))); 480 } 481 482 { 483 ((void)(((__extension__ _X1ai_2>__extension__ _X1bi_2)!=((signed int )0)) ? __extension__ _X1ci_2 : __extension__ _X1ci_2)); 484 } 485 486 { 487 ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2))); 488 } 489 490 { 491 ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2)); 492 } 493 494 } 194 ((void)__extension__ sizeof(3)); 195 ((void)__extension__ ((3!=((signed int )0)) || (4!=((signed int )0)))); 196 ((void)__extension__ __alignof__(__extension__ _X1ai_2)); 197 ((void)((__extension__ _X1ai_2!=((signed int )0)) || (((__extension__ _X1bi_2!=((signed int )0)) && (__extension__ _X1ci_2!=((signed int )0)))!=((signed int )0)))); 198 ((void)(((__extension__ _X1ai_2>__extension__ _X1bi_2)!=((signed int )0)) ? __extension__ _X1ci_2 : __extension__ _X1ci_2)); 199 ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2))); 200 ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2)); 201 } -
tests/.expect/extension.x86.txt
r933f32f r292642a 15 15 static inline void _X12_constructorFv_S1Siii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1); 16 16 static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 17 { 18 ((void)((*_X4_dstS1S_1)._X1ai_1) /* ?{} */); 19 } 20 21 { 22 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */); 23 } 24 25 { 26 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 27 } 28 17 ((void)((*_X4_dstS1S_1)._X1ai_1) /* ?{} */); 18 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */); 19 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 29 20 } 30 21 static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 31 { 32 ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1) /* ?{} */); 33 } 34 35 { 36 ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1) /* ?{} */); 37 } 38 39 { 40 ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1) /* ?{} */); 41 } 42 22 ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1) /* ?{} */); 23 ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1) /* ?{} */); 24 ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1) /* ?{} */); 43 25 } 44 26 static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 45 { 46 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ^?{} */); 47 } 48 49 { 50 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ^?{} */); 51 } 52 53 { 54 ((void)((*_X4_dstS1S_1)._X1ai_1) /* ^?{} */); 55 } 56 27 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ^?{} */); 28 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ^?{} */); 29 ((void)((*_X4_dstS1S_1)._X1ai_1) /* ^?{} */); 57 30 } 58 31 static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 59 32 struct S _X4_retS1S_1; 60 { 61 ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1)); 62 } 63 64 { 65 ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1)); 66 } 67 68 { 69 ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1)); 70 } 71 72 { 73 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 74 } 75 33 ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1)); 34 ((void)((*_X4_dstS1S_1)._X1bi_1=_X4_srcS1S_1._X1bi_1)); 35 ((void)((*_X4_dstS1S_1)._X1ci_1=_X4_srcS1S_1._X1ci_1)); 36 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 76 37 return _X4_retS1S_1; 77 38 } 78 39 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1){ 79 { 80 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 81 } 82 83 { 84 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */); 85 } 86 87 { 88 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 89 } 90 40 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 41 ((void)((*_X4_dstS1S_1)._X1bi_1) /* ?{} */); 42 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 91 43 } 92 44 static inline void _X12_constructorFv_S1Sii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1){ 93 { 94 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 95 } 96 97 { 98 ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */); 99 } 100 101 { 102 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 103 } 104 45 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 46 ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */); 47 ((void)((*_X4_dstS1S_1)._X1ci_1) /* ?{} */); 105 48 } 106 49 static inline void _X12_constructorFv_S1Siii_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){ 107 { 108 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 109 } 110 111 { 112 ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */); 113 } 114 115 { 116 ((void)((*_X4_dstS1S_1)._X1ci_1=_X1ci_1) /* ?{} */); 117 } 118 50 ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */); 51 ((void)((*_X4_dstS1S_1)._X1bi_1=_X1bi_1) /* ?{} */); 52 ((void)((*_X4_dstS1S_1)._X1ci_1=_X1ci_1) /* ?{} */); 119 53 } 120 54 __extension__ union U { … … 131 65 } 132 66 static inline void _X12_constructorFv_U1UU1U_autogen___1(union U *_X4_dstU1U_1, union U _X4_srcU1U_1){ 133 { 134 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U ))); 135 } 136 67 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U ))); 137 68 } 138 69 static inline void _X11_destructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1){ … … 140 71 static inline union U _X16_operator_assignFU1U_U1UU1U_autogen___1(union U *_X4_dstU1U_1, union U _X4_srcU1U_1){ 141 72 union U _X4_retU1U_1; 142 { 143 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U ))); 144 } 145 146 { 147 ((void)_X12_constructorFv_U1UU1U_autogen___1((&_X4_retU1U_1), (*_X4_dstU1U_1))); 148 } 149 73 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U ))); 74 ((void)_X12_constructorFv_U1UU1U_autogen___1((&_X4_retU1U_1), (*_X4_dstU1U_1))); 150 75 return _X4_retU1U_1; 151 76 } 152 77 static inline void _X12_constructorFv_U1Ui_autogen___1(union U *_X4_dstU1U_1, signed int _X1ai_1){ 153 { 154 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X1ai_1)), sizeof(signed int ))); 155 } 156 78 ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X1ai_1)), sizeof(signed int ))); 157 79 } 158 80 __extension__ enum E { … … 175 97 }; 176 98 inline void _X12_constructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){ 177 { 178 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */); 179 } 180 181 { 182 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 183 } 184 185 { 186 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 187 } 188 189 { 190 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 191 } 192 193 { 194 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 195 } 196 197 { 198 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 199 } 200 99 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */); 100 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 101 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 102 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 103 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 104 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 201 105 } 202 106 inline void _X12_constructorFv_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){ 203 { 204 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */); 205 } 206 207 { 208 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */); 209 } 210 211 { 212 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */); 213 } 214 215 { 216 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2) /* ?{} */); 217 } 218 219 { 220 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2) /* ?{} */); 221 } 222 223 { 224 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2) /* ?{} */); 225 } 226 107 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */); 108 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */); 109 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */); 110 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2) /* ?{} */); 111 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2) /* ?{} */); 112 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2) /* ?{} */); 227 113 } 228 114 inline void _X11_destructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){ 229 { 230 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ^?{} */); 231 } 232 233 { 234 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ^?{} */); 235 } 236 237 { 238 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ^?{} */); 239 } 240 241 { 242 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */); 243 } 244 245 { 246 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */); 247 } 248 249 { 250 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */); 251 } 252 115 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ^?{} */); 116 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ^?{} */); 117 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ^?{} */); 118 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */); 119 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */); 120 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */); 253 121 } 254 122 inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){ 255 123 struct S _X4_retS1S_2; 256 { 257 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2)); 258 } 259 260 { 261 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2)); 262 } 263 264 { 265 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2)); 266 } 267 268 { 269 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2)); 270 } 271 272 { 273 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2)); 274 } 275 276 { 277 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2)); 278 } 279 280 { 281 ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2))); 282 } 283 124 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2)); 125 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2)); 126 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2)); 127 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X4_srcS1S_2._X1xPi_2)); 128 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X4_srcS1S_2._X1yPi_2)); 129 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X4_srcS1S_2._X1zPi_2)); 130 ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2))); 284 131 return _X4_retS1S_2; 285 132 } 286 133 inline void _X12_constructorFv_S1Si_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2){ 287 { 288 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 289 } 290 291 { 292 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 293 } 294 295 { 296 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 297 } 298 299 { 300 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 301 } 302 303 { 304 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 305 } 306 307 { 308 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 309 } 310 134 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 135 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 136 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 137 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 138 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 139 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 311 140 } 312 141 inline void _X12_constructorFv_S1Sii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2){ 313 { 314 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 315 } 316 317 { 318 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 319 } 320 321 { 322 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 323 } 324 325 { 326 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 327 } 328 329 { 330 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 331 } 332 333 { 334 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 335 } 336 142 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 143 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 144 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 145 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 146 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 147 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 337 148 } 338 149 inline void _X12_constructorFv_S1Siii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){ 339 { 340 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 341 } 342 343 { 344 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 345 } 346 347 { 348 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 349 } 350 351 { 352 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 353 } 354 355 { 356 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 357 } 358 359 { 360 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 361 } 362 150 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 151 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 152 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 153 ((void)((*_X4_dstS1S_2)._X1xPi_2) /* ?{} */); 154 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 155 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 363 156 } 364 157 inline void _X12_constructorFv_S1SiiiPi_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2, signed int *_X1xPi_2){ 365 { 366 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 367 } 368 369 { 370 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 371 } 372 373 { 374 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 375 } 376 377 { 378 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 379 } 380 381 { 382 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 383 } 384 385 { 386 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 387 } 388 158 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 159 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 160 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 161 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 162 ((void)((*_X4_dstS1S_2)._X1yPi_2) /* ?{} */); 163 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 389 164 } 390 165 inline void _X12_constructorFv_S1SiiiPiPi_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2, signed int *_X1xPi_2, signed int *_X1yPi_2){ 391 { 392 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 393 } 394 395 { 396 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 397 } 398 399 { 400 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 401 } 402 403 { 404 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 405 } 406 407 { 408 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */); 409 } 410 411 { 412 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 413 } 414 166 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 167 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 168 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 169 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 170 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */); 171 ((void)((*_X4_dstS1S_2)._X1zPi_2) /* ?{} */); 415 172 } 416 173 inline void _X12_constructorFv_S1SiiiPiPiPi_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2, signed int *_X1xPi_2, signed int *_X1yPi_2, signed int *_X1zPi_2){ 417 { 418 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 419 } 420 421 { 422 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 423 } 424 425 { 426 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 427 } 428 429 { 430 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 431 } 432 433 { 434 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */); 435 } 436 437 { 438 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X1zPi_2) /* ?{} */); 439 } 440 174 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 175 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 176 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 177 ((void)((*_X4_dstS1S_2)._X1xPi_2=_X1xPi_2) /* ?{} */); 178 ((void)((*_X4_dstS1S_2)._X1yPi_2=_X1yPi_2) /* ?{} */); 179 ((void)((*_X4_dstS1S_2)._X1zPi_2=_X1zPi_2) /* ?{} */); 441 180 } 442 181 signed int _X1ii_2 = (__extension__ _X1ai_1+__extension__ 3); 443 { 444 ((void)__extension__ 3); 445 } 446 447 { 448 ((void)__extension__ _X1ai_1); 449 } 450 182 ((void)__extension__ 3); 183 ((void)__extension__ _X1ai_1); 451 184 __extension__ signed int _X1ai_2; 452 185 __extension__ signed int _X1bi_2; 453 186 __extension__ signed int _X1ci_2; 454 { 455 ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2))); 456 } 457 458 { 459 signed int _tmp_cp_ret4; 460 ((void)(((void)(_tmp_cp_ret4=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret4)); 461 } 462 187 ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2))); 188 signed int _tmp_cp_ret4; 189 ((void)(((void)(_tmp_cp_ret4=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret4)); 190 ((void)(_tmp_cp_ret4) /* ^?{} */); 463 191 __extension__ signed int _X4maryFi_i__2(signed int _X1pi_2){ 464 192 __attribute__ ((unused)) signed int _X12_retval_maryi_2; 465 193 } 466 { 467 ((void)__extension__ sizeof(3)); 468 } 469 470 { 471 ((void)__extension__ ((3!=((signed int )0)) || (4!=((signed int )0)))); 472 } 473 474 { 475 ((void)__extension__ __alignof__(__extension__ _X1ai_2)); 476 } 477 478 { 479 ((void)((__extension__ _X1ai_2!=((signed int )0)) || (((__extension__ _X1bi_2!=((signed int )0)) && (__extension__ _X1ci_2!=((signed int )0)))!=((signed int )0)))); 480 } 481 482 { 483 ((void)(((__extension__ _X1ai_2>__extension__ _X1bi_2)!=((signed int )0)) ? __extension__ _X1ci_2 : __extension__ _X1ci_2)); 484 } 485 486 { 487 ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2))); 488 } 489 490 { 491 ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2)); 492 } 493 494 } 194 ((void)__extension__ sizeof(3)); 195 ((void)__extension__ ((3!=((signed int )0)) || (4!=((signed int )0)))); 196 ((void)__extension__ __alignof__(__extension__ _X1ai_2)); 197 ((void)((__extension__ _X1ai_2!=((signed int )0)) || (((__extension__ _X1bi_2!=((signed int )0)) && (__extension__ _X1ci_2!=((signed int )0)))!=((signed int )0)))); 198 ((void)(((__extension__ _X1ai_2>__extension__ _X1bi_2)!=((signed int )0)) ? __extension__ _X1ci_2 : __extension__ _X1ci_2)); 199 ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2))); 200 ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2)); 201 } -
tests/.expect/functions.x64.txt
r933f32f r292642a 3 3 signed int _X1fFi_Fi__Fi_i_Fi__Fi_i_Fv____1(__attribute__ ((unused)) signed int (*__anonymous_object0)(void), __attribute__ ((unused)) signed int (*__anonymous_object1)(signed int __anonymous_object2), __attribute__ ((unused)) signed int (*__anonymous_object3)(void), __attribute__ ((unused)) signed int (*__anonymous_object4)(signed int __anonymous_object5), void (*_X1gFv___1)(void)){ 4 4 __attribute__ ((unused)) signed int _X9_retval_fi_1; 5 { 6 ((void)(*_X1gFv___1)()); 7 } 8 9 { 10 ((void)_X1gFv___1()); 11 } 12 13 { 14 ((void)(_X1gFv___1=_X1hFv___1)); 15 } 16 5 ((void)(*_X1gFv___1)()); 6 ((void)_X1gFv___1()); 7 ((void)(_X1gFv___1=_X1hFv___1)); 17 8 } 18 9 signed int _X2f1Fi___1(){ … … 192 183 const double _X3fooFd_d__1(__attribute__ ((unused)) double __anonymous_object20){ 193 184 __attribute__ ((unused)) const double _X11_retval_fooKd_1; 194 { 195 ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */); 196 } 197 185 ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */); 198 186 return _X11_retval_fooKd_1; 199 187 } … … 207 195 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1); 208 196 static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 209 { 210 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */); 211 } 212 197 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */); 213 198 } 214 199 static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 215 { 216 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */); 217 } 218 200 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */); 219 201 } 220 202 static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 221 { 222 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */); 223 } 224 203 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */); 225 204 } 226 205 static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 227 206 struct S _X4_retS1S_1; 228 { 229 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1)); 230 } 231 232 { 233 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 234 } 235 207 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1)); 208 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 236 209 return _X4_retS1S_1; 237 210 } 238 211 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){ 239 { 240 ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */); 241 } 242 212 ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */); 243 213 } 244 214 struct S _X3rtnFS1S_i__1(__attribute__ ((unused)) signed int __anonymous_object21){ -
tests/.expect/functions.x86.txt
r933f32f r292642a 3 3 signed int _X1fFi_Fi__Fi_i_Fi__Fi_i_Fv____1(__attribute__ ((unused)) signed int (*__anonymous_object0)(void), __attribute__ ((unused)) signed int (*__anonymous_object1)(signed int __anonymous_object2), __attribute__ ((unused)) signed int (*__anonymous_object3)(void), __attribute__ ((unused)) signed int (*__anonymous_object4)(signed int __anonymous_object5), void (*_X1gFv___1)(void)){ 4 4 __attribute__ ((unused)) signed int _X9_retval_fi_1; 5 { 6 ((void)(*_X1gFv___1)()); 7 } 8 9 { 10 ((void)_X1gFv___1()); 11 } 12 13 { 14 ((void)(_X1gFv___1=_X1hFv___1)); 15 } 16 5 ((void)(*_X1gFv___1)()); 6 ((void)_X1gFv___1()); 7 ((void)(_X1gFv___1=_X1hFv___1)); 17 8 } 18 9 signed int _X2f1Fi___1(){ … … 192 183 const double _X3fooFd_d__1(__attribute__ ((unused)) double __anonymous_object20){ 193 184 __attribute__ ((unused)) const double _X11_retval_fooKd_1; 194 { 195 ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */); 196 } 197 185 ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */); 198 186 return _X11_retval_fooKd_1; 199 187 } … … 207 195 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1); 208 196 static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 209 { 210 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */); 211 } 212 197 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */); 213 198 } 214 199 static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 215 { 216 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */); 217 } 218 200 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */); 219 201 } 220 202 static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){ 221 { 222 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */); 223 } 224 203 ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */); 225 204 } 226 205 static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){ 227 206 struct S _X4_retS1S_1; 228 { 229 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1)); 230 } 231 232 { 233 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 234 } 235 207 ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1)); 208 ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1))); 236 209 return _X4_retS1S_1; 237 210 } 238 211 static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){ 239 { 240 ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */); 241 } 242 212 ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */); 243 213 } 244 214 struct S _X3rtnFS1S_i__1(__attribute__ ((unused)) signed int __anonymous_object21){ -
tests/.expect/gccExtensions.x64.txt
r933f32f r292642a 38 38 }; 39 39 inline void _X12_constructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){ 40 { 41 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */); 42 } 43 44 { 45 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 46 } 47 48 { 49 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 50 } 51 40 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */); 41 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 42 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 52 43 } 53 44 inline void _X12_constructorFv_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){ 54 { 55 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */); 56 } 57 58 { 59 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */); 60 } 61 62 { 63 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */); 64 } 65 45 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */); 46 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */); 47 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */); 66 48 } 67 49 inline void _X11_destructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){ 68 { 69 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */); 70 } 71 72 { 73 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */); 74 } 75 76 { 77 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */); 78 } 79 50 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */); 51 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */); 52 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */); 80 53 } 81 54 inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){ 82 55 struct S _X4_retS1S_2; 83 { 84 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2)); 85 } 86 87 { 88 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2)); 89 } 90 91 { 92 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2)); 93 } 94 95 { 96 ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2))); 97 } 98 56 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2)); 57 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2)); 58 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2)); 59 ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2))); 99 60 return _X4_retS1S_2; 100 61 } 101 62 inline void _X12_constructorFv_S1Si_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2){ 102 { 103 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 104 } 105 106 { 107 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 108 } 109 110 { 111 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 112 } 113 63 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 64 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 65 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 114 66 } 115 67 inline void _X12_constructorFv_S1Sii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2){ 116 { 117 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 118 } 119 120 { 121 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 122 } 123 124 { 125 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 126 } 127 68 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 69 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 70 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 128 71 } 129 72 inline void _X12_constructorFv_S1Siii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){ 130 { 131 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 132 } 133 134 { 135 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 136 } 137 138 { 139 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 140 } 141 73 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 74 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 75 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 142 76 } 143 77 signed int _X1ii_2 = __extension__ 3; … … 145 79 __extension__ signed int _X1bi_2; 146 80 __extension__ signed int _X1ci_2; 147 { 148 ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2)); 149 } 150 151 { 152 ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2))); 153 } 154 155 { 156 ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2))); 157 } 158 81 ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2)); 82 ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2))); 83 ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2))); 159 84 signed int _X2a1i_2; 160 85 const signed int _X2a2Ki_2; … … 171 96 }; 172 97 inline void _X12_constructorFv_S2s2_autogen___2(struct s2 *_X4_dstS2s2_2){ 173 { 174 ((void)((*_X4_dstS2s2_2)._X1ii_2) /* ?{} */); 175 } 176 98 ((void)((*_X4_dstS2s2_2)._X1ii_2) /* ?{} */); 177 99 } 178 100 inline void _X12_constructorFv_S2s2S2s2_autogen___2(struct s2 *_X4_dstS2s2_2, struct s2 _X4_srcS2s2_2){ 179 { 180 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X4_srcS2s2_2._X1ii_2) /* ?{} */); 181 } 182 101 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X4_srcS2s2_2._X1ii_2) /* ?{} */); 183 102 } 184 103 inline void _X11_destructorFv_S2s2_autogen___2(struct s2 *_X4_dstS2s2_2){ 185 { 186 ((void)((*_X4_dstS2s2_2)._X1ii_2) /* ^?{} */); 187 } 188 104 ((void)((*_X4_dstS2s2_2)._X1ii_2) /* ^?{} */); 189 105 } 190 106 inline struct s2 _X16_operator_assignFS2s2_S2s2S2s2_autogen___2(struct s2 *_X4_dstS2s2_2, struct s2 _X4_srcS2s2_2){ 191 107 struct s2 _X4_retS2s2_2; 192 { 193 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X4_srcS2s2_2._X1ii_2)); 194 } 195 196 { 197 ((void)_X12_constructorFv_S2s2S2s2_autogen___2((&_X4_retS2s2_2), (*_X4_dstS2s2_2))); 198 } 199 108 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X4_srcS2s2_2._X1ii_2)); 109 ((void)_X12_constructorFv_S2s2S2s2_autogen___2((&_X4_retS2s2_2), (*_X4_dstS2s2_2))); 200 110 return _X4_retS2s2_2; 201 111 } 202 112 inline void _X12_constructorFv_S2s2i_autogen___2(struct s2 *_X4_dstS2s2_2, signed int _X1ii_2){ 203 { 204 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X1ii_2) /* ?{} */); 205 } 206 113 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X1ii_2) /* ?{} */); 207 114 } 208 115 struct s3 { … … 210 117 }; 211 118 inline void _X12_constructorFv_S2s3_autogen___2(struct s3 *_X4_dstS2s3_2){ 212 { 213 ((void)((*_X4_dstS2s3_2)._X1ii_2) /* ?{} */); 214 } 215 119 ((void)((*_X4_dstS2s3_2)._X1ii_2) /* ?{} */); 216 120 } 217 121 inline void _X12_constructorFv_S2s3S2s3_autogen___2(struct s3 *_X4_dstS2s3_2, struct s3 _X4_srcS2s3_2){ 218 { 219 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X4_srcS2s3_2._X1ii_2) /* ?{} */); 220 } 221 122 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X4_srcS2s3_2._X1ii_2) /* ?{} */); 222 123 } 223 124 inline void _X11_destructorFv_S2s3_autogen___2(struct s3 *_X4_dstS2s3_2){ 224 { 225 ((void)((*_X4_dstS2s3_2)._X1ii_2) /* ^?{} */); 226 } 227 125 ((void)((*_X4_dstS2s3_2)._X1ii_2) /* ^?{} */); 228 126 } 229 127 inline struct s3 _X16_operator_assignFS2s3_S2s3S2s3_autogen___2(struct s3 *_X4_dstS2s3_2, struct s3 _X4_srcS2s3_2){ 230 128 struct s3 _X4_retS2s3_2; 231 { 232 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X4_srcS2s3_2._X1ii_2)); 233 } 234 235 { 236 ((void)_X12_constructorFv_S2s3S2s3_autogen___2((&_X4_retS2s3_2), (*_X4_dstS2s3_2))); 237 } 238 129 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X4_srcS2s3_2._X1ii_2)); 130 ((void)_X12_constructorFv_S2s3S2s3_autogen___2((&_X4_retS2s3_2), (*_X4_dstS2s3_2))); 239 131 return _X4_retS2s3_2; 240 132 } 241 133 inline void _X12_constructorFv_S2s3i_autogen___2(struct s3 *_X4_dstS2s3_2, signed int _X1ii_2){ 242 { 243 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X1ii_2) /* ?{} */); 244 } 245 134 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X1ii_2) /* ?{} */); 246 135 } 247 136 struct s3 _X2x1S2s3_2; … … 251 140 }; 252 141 inline void _X12_constructorFv_S2s4_autogen___2(struct s4 *_X4_dstS2s4_2){ 253 { 254 ((void)((*_X4_dstS2s4_2)._X1ii_2) /* ?{} */); 255 } 256 142 ((void)((*_X4_dstS2s4_2)._X1ii_2) /* ?{} */); 257 143 } 258 144 inline void _X12_constructorFv_S2s4S2s4_autogen___2(struct s4 *_X4_dstS2s4_2, struct s4 _X4_srcS2s4_2){ 259 { 260 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X4_srcS2s4_2._X1ii_2) /* ?{} */); 261 } 262 145 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X4_srcS2s4_2._X1ii_2) /* ?{} */); 263 146 } 264 147 inline void _X11_destructorFv_S2s4_autogen___2(struct s4 *_X4_dstS2s4_2){ 265 { 266 ((void)((*_X4_dstS2s4_2)._X1ii_2) /* ^?{} */); 267 } 268 148 ((void)((*_X4_dstS2s4_2)._X1ii_2) /* ^?{} */); 269 149 } 270 150 inline struct s4 _X16_operator_assignFS2s4_S2s4S2s4_autogen___2(struct s4 *_X4_dstS2s4_2, struct s4 _X4_srcS2s4_2){ 271 151 struct s4 _X4_retS2s4_2; 272 { 273 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X4_srcS2s4_2._X1ii_2)); 274 } 275 276 { 277 ((void)_X12_constructorFv_S2s4S2s4_autogen___2((&_X4_retS2s4_2), (*_X4_dstS2s4_2))); 278 } 279 152 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X4_srcS2s4_2._X1ii_2)); 153 ((void)_X12_constructorFv_S2s4S2s4_autogen___2((&_X4_retS2s4_2), (*_X4_dstS2s4_2))); 280 154 return _X4_retS2s4_2; 281 155 } 282 156 inline void _X12_constructorFv_S2s4i_autogen___2(struct s4 *_X4_dstS2s4_2, signed int _X1ii_2){ 283 { 284 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X1ii_2) /* ?{} */); 285 } 286 157 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X1ii_2) /* ?{} */); 287 158 } 288 159 struct s4 _X2x2S2s4_2; … … 291 162 signed int _X2m2A0A0i_2[((unsigned long int )10)][((unsigned long int )10)]; 292 163 signed int _X2m3A0A0i_2[((unsigned long int )10)][((unsigned long int )10)]; 293 { 294 ((void)(_X12_retval_maini_1=0) /* ?{} */); 295 } 296 164 ((void)(_X12_retval_maini_1=0) /* ?{} */); 297 165 return _X12_retval_maini_1; 298 { 299 ((void)(_X12_retval_maini_1=0) /* ?{} */); 300 } 301 166 ((void)(_X12_retval_maini_1=0) /* ?{} */); 302 167 return _X12_retval_maini_1; 303 168 } … … 306 171 signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){ 307 172 __attribute__ ((unused)) signed int _X12_retval_maini_1; 308 { 309 signed int _tmp_cp_ret4; 310 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); 311 } 312 173 signed int _tmp_cp_ret4; 174 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); 175 ((void)(_tmp_cp_ret4) /* ^?{} */); 313 176 return _X12_retval_maini_1; 314 177 } -
tests/.expect/gccExtensions.x86.txt
r933f32f r292642a 38 38 }; 39 39 inline void _X12_constructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){ 40 { 41 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */); 42 } 43 44 { 45 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 46 } 47 48 { 49 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 50 } 51 40 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ?{} */); 41 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 42 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 52 43 } 53 44 inline void _X12_constructorFv_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){ 54 { 55 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */); 56 } 57 58 { 59 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */); 60 } 61 62 { 63 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */); 64 } 65 45 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2) /* ?{} */); 46 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2) /* ?{} */); 47 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2) /* ?{} */); 66 48 } 67 49 inline void _X11_destructorFv_S1S_autogen___2(struct S *_X4_dstS1S_2){ 68 { 69 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */); 70 } 71 72 { 73 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */); 74 } 75 76 { 77 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */); 78 } 79 50 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ^?{} */); 51 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ^?{} */); 52 ((void)((*_X4_dstS1S_2)._X1ai_2) /* ^?{} */); 80 53 } 81 54 inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___2(struct S *_X4_dstS1S_2, struct S _X4_srcS1S_2){ 82 55 struct S _X4_retS1S_2; 83 { 84 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2)); 85 } 86 87 { 88 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2)); 89 } 90 91 { 92 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2)); 93 } 94 95 { 96 ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2))); 97 } 98 56 ((void)((*_X4_dstS1S_2)._X1ai_2=_X4_srcS1S_2._X1ai_2)); 57 ((void)((*_X4_dstS1S_2)._X1bi_2=_X4_srcS1S_2._X1bi_2)); 58 ((void)((*_X4_dstS1S_2)._X1ci_2=_X4_srcS1S_2._X1ci_2)); 59 ((void)_X12_constructorFv_S1SS1S_autogen___2((&_X4_retS1S_2), (*_X4_dstS1S_2))); 99 60 return _X4_retS1S_2; 100 61 } 101 62 inline void _X12_constructorFv_S1Si_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2){ 102 { 103 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 104 } 105 106 { 107 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 108 } 109 110 { 111 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 112 } 113 63 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 64 ((void)((*_X4_dstS1S_2)._X1bi_2) /* ?{} */); 65 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 114 66 } 115 67 inline void _X12_constructorFv_S1Sii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2){ 116 { 117 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 118 } 119 120 { 121 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 122 } 123 124 { 125 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 126 } 127 68 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 69 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 70 ((void)((*_X4_dstS1S_2)._X1ci_2) /* ?{} */); 128 71 } 129 72 inline void _X12_constructorFv_S1Siii_autogen___2(struct S *_X4_dstS1S_2, signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){ 130 { 131 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 132 } 133 134 { 135 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 136 } 137 138 { 139 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 140 } 141 73 ((void)((*_X4_dstS1S_2)._X1ai_2=_X1ai_2) /* ?{} */); 74 ((void)((*_X4_dstS1S_2)._X1bi_2=_X1bi_2) /* ?{} */); 75 ((void)((*_X4_dstS1S_2)._X1ci_2=_X1ci_2) /* ?{} */); 142 76 } 143 77 signed int _X1ii_2 = __extension__ 3; … … 145 79 __extension__ signed int _X1bi_2; 146 80 __extension__ signed int _X1ci_2; 147 { 148 ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2)); 149 } 150 151 { 152 ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2))); 153 } 154 155 { 156 ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2))); 157 } 158 81 ((void)(((void)(((void)__extension__ _X1ai_2) , __extension__ _X1bi_2)) , __extension__ _X1ci_2)); 82 ((void)(__extension__ _X1ai_2=(__extension__ _X1bi_2+__extension__ _X1ci_2))); 83 ((void)(__extension__ _X1ai_2=__extension__ (__extension__ _X1bi_2+__extension__ _X1ci_2))); 159 84 signed int _X2a1i_2; 160 85 const signed int _X2a2Ki_2; … … 171 96 }; 172 97 inline void _X12_constructorFv_S2s2_autogen___2(struct s2 *_X4_dstS2s2_2){ 173 { 174 ((void)((*_X4_dstS2s2_2)._X1ii_2) /* ?{} */); 175 } 176 98 ((void)((*_X4_dstS2s2_2)._X1ii_2) /* ?{} */); 177 99 } 178 100 inline void _X12_constructorFv_S2s2S2s2_autogen___2(struct s2 *_X4_dstS2s2_2, struct s2 _X4_srcS2s2_2){ 179 { 180 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X4_srcS2s2_2._X1ii_2) /* ?{} */); 181 } 182 101 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X4_srcS2s2_2._X1ii_2) /* ?{} */); 183 102 } 184 103 inline void _X11_destructorFv_S2s2_autogen___2(struct s2 *_X4_dstS2s2_2){ 185 { 186 ((void)((*_X4_dstS2s2_2)._X1ii_2) /* ^?{} */); 187 } 188 104 ((void)((*_X4_dstS2s2_2)._X1ii_2) /* ^?{} */); 189 105 } 190 106 inline struct s2 _X16_operator_assignFS2s2_S2s2S2s2_autogen___2(struct s2 *_X4_dstS2s2_2, struct s2 _X4_srcS2s2_2){ 191 107 struct s2 _X4_retS2s2_2; 192 { 193 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X4_srcS2s2_2._X1ii_2)); 194 } 195 196 { 197 ((void)_X12_constructorFv_S2s2S2s2_autogen___2((&_X4_retS2s2_2), (*_X4_dstS2s2_2))); 198 } 199 108 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X4_srcS2s2_2._X1ii_2)); 109 ((void)_X12_constructorFv_S2s2S2s2_autogen___2((&_X4_retS2s2_2), (*_X4_dstS2s2_2))); 200 110 return _X4_retS2s2_2; 201 111 } 202 112 inline void _X12_constructorFv_S2s2i_autogen___2(struct s2 *_X4_dstS2s2_2, signed int _X1ii_2){ 203 { 204 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X1ii_2) /* ?{} */); 205 } 206 113 ((void)((*_X4_dstS2s2_2)._X1ii_2=_X1ii_2) /* ?{} */); 207 114 } 208 115 struct s3 { … … 210 117 }; 211 118 inline void _X12_constructorFv_S2s3_autogen___2(struct s3 *_X4_dstS2s3_2){ 212 { 213 ((void)((*_X4_dstS2s3_2)._X1ii_2) /* ?{} */); 214 } 215 119 ((void)((*_X4_dstS2s3_2)._X1ii_2) /* ?{} */); 216 120 } 217 121 inline void _X12_constructorFv_S2s3S2s3_autogen___2(struct s3 *_X4_dstS2s3_2, struct s3 _X4_srcS2s3_2){ 218 { 219 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X4_srcS2s3_2._X1ii_2) /* ?{} */); 220 } 221 122 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X4_srcS2s3_2._X1ii_2) /* ?{} */); 222 123 } 223 124 inline void _X11_destructorFv_S2s3_autogen___2(struct s3 *_X4_dstS2s3_2){ 224 { 225 ((void)((*_X4_dstS2s3_2)._X1ii_2) /* ^?{} */); 226 } 227 125 ((void)((*_X4_dstS2s3_2)._X1ii_2) /* ^?{} */); 228 126 } 229 127 inline struct s3 _X16_operator_assignFS2s3_S2s3S2s3_autogen___2(struct s3 *_X4_dstS2s3_2, struct s3 _X4_srcS2s3_2){ 230 128 struct s3 _X4_retS2s3_2; 231 { 232 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X4_srcS2s3_2._X1ii_2)); 233 } 234 235 { 236 ((void)_X12_constructorFv_S2s3S2s3_autogen___2((&_X4_retS2s3_2), (*_X4_dstS2s3_2))); 237 } 238 129 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X4_srcS2s3_2._X1ii_2)); 130 ((void)_X12_constructorFv_S2s3S2s3_autogen___2((&_X4_retS2s3_2), (*_X4_dstS2s3_2))); 239 131 return _X4_retS2s3_2; 240 132 } 241 133 inline void _X12_constructorFv_S2s3i_autogen___2(struct s3 *_X4_dstS2s3_2, signed int _X1ii_2){ 242 { 243 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X1ii_2) /* ?{} */); 244 } 245 134 ((void)((*_X4_dstS2s3_2)._X1ii_2=_X1ii_2) /* ?{} */); 246 135 } 247 136 struct s3 _X2x1S2s3_2; … … 251 140 }; 252 141 inline void _X12_constructorFv_S2s4_autogen___2(struct s4 *_X4_dstS2s4_2){ 253 { 254 ((void)((*_X4_dstS2s4_2)._X1ii_2) /* ?{} */); 255 } 256 142 ((void)((*_X4_dstS2s4_2)._X1ii_2) /* ?{} */); 257 143 } 258 144 inline void _X12_constructorFv_S2s4S2s4_autogen___2(struct s4 *_X4_dstS2s4_2, struct s4 _X4_srcS2s4_2){ 259 { 260 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X4_srcS2s4_2._X1ii_2) /* ?{} */); 261 } 262 145 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X4_srcS2s4_2._X1ii_2) /* ?{} */); 263 146 } 264 147 inline void _X11_destructorFv_S2s4_autogen___2(struct s4 *_X4_dstS2s4_2){ 265 { 266 ((void)((*_X4_dstS2s4_2)._X1ii_2) /* ^?{} */); 267 } 268 148 ((void)((*_X4_dstS2s4_2)._X1ii_2) /* ^?{} */); 269 149 } 270 150 inline struct s4 _X16_operator_assignFS2s4_S2s4S2s4_autogen___2(struct s4 *_X4_dstS2s4_2, struct s4 _X4_srcS2s4_2){ 271 151 struct s4 _X4_retS2s4_2; 272 { 273 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X4_srcS2s4_2._X1ii_2)); 274 } 275 276 { 277 ((void)_X12_constructorFv_S2s4S2s4_autogen___2((&_X4_retS2s4_2), (*_X4_dstS2s4_2))); 278 } 279 152 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X4_srcS2s4_2._X1ii_2)); 153 ((void)_X12_constructorFv_S2s4S2s4_autogen___2((&_X4_retS2s4_2), (*_X4_dstS2s4_2))); 280 154 return _X4_retS2s4_2; 281 155 } 282 156 inline void _X12_constructorFv_S2s4i_autogen___2(struct s4 *_X4_dstS2s4_2, signed int _X1ii_2){ 283 { 284 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X1ii_2) /* ?{} */); 285 } 286 157 ((void)((*_X4_dstS2s4_2)._X1ii_2=_X1ii_2) /* ?{} */); 287 158 } 288 159 struct s4 _X2x2S2s4_2; … … 291 162 signed int _X2m2A0A0i_2[((unsigned int )10)][((unsigned int )10)]; 292 163 signed int _X2m3A0A0i_2[((unsigned int )10)][((unsigned int )10)]; 293 { 294 ((void)(_X12_retval_maini_1=0) /* ?{} */); 295 } 296 164 ((void)(_X12_retval_maini_1=0) /* ?{} */); 297 165 return _X12_retval_maini_1; 298 { 299 ((void)(_X12_retval_maini_1=0) /* ?{} */); 300 } 301 166 ((void)(_X12_retval_maini_1=0) /* ?{} */); 302 167 return _X12_retval_maini_1; 303 168 } … … 306 171 signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){ 307 172 __attribute__ ((unused)) signed int _X12_retval_maini_1; 308 { 309 signed int _tmp_cp_ret4; 310 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); 311 } 312 173 signed int _tmp_cp_ret4; 174 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); 175 ((void)(_tmp_cp_ret4) /* ^?{} */); 313 176 return _X12_retval_maini_1; 314 177 } -
tests/raii/.expect/memberCtors-ERR1.txt
r933f32f r292642a 1 raii/memberCtors.cfa: 92:1 error: in void ?{}(B &b), field a2 used before being constructed1 raii/memberCtors.cfa:71:1 error: in void ?{}(B &b), field a2 used before being constructed -
tests/raii/.expect/memberCtors.txt
r933f32f r292642a 1 1 Before declaration of b1 2 constructing int id: 0 3 constructing int id: 1 4 constructing int id: 2 5 default construct A 0 6 constructing int id: 3 7 constructing int id: 4 8 constructing int id: 5 9 default construct A 1 10 begin construct B id: 0 2 constructing int 3 constructing int 4 constructing int 5 constructing int 6 constructing int 7 constructing int 8 begin construct B 11 9 assign b.a2 12 constructing int id: 613 constructing int id: 714 begin construct A id: 215 construct a.x 16 constructing int: 1001 id: 817 assign a.y 18 assigning int: 0 0 id: 619 end construct A 20 copy constructing int: 0 id: 921 copy constructing int: 0 id: 1022 begin copy construct A id: 323 copy construct this.x 24 copy constructing int: 1001 id: 1125 assign this.y 26 copy constructing int: 0 id: 1227 destructing int: 0 id: 1228 destructing int: 0 id: 1229 end copy construct A 30 begin ?=? A id: 031 copy constructing int: 1001 id: 1332 destructing int: 1001 id: 1333 destructing int: 1001 id: 1334 copy constructing int: 0 id: 1435 destructing int: 0 id: 1436 destructing int: 0 id: 1437 copy constructing int: 0 id: 1538 destructing int: 0 id: 1539 destructing int: 0 id: 1510 constructing int 11 constructing int 12 begin construct A 13 construct a.x 14 constructing int: 1001 15 assign a.y 16 assigning int: 0 0 17 end construct A 18 copy constructing int: 0 19 copy constructing int: 0 20 begin copy construct A 21 copy construct this.x 22 copy constructing int: 1001 23 assign this.y 24 copy constructing int: 0 25 destructing int: 0 26 destructing int: 0 27 end copy construct A 28 begin ?=? A 29 copy constructing int: 1001 30 destructing int: 1001 31 destructing int: 1001 32 copy constructing int: 0 33 destructing int: 0 34 destructing int: 0 35 copy constructing int: 0 36 destructing int: 0 37 destructing int: 0 40 38 end ?=? A 41 copy constructing int: 0 id: 1642 copy constructing int: 0 id: 1743 begin copy construct A id: 444 copy construct this.x 45 copy constructing int: 1001 id: 1846 assign this.y 47 copy constructing int: 0 id: 1948 destructing int: 0 id: 1949 destructing int: 0 id: 1950 end copy construct A 51 destructing int: 0 id: 1752 destructing int: 0 id: 1953 destructing int: 1001 id: 1854 destructing int: 0 id: 1055 destructing int: 0 id: 1256 destructing int: 1001 id: 1139 copy constructing int: 0 40 copy constructing int: 0 41 begin copy construct A 42 copy construct this.x 43 copy constructing int: 1001 44 assign this.y 45 copy constructing int: 0 46 destructing int: 0 47 destructing int: 0 48 end copy construct A 49 destructing int: 0 50 destructing int: 0 51 destructing int: 1001 52 destructing int: 0 53 destructing int: 0 54 destructing int: 1001 57 55 construct b.a1 58 constructing int id: 2059 constructing int id: 2160 begin construct A id: 561 construct a.x 62 constructing int: 1000 id: 2263 assign a.y 64 assigning int: 0 0 id: 2056 constructing int 57 constructing int 58 begin construct A 59 construct a.x 60 constructing int: 1000 61 assign a.y 62 assigning int: 0 0 65 63 end construct A 66 64 end construct B 67 destructing int: 0 id: 768 destructing int: 0 id: 669 destructing int: 1001 id: 865 destructing int: 0 66 destructing int: 0 67 destructing int: 1001 70 68 Before declaration of b2 71 copy constructing int: 0 id: 2372 copy constructing int: 0 id: 2473 begin copy construct A id: 674 copy construct this.x 75 copy constructing int: 1000 id: 2576 assign this.y 77 copy constructing int: 0 id: 2678 destructing int: 0 id: 2679 destructing int: 0 id: 2680 end copy construct A 81 copy constructing int: 0 id: 2782 copy constructing int: 0 id: 2883 begin copy construct A id: 784 copy construct this.x 85 copy constructing int: 1001 id: 2986 assign this.y 87 copy constructing int: 0 id: 3088 destructing int: 0 id: 3089 destructing int: 0 id: 3090 end copy construct A 91 copy constructing int: 0 id: 3192 copy constructing int: 0 id: 3293 begin copy construct A id: 894 copy construct this.x 95 copy constructing int: 0 id: 3396 assign this.y 97 copy constructing int: 0 id: 3498 destructing int: 0 id: 3499 destructing int: 0 id: 3469 copy constructing int: 0 70 copy constructing int: 0 71 begin copy construct A 72 copy construct this.x 73 copy constructing int: 1000 74 assign this.y 75 copy constructing int: 0 76 destructing int: 0 77 destructing int: 0 78 end copy construct A 79 copy constructing int: 0 80 copy constructing int: 0 81 begin copy construct A 82 copy construct this.x 83 copy constructing int: 1001 84 assign this.y 85 copy constructing int: 0 86 destructing int: 0 87 destructing int: 0 88 end copy construct A 89 copy constructing int: 0 90 copy constructing int: 0 91 begin copy construct A 92 copy construct this.x 93 copy constructing int: 0 94 assign this.y 95 copy constructing int: 0 96 destructing int: 0 97 destructing int: 0 100 98 end copy construct A 101 99 End of main 102 begin destruct B id: 1 103 constructing int id: 35 104 constructing int id: 36 105 begin construct A id: 9 106 construct a.x 107 constructing int: 999 id: 37 108 assign a.y 109 assigning int: 0 0 id: 35 110 end construct A 111 copy constructing int: 0 id: 38 112 copy constructing int: 0 id: 39 113 begin copy construct A id: 10 114 copy construct this.x 115 copy constructing int: 999 id: 40 116 assign this.y 117 copy constructing int: 0 id: 41 118 destructing int: 0 id: 41 119 destructing int: 0 id: 41 120 end copy construct A 121 begin ?=? A id: 7 122 copy constructing int: 999 id: 42 123 destructing int: 999 id: 42 124 destructing int: 999 id: 42 125 copy constructing int: 0 id: 43 126 destructing int: 0 id: 43 127 destructing int: 0 id: 43 128 copy constructing int: 0 id: 44 129 destructing int: 0 id: 44 130 destructing int: 0 id: 44 100 constructing int 101 constructing int 102 begin construct A 103 construct a.x 104 constructing int: 999 105 assign a.y 106 assigning int: 0 0 107 end construct A 108 copy constructing int: 0 109 copy constructing int: 0 110 begin copy construct A 111 copy construct this.x 112 copy constructing int: 999 113 assign this.y 114 copy constructing int: 0 115 destructing int: 0 116 destructing int: 0 117 end copy construct A 118 begin ?=? A 119 copy constructing int: 999 120 destructing int: 999 121 destructing int: 999 122 copy constructing int: 0 123 destructing int: 0 124 destructing int: 0 125 copy constructing int: 0 126 destructing int: 0 127 destructing int: 0 131 128 end ?=? A 132 copy constructing int: 0 id: 45 133 copy constructing int: 0 id: 46 134 begin copy construct A id: 11 135 copy construct this.x 136 copy constructing int: 999 id: 47 137 assign this.y 138 copy constructing int: 0 id: 48 139 destructing int: 0 id: 48 140 destructing int: 0 id: 48 141 end copy construct A 142 destructing int: 0 id: 46 143 destructing int: 0 id: 48 144 destructing int: 999 id: 47 145 destructing int: 0 id: 39 146 destructing int: 0 id: 41 147 destructing int: 999 id: 40 148 destructing int: 0 id: 24 149 destructing int: 0 id: 26 150 destructing int: 1000 id: 25 151 end destruct B 152 destructing int: 0 id: 36 153 destructing int: 0 id: 35 154 destructing int: 999 id: 37 155 destructing int: 0 id: 32 156 destructing int: 0 id: 34 157 destructing int: 0 id: 33 158 destructing int: 0 id: 44 159 destructing int: 0 id: 43 160 destructing int: 999 id: 42 161 begin destruct B id: 2 162 constructing int id: 49 163 constructing int id: 50 164 begin construct A id: 12 165 construct a.x 166 constructing int: 999 id: 51 167 assign a.y 168 assigning int: 0 0 id: 49 169 end construct A 170 copy constructing int: 0 id: 52 171 copy constructing int: 0 id: 53 172 begin copy construct A id: 13 173 copy construct this.x 174 copy constructing int: 999 id: 54 175 assign this.y 176 copy constructing int: 0 id: 55 177 destructing int: 0 id: 55 178 destructing int: 0 id: 55 179 end copy construct A 180 begin ?=? A id: 0 181 copy constructing int: 999 id: 56 182 destructing int: 999 id: 56 183 destructing int: 999 id: 56 184 copy constructing int: 0 id: 57 185 destructing int: 0 id: 57 186 destructing int: 0 id: 57 187 copy constructing int: 0 id: 58 188 destructing int: 0 id: 58 189 destructing int: 0 id: 58 129 copy constructing int: 0 130 copy constructing int: 0 131 begin copy construct A 132 copy construct this.x 133 copy constructing int: 999 134 assign this.y 135 copy constructing int: 0 136 destructing int: 0 137 destructing int: 0 138 end copy construct A 139 destructing int: 0 140 destructing int: 0 141 destructing int: 999 142 destructing int: 0 143 destructing int: 0 144 destructing int: 999 145 destructing int: 0 146 destructing int: 0 147 destructing int: 1000 148 destructing int: 0 149 destructing int: 0 150 destructing int: 999 151 destructing int: 0 152 destructing int: 0 153 destructing int: 0 154 destructing int: 0 155 destructing int: 0 156 destructing int: 999 157 constructing int 158 constructing int 159 begin construct A 160 construct a.x 161 constructing int: 999 162 assign a.y 163 assigning int: 0 0 164 end construct A 165 copy constructing int: 0 166 copy constructing int: 0 167 begin copy construct A 168 copy construct this.x 169 copy constructing int: 999 170 assign this.y 171 copy constructing int: 0 172 destructing int: 0 173 destructing int: 0 174 end copy construct A 175 begin ?=? A 176 copy constructing int: 999 177 destructing int: 999 178 destructing int: 999 179 copy constructing int: 0 180 destructing int: 0 181 destructing int: 0 182 copy constructing int: 0 183 destructing int: 0 184 destructing int: 0 190 185 end ?=? A 191 copy constructing int: 0 id: 59 192 copy constructing int: 0 id: 60 193 begin copy construct A id: 14 194 copy construct this.x 195 copy constructing int: 999 id: 61 196 assign this.y 197 copy constructing int: 0 id: 62 198 destructing int: 0 id: 62 199 destructing int: 0 id: 62 200 end copy construct A 201 destructing int: 0 id: 60 202 destructing int: 0 id: 62 203 destructing int: 999 id: 61 204 destructing int: 0 id: 53 205 destructing int: 0 id: 55 206 destructing int: 999 id: 54 207 destructing int: 0 id: 21 208 destructing int: 0 id: 20 209 destructing int: 1000 id: 22 210 end destruct B 211 destructing int: 0 id: 50 212 destructing int: 0 id: 49 213 destructing int: 999 id: 51 214 destructing int: 0 id: 5 215 destructing int: 0 id: 4 216 destructing int: 0 id: 3 217 destructing int: 0 id: 58 218 destructing int: 0 id: 57 219 destructing int: 999 id: 56 186 copy constructing int: 0 187 copy constructing int: 0 188 begin copy construct A 189 copy construct this.x 190 copy constructing int: 999 191 assign this.y 192 copy constructing int: 0 193 destructing int: 0 194 destructing int: 0 195 end copy construct A 196 destructing int: 0 197 destructing int: 0 198 destructing int: 999 199 destructing int: 0 200 destructing int: 0 201 destructing int: 999 202 destructing int: 0 203 destructing int: 0 204 destructing int: 1000 205 destructing int: 0 206 destructing int: 0 207 destructing int: 999 208 destructing int: 0 209 destructing int: 0 210 destructing int: 0 211 destructing int: 0 212 destructing int: 0 213 destructing int: 999 -
tests/raii/memberCtors.cfa
r933f32f r292642a 1 1 struct WrappedInt { 2 2 int x; 3 int id;4 3 }; 5 int intID = 0;6 4 7 5 void ?{}(WrappedInt & this) { 8 this.id = intID++; 9 printf("constructing int id: %d\n", this.id); 6 printf("constructing int\n"); 10 7 this.x = 0; 11 8 } 12 9 13 10 void ?{}(WrappedInt & this, WrappedInt other) { 14 this.id = intID++; 15 printf("copy constructing int: %d id: %d\n", other.x, this.id); 11 printf("copy constructing int: %d\n", other.x); 16 12 this.x = other.x; 17 13 } 18 14 19 15 void ?{}(WrappedInt & this, int x) { 20 this.id = intID++; 21 printf("constructing int: %d id: %d\n", x, this.id); 16 printf("constructing int: %d\n", x); 22 17 this.x = x; 23 18 } 24 19 25 20 void ^?{}(WrappedInt & this) { 26 printf("destructing int: %d id: %d\n", this.x, this.id);21 printf("destructing int: %d\n", this.x); 27 22 } 28 23 29 /* WrappedInt */void ?=?(WrappedInt & this, int x) {30 printf("assigning int: %d %d id: %d\n", this.x, x, this.id);24 void ?=?(WrappedInt & this, int x) { 25 printf("assigning int: %d %d\n", this.x, x); 31 26 this.x = x; 32 // return this;33 27 } 34 35 // WrappedInt ?=?(WrappedInt & this, WrappedInt other) {36 // printf("assigning int: %d %d\n", this.x, other.x);37 // this.x = other.x;38 // return this;39 // }40 28 41 29 struct A { 42 30 WrappedInt x, y, z; 43 int id;44 31 }; 45 int AID = 0;46 32 47 33 void ?{}(A & a) { 48 34 // currently must define default ctor, since there's no "= default" syntax 49 a.id = AID++;50 printf("default construct A %d\n", a.id);51 35 } 52 36 53 37 void ?{}(A & a, int x) { 54 a.id = AID++; 55 printf("begin construct A id: %d\n", a.id); 38 printf("begin construct A\n"); 56 39 printf("construct a.x\n"); 57 40 (a.x){ x+999 }; … … 62 45 63 46 void ?{}(A & this, A other) { 64 this.id = AID++; 65 printf("begin copy construct A id: %d\n", this.id); 47 printf("begin copy construct A\n"); 66 48 printf("copy construct this.x\n"); 67 49 (this.x){ other.x }; … … 72 54 73 55 A ?=?(A & this, A other) { 74 printf("begin ?=? A id: %d\n", this.id);56 printf("begin ?=? A\n"); 75 57 this.x = other.x; 76 58 this.y = other.y; … … 82 64 struct B { 83 65 A a1, a2, a3; 84 int id;85 66 }; 86 int BID = 0;87 67 88 68 void ?{}(B & b) { 89 b.id = BID++; 90 printf("begin construct B id: %d\n", b.id); 69 printf("begin construct B\n"); 91 70 printf("assign b.a2\n"); 92 71 b.a2 = (A) { 2 }; … … 100 79 101 80 void ^?{}(B & b) { 102 b.id = BID++;103 printf("begin destruct B id: %d\n", b.id);104 81 b.a2 = (A) { 0 }; 105 82 ^(b.a1){}; 106 printf("end destruct B\n");107 83 } // a2, a3 never destructed - will be automatically destructed 108 84 109 85 int main() { 110 86 printf("Before declaration of b1\n"); 111 B b1; // b1 = { { 1000, 0, 0 }, { 1001, 0, 0 }, { 0, 0, 0 } }87 B b1; 112 88 printf("Before declaration of b2\n"); 113 89 B b2 = b1;
Note:
See TracChangeset
for help on using the changeset viewer.