Changeset 29917c6
- Timestamp:
- Aug 16, 2016, 6:09:36 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 08ac489
- Parents:
- 0da3e2c (diff), b7ea418 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- src
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/DeclarationNode.cc
r0da3e2c r29917c6 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 15 20:48:55201613 // Update Count : 17 812 // Last Modified On : Tue Aug 16 18:00:34 2016 13 // Update Count : 179 14 14 // 15 15 … … 25 25 #include "SynTree/Expression.h" 26 26 27 #include "Parser.h"28 27 #include "TypedefTable.h" 29 28 extern TypedefTable typedefTable; … … 48 47 newnode->type = maybeClone( type ); 49 48 newnode->name = name; 50 newnode->storageClasses = storageClasses; 49 newnode->storageClass = storageClass; 50 newnode->isInline = isInline; 51 newnode->isNoreturn = isNoreturn; 51 52 newnode->bitfieldWidth = bitfieldWidth; 52 53 newnode->hasEllipsis = hasEllipsis; … … 57 58 } // DeclarationNode::clone 58 59 59 DeclarationNode::DeclarationNode() : type( 0 ), bitfieldWidth( 0 ), initializer( 0 ), hasEllipsis( false ), linkage( ::linkage ) { 60 DeclarationNode::DeclarationNode() 61 : type( 0 ) 62 , storageClass( NoStorageClass ) 63 , isInline( false ) 64 , isNoreturn( false ) 65 , bitfieldWidth( 0 ) 66 , initializer( 0 ) 67 , hasEllipsis( false ) 68 , linkage( ::linkage ) 69 , extension( false ) 70 , error() { 60 71 } 61 72 … … 82 93 } // if 83 94 84 printEnums( storageClasses.begin(), storageClasses.end(), DeclarationNode::storageName, os ); 95 if(storageClass != NoStorageClass) os << DeclarationNode::storageName[storageClass] << ' '; 96 if(isInline) os << DeclarationNode::storageName[Inline] << ' '; 97 if(isNoreturn) os << DeclarationNode::storageName[Noreturn] << ' '; 85 98 if ( type ) { 86 99 type->print( os, indent ); … … 143 156 DeclarationNode *DeclarationNode::newStorageClass( DeclarationNode::StorageClass sc ) { 144 157 DeclarationNode *newnode = new DeclarationNode; 145 newnode->storageClasses.push_back( sc ); 158 switch (sc) { 159 case Inline: newnode->isInline = true; break; 160 case Noreturn: newnode->isNoreturn = true; break; 161 default: newnode->storageClass = sc; break; 162 } 146 163 return newnode; 147 164 } // DeclarationNode::newStorageClass … … 359 376 DeclarationNode *DeclarationNode::addQualifiers( DeclarationNode *q ) { 360 377 if ( q ) { 361 storageClasses.splice( storageClasses.end(), q->storageClasses);378 copyStorageClasses(q); 362 379 if ( q->type ) { 363 380 if ( ! type ) { … … 386 403 387 404 DeclarationNode *DeclarationNode::copyStorageClasses( DeclarationNode *q ) { 388 storageClasses = q->storageClasses; 405 isInline = isInline || q->isInline; 406 isNoreturn = isNoreturn || q->isNoreturn; 407 if(storageClass == NoStorageClass) { 408 storageClass = q->storageClass; 409 } 410 else if (q->storageClass != NoStorageClass) { 411 q->error = "invalid combination of storage classes in declaration of "; 412 } 413 if(error.empty()) error = q->error; 389 414 return this; 390 415 } … … 446 471 DeclarationNode *DeclarationNode::addType( DeclarationNode *o ) { 447 472 if ( o ) { 448 storageClasses.splice( storageClasses.end(), o->storageClasses);473 copyStorageClasses( o ); 449 474 if ( o->type ) { 450 475 if ( ! type ) { … … 693 718 } // if 694 719 newnode->type->forall = maybeClone( type->forall ); 695 newnode-> storageClasses = storageClasses;720 newnode->copyStorageClasses( this ); 696 721 newnode->name = assign_strptr( newName ); 697 722 return newnode; … … 700 725 DeclarationNode *DeclarationNode::cloneBaseType( DeclarationNode *o ) { 701 726 if ( o ) { 702 o-> storageClasses.insert( o->storageClasses.end(), storageClasses.begin(), storageClasses.end());727 o->copyStorageClasses( this ); 703 728 if ( type ) { 704 729 TypeData *srcType = type; … … 733 758 DeclarationNode *newnode = new DeclarationNode; 734 759 newnode->type = maybeClone( type ); 735 newnode-> storageClasses = storageClasses;760 newnode->copyStorageClasses( this ); 736 761 newnode->name = assign_strptr( newName ); 737 762 return newnode; … … 740 765 DeclarationNode *DeclarationNode::cloneType( DeclarationNode *o ) { 741 766 if ( o ) { 742 o-> storageClasses.insert( o->storageClasses.end(), storageClasses.begin(), storageClasses.end());767 o->copyStorageClasses( this ); 743 768 if ( type ) { 744 769 TypeData *newType = type->clone(); … … 855 880 856 881 Declaration *DeclarationNode::build() const { 882 if( !error.empty() ) throw SemanticError( error, this ); 857 883 if ( type ) { 858 return type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildFuncSpecifier( Inline ), buildFuncSpecifier( Noreturn ), linkage, maybeBuild< Initializer >(initializer) )->set_extension( extension );859 } // if 860 if ( ! buildFuncSpecifier( Inline ) && ! buildFuncSpecifier( Noreturn )) {861 return (new ObjectDecl( name, buildStorageClass(), linkage, maybeBuild< Expression >( bitfieldWidth ), 0, maybeBuild< Initializer >( initializer ) ))->set_extension( extension );884 return type->buildDecl( name, storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, maybeBuild< Initializer >(initializer) )->set_extension( extension ); 885 } // if 886 if ( ! isInline && ! isNoreturn ) { 887 return (new ObjectDecl( name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), 0, maybeBuild< Initializer >( initializer ) ))->set_extension( extension ); 862 888 } // if 863 889 throw SemanticError( "invalid function specifier in declaration of ", this ); … … 898 924 } 899 925 900 DeclarationNode::StorageClass DeclarationNode::buildStorageClass() const {901 DeclarationNode::StorageClass ret = DeclarationNode::NoStorageClass;902 for ( std::list< DeclarationNode::StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) {903 if ( *i == DeclarationNode::Inline || *i == DeclarationNode::Noreturn ) continue; // ignore function specifiers904 if ( ret != DeclarationNode::NoStorageClass ) { // already have a valid storage class ?905 throw SemanticError( "invalid combination of storage classes in declaration of ", this );906 } // if907 ret = *i;908 } // for909 return ret;910 }911 912 bool DeclarationNode::buildFuncSpecifier( DeclarationNode::StorageClass key ) const {913 std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), key );914 if ( first == storageClasses.end() ) return false; // not found915 first = std::find( ++first, storageClasses.end(), key ); // found916 if ( first == storageClasses.end() ) return true; // not found again917 throw SemanticError( "duplicate function specifier in declaration of ", this );918 }926 // DeclarationNode::StorageClass DeclarationNode::buildStorageClass() const { 927 // DeclarationNode::StorageClass ret = DeclarationNode::NoStorageClass; 928 // for ( std::list< DeclarationNode::StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) { 929 // if ( *i == DeclarationNode::Inline || *i == DeclarationNode::Noreturn ) continue; // ignore function specifiers 930 // if ( ret != DeclarationNode::NoStorageClass ) { // already have a valid storage class ? 931 // throw SemanticError( "invalid combination of storage classes in declaration of ", this ); 932 // } // if 933 // ret = *i; 934 // } // for 935 // return ret; 936 // } 937 938 // bool DeclarationNode::buildFuncSpecifier( DeclarationNode::StorageClass key ) const { 939 // std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), key ); 940 // if ( first == storageClasses.end() ) return false; // not found 941 // first = std::find( ++first, storageClasses.end(), key ); // found 942 // if ( first == storageClasses.end() ) return true; // not found again 943 // throw SemanticError( "duplicate function specifier in declaration of ", this ); 944 // } 919 945 920 946 // Local Variables: // -
src/Parser/ParseNode.h
r0da3e2c r29917c6 271 271 DeclarationNode *set_extension( bool exten ) { extension = exten; return this; } 272 272 private: 273 StorageClass buildStorageClass() const;274 bool buildFuncSpecifier( StorageClass key ) const;273 // StorageClass buildStorageClass() const; 274 // bool buildFuncSpecifier( StorageClass key ) const; 275 275 276 276 TypeData *type; 277 277 std::string name; 278 std::list< StorageClass > storageClasses; 278 // std::list< StorageClass > storageClasses; 279 StorageClass storageClass; 280 bool isInline, isNoreturn; 279 281 std::list< std::string > attributes; 280 282 ExpressionNode *bitfieldWidth; … … 284 286 LinkageSpec::Type linkage; 285 287 bool extension = false; 288 std::string error; 286 289 287 290 static UniqueName anonymous; -
src/tests/.expect/declarationErrors.txt
r0da3e2c r29917c6 1 1 CFA Version 1.0.0 (debug) 2 Error: invalid combination of storage classes in declaration of x9: static staticvolatile const short int2 Error: invalid combination of storage classes in declaration of x9: static volatile const short int 3 3 4 Error: invalid combination of storage classes in declaration of x18: static staticconst volatile instance of struct __anonymous04 Error: invalid combination of storage classes in declaration of x18: static const volatile instance of struct __anonymous0 5 5 with members 6 6 with body 7 7 8 8 9 Error: invalid combination of storage classes in declaration of x19: static staticconst volatile volatile instance of struct __anonymous19 Error: invalid combination of storage classes in declaration of x19: static const volatile volatile instance of struct __anonymous1 10 10 with members 11 11 with body 12 12 13 13 14 Error: invalid combination of storage classes in declaration of x28: static staticvolatile const instance of type Int14 Error: invalid combination of storage classes in declaration of x28: static volatile const instance of type Int 15 15 16 16 make: *** [declarationErrors] Error 1 -
src/tests/.expect/declarationSpecifier.txt
r0da3e2c r29917c6 1 CFA Version 1.0.0 (debug) 2 Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 3 4 Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8 5 with members 6 with body 7 8 9 Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9 10 with members 11 with body 12 13 14 Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int 15 16 make: *** [declarationSpecifier] Error 1 1 extern void *malloc(long unsigned int __size); 2 extern void free(void *__ptr); 3 extern void abort(void); 4 extern int atexit(void (*__func)(void)); 5 extern void exit(int __status); 6 extern int printf(const char *__restrict __format, ...); 7 volatile const short __x1__CVs_1; 8 static volatile const short __x2__CVs_1; 9 static volatile const short __x3__CVs_1; 10 static volatile const short __x4__CVs_1; 11 static volatile const short __x5__CVs_1; 12 static volatile const short __x6__CVs_1; 13 static volatile const short __x7__CVs_1; 14 static volatile const short __x8__CVs_1; 15 struct __anonymous0 { 16 int __i__i_1; 17 }; 18 static inline struct __anonymous0 ___operator_assign__F13s__anonymous0_P13s__anonymous013s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1, struct __anonymous0 ___src__13s__anonymous0_1){ 19 ((void)((*___dst__P13s__anonymous0_1).__i__i_1=___src__13s__anonymous0_1.__i__i_1)); 20 return ((struct __anonymous0 )___src__13s__anonymous0_1); 21 } 22 static inline void ___constructor__F_P13s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1){ 23 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))) /* ?{} */); 24 } 25 static inline void ___constructor__F_P13s__anonymous013s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1, struct __anonymous0 ___src__13s__anonymous0_1){ 26 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))=___src__13s__anonymous0_1.__i__i_1) /* ?{} */); 27 } 28 static inline void ___destructor__F_P13s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1){ 29 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))) /* ^?{} */); 30 } 31 static inline void ___constructor__F_P13s__anonymous0i_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1, int __i__i_1){ 32 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))=__i__i_1) /* ?{} */); 33 } 34 volatile const struct __anonymous0 __x10__CV13s__anonymous0_1; 35 struct __anonymous1 { 36 int __i__i_1; 37 }; 38 static inline struct __anonymous1 ___operator_assign__F13s__anonymous1_P13s__anonymous113s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1, struct __anonymous1 ___src__13s__anonymous1_1){ 39 ((void)((*___dst__P13s__anonymous1_1).__i__i_1=___src__13s__anonymous1_1.__i__i_1)); 40 return ((struct __anonymous1 )___src__13s__anonymous1_1); 41 } 42 static inline void ___constructor__F_P13s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1){ 43 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))) /* ?{} */); 44 } 45 static inline void ___constructor__F_P13s__anonymous113s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1, struct __anonymous1 ___src__13s__anonymous1_1){ 46 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))=___src__13s__anonymous1_1.__i__i_1) /* ?{} */); 47 } 48 static inline void ___destructor__F_P13s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1){ 49 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))) /* ^?{} */); 50 } 51 static inline void ___constructor__F_P13s__anonymous1i_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1, int __i__i_1){ 52 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))=__i__i_1) /* ?{} */); 53 } 54 volatile const struct __anonymous1 __x11__CV13s__anonymous1_1; 55 struct __anonymous2 { 56 int __i__i_1; 57 }; 58 static inline struct __anonymous2 ___operator_assign__F13s__anonymous2_P13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1){ 59 ((void)((*___dst__P13s__anonymous2_1).__i__i_1=___src__13s__anonymous2_1.__i__i_1)); 60 return ((struct __anonymous2 )___src__13s__anonymous2_1); 61 } 62 static inline void ___constructor__F_P13s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1){ 63 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))) /* ?{} */); 64 } 65 static inline void ___constructor__F_P13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1){ 66 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))=___src__13s__anonymous2_1.__i__i_1) /* ?{} */); 67 } 68 static inline void ___destructor__F_P13s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1){ 69 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))) /* ^?{} */); 70 } 71 static inline void ___constructor__F_P13s__anonymous2i_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1, int __i__i_1){ 72 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))=__i__i_1) /* ?{} */); 73 } 74 volatile const struct __anonymous2 __x12__CV13s__anonymous2_1; 75 struct __anonymous3 { 76 int __i__i_1; 77 }; 78 static inline struct __anonymous3 ___operator_assign__F13s__anonymous3_P13s__anonymous313s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1, struct __anonymous3 ___src__13s__anonymous3_1){ 79 ((void)((*___dst__P13s__anonymous3_1).__i__i_1=___src__13s__anonymous3_1.__i__i_1)); 80 return ((struct __anonymous3 )___src__13s__anonymous3_1); 81 } 82 static inline void ___constructor__F_P13s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1){ 83 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))) /* ?{} */); 84 } 85 static inline void ___constructor__F_P13s__anonymous313s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1, struct __anonymous3 ___src__13s__anonymous3_1){ 86 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))=___src__13s__anonymous3_1.__i__i_1) /* ?{} */); 87 } 88 static inline void ___destructor__F_P13s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1){ 89 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))) /* ^?{} */); 90 } 91 static inline void ___constructor__F_P13s__anonymous3i_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1, int __i__i_1){ 92 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))=__i__i_1) /* ?{} */); 93 } 94 static volatile const struct __anonymous3 __x13__CV13s__anonymous3_1; 95 struct __anonymous4 { 96 int __i__i_1; 97 }; 98 static inline struct __anonymous4 ___operator_assign__F13s__anonymous4_P13s__anonymous413s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1, struct __anonymous4 ___src__13s__anonymous4_1){ 99 ((void)((*___dst__P13s__anonymous4_1).__i__i_1=___src__13s__anonymous4_1.__i__i_1)); 100 return ((struct __anonymous4 )___src__13s__anonymous4_1); 101 } 102 static inline void ___constructor__F_P13s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1){ 103 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))) /* ?{} */); 104 } 105 static inline void ___constructor__F_P13s__anonymous413s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1, struct __anonymous4 ___src__13s__anonymous4_1){ 106 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))=___src__13s__anonymous4_1.__i__i_1) /* ?{} */); 107 } 108 static inline void ___destructor__F_P13s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1){ 109 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))) /* ^?{} */); 110 } 111 static inline void ___constructor__F_P13s__anonymous4i_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1, int __i__i_1){ 112 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))=__i__i_1) /* ?{} */); 113 } 114 static volatile const struct __anonymous4 __x14__CV13s__anonymous4_1; 115 struct __anonymous5 { 116 int __i__i_1; 117 }; 118 static inline struct __anonymous5 ___operator_assign__F13s__anonymous5_P13s__anonymous513s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1, struct __anonymous5 ___src__13s__anonymous5_1){ 119 ((void)((*___dst__P13s__anonymous5_1).__i__i_1=___src__13s__anonymous5_1.__i__i_1)); 120 return ((struct __anonymous5 )___src__13s__anonymous5_1); 121 } 122 static inline void ___constructor__F_P13s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1){ 123 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))) /* ?{} */); 124 } 125 static inline void ___constructor__F_P13s__anonymous513s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1, struct __anonymous5 ___src__13s__anonymous5_1){ 126 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))=___src__13s__anonymous5_1.__i__i_1) /* ?{} */); 127 } 128 static inline void ___destructor__F_P13s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1){ 129 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))) /* ^?{} */); 130 } 131 static inline void ___constructor__F_P13s__anonymous5i_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1, int __i__i_1){ 132 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))=__i__i_1) /* ?{} */); 133 } 134 static volatile const struct __anonymous5 __x15__CV13s__anonymous5_1; 135 struct __anonymous6 { 136 int __i__i_1; 137 }; 138 static inline struct __anonymous6 ___operator_assign__F13s__anonymous6_P13s__anonymous613s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1, struct __anonymous6 ___src__13s__anonymous6_1){ 139 ((void)((*___dst__P13s__anonymous6_1).__i__i_1=___src__13s__anonymous6_1.__i__i_1)); 140 return ((struct __anonymous6 )___src__13s__anonymous6_1); 141 } 142 static inline void ___constructor__F_P13s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1){ 143 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))) /* ?{} */); 144 } 145 static inline void ___constructor__F_P13s__anonymous613s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1, struct __anonymous6 ___src__13s__anonymous6_1){ 146 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))=___src__13s__anonymous6_1.__i__i_1) /* ?{} */); 147 } 148 static inline void ___destructor__F_P13s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1){ 149 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))) /* ^?{} */); 150 } 151 static inline void ___constructor__F_P13s__anonymous6i_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1, int __i__i_1){ 152 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))=__i__i_1) /* ?{} */); 153 } 154 static volatile const struct __anonymous6 __x16__CV13s__anonymous6_1; 155 struct __anonymous7 { 156 int __i__i_1; 157 }; 158 static inline struct __anonymous7 ___operator_assign__F13s__anonymous7_P13s__anonymous713s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1, struct __anonymous7 ___src__13s__anonymous7_1){ 159 ((void)((*___dst__P13s__anonymous7_1).__i__i_1=___src__13s__anonymous7_1.__i__i_1)); 160 return ((struct __anonymous7 )___src__13s__anonymous7_1); 161 } 162 static inline void ___constructor__F_P13s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1){ 163 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))) /* ?{} */); 164 } 165 static inline void ___constructor__F_P13s__anonymous713s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1, struct __anonymous7 ___src__13s__anonymous7_1){ 166 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))=___src__13s__anonymous7_1.__i__i_1) /* ?{} */); 167 } 168 static inline void ___destructor__F_P13s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1){ 169 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))) /* ^?{} */); 170 } 171 static inline void ___constructor__F_P13s__anonymous7i_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1, int __i__i_1){ 172 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))=__i__i_1) /* ?{} */); 173 } 174 static volatile const struct __anonymous7 __x17__CV13s__anonymous7_1; 175 volatile const short __x20__CVs_1; 176 static volatile const short __x21__CVs_1; 177 static volatile const short __x22__CVs_1; 178 static volatile const short __x23__CVs_1; 179 static volatile const short __x24__CVs_1; 180 static volatile const short __x25__CVs_1; 181 static volatile const short __x26__CVs_1; 182 static volatile const short __x27__CVs_1; 183 struct __anonymous8 { 184 short __i__s_1; 185 }; 186 static inline struct __anonymous8 ___operator_assign__F13s__anonymous8_P13s__anonymous813s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1, struct __anonymous8 ___src__13s__anonymous8_1){ 187 ((void)((*___dst__P13s__anonymous8_1).__i__s_1=___src__13s__anonymous8_1.__i__s_1)); 188 return ((struct __anonymous8 )___src__13s__anonymous8_1); 189 } 190 static inline void ___constructor__F_P13s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1){ 191 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))) /* ?{} */); 192 } 193 static inline void ___constructor__F_P13s__anonymous813s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1, struct __anonymous8 ___src__13s__anonymous8_1){ 194 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))=___src__13s__anonymous8_1.__i__s_1) /* ?{} */); 195 } 196 static inline void ___destructor__F_P13s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1){ 197 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))) /* ^?{} */); 198 } 199 static inline void ___constructor__F_P13s__anonymous8s_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1, short __i__s_1){ 200 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))=__i__s_1) /* ?{} */); 201 } 202 volatile const struct __anonymous8 __x29__CV13s__anonymous8_1; 203 struct __anonymous9 { 204 short __i__s_1; 205 }; 206 static inline struct __anonymous9 ___operator_assign__F13s__anonymous9_P13s__anonymous913s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1, struct __anonymous9 ___src__13s__anonymous9_1){ 207 ((void)((*___dst__P13s__anonymous9_1).__i__s_1=___src__13s__anonymous9_1.__i__s_1)); 208 return ((struct __anonymous9 )___src__13s__anonymous9_1); 209 } 210 static inline void ___constructor__F_P13s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1){ 211 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))) /* ?{} */); 212 } 213 static inline void ___constructor__F_P13s__anonymous913s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1, struct __anonymous9 ___src__13s__anonymous9_1){ 214 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))=___src__13s__anonymous9_1.__i__s_1) /* ?{} */); 215 } 216 static inline void ___destructor__F_P13s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1){ 217 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))) /* ^?{} */); 218 } 219 static inline void ___constructor__F_P13s__anonymous9s_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1, short __i__s_1){ 220 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))=__i__s_1) /* ?{} */); 221 } 222 volatile const struct __anonymous9 __x30__CV13s__anonymous9_1; 223 struct __anonymous10 { 224 short __i__s_1; 225 }; 226 static inline struct __anonymous10 ___operator_assign__F14s__anonymous10_P14s__anonymous1014s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1, struct __anonymous10 ___src__14s__anonymous10_1){ 227 ((void)((*___dst__P14s__anonymous10_1).__i__s_1=___src__14s__anonymous10_1.__i__s_1)); 228 return ((struct __anonymous10 )___src__14s__anonymous10_1); 229 } 230 static inline void ___constructor__F_P14s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1){ 231 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))) /* ?{} */); 232 } 233 static inline void ___constructor__F_P14s__anonymous1014s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1, struct __anonymous10 ___src__14s__anonymous10_1){ 234 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))=___src__14s__anonymous10_1.__i__s_1) /* ?{} */); 235 } 236 static inline void ___destructor__F_P14s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1){ 237 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))) /* ^?{} */); 238 } 239 static inline void ___constructor__F_P14s__anonymous10s_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1, short __i__s_1){ 240 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))=__i__s_1) /* ?{} */); 241 } 242 volatile const struct __anonymous10 __x31__CV14s__anonymous10_1; 243 struct __anonymous11 { 244 short __i__s_1; 245 }; 246 static inline struct __anonymous11 ___operator_assign__F14s__anonymous11_P14s__anonymous1114s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1, struct __anonymous11 ___src__14s__anonymous11_1){ 247 ((void)((*___dst__P14s__anonymous11_1).__i__s_1=___src__14s__anonymous11_1.__i__s_1)); 248 return ((struct __anonymous11 )___src__14s__anonymous11_1); 249 } 250 static inline void ___constructor__F_P14s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1){ 251 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))) /* ?{} */); 252 } 253 static inline void ___constructor__F_P14s__anonymous1114s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1, struct __anonymous11 ___src__14s__anonymous11_1){ 254 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))=___src__14s__anonymous11_1.__i__s_1) /* ?{} */); 255 } 256 static inline void ___destructor__F_P14s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1){ 257 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))) /* ^?{} */); 258 } 259 static inline void ___constructor__F_P14s__anonymous11s_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1, short __i__s_1){ 260 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))=__i__s_1) /* ?{} */); 261 } 262 static volatile const struct __anonymous11 __x32__CV14s__anonymous11_1; 263 struct __anonymous12 { 264 short __i__s_1; 265 }; 266 static inline struct __anonymous12 ___operator_assign__F14s__anonymous12_P14s__anonymous1214s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1, struct __anonymous12 ___src__14s__anonymous12_1){ 267 ((void)((*___dst__P14s__anonymous12_1).__i__s_1=___src__14s__anonymous12_1.__i__s_1)); 268 return ((struct __anonymous12 )___src__14s__anonymous12_1); 269 } 270 static inline void ___constructor__F_P14s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1){ 271 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))) /* ?{} */); 272 } 273 static inline void ___constructor__F_P14s__anonymous1214s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1, struct __anonymous12 ___src__14s__anonymous12_1){ 274 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))=___src__14s__anonymous12_1.__i__s_1) /* ?{} */); 275 } 276 static inline void ___destructor__F_P14s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1){ 277 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))) /* ^?{} */); 278 } 279 static inline void ___constructor__F_P14s__anonymous12s_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1, short __i__s_1){ 280 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))=__i__s_1) /* ?{} */); 281 } 282 static volatile const struct __anonymous12 __x33__CV14s__anonymous12_1; 283 struct __anonymous13 { 284 short __i__s_1; 285 }; 286 static inline struct __anonymous13 ___operator_assign__F14s__anonymous13_P14s__anonymous1314s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1, struct __anonymous13 ___src__14s__anonymous13_1){ 287 ((void)((*___dst__P14s__anonymous13_1).__i__s_1=___src__14s__anonymous13_1.__i__s_1)); 288 return ((struct __anonymous13 )___src__14s__anonymous13_1); 289 } 290 static inline void ___constructor__F_P14s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1){ 291 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))) /* ?{} */); 292 } 293 static inline void ___constructor__F_P14s__anonymous1314s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1, struct __anonymous13 ___src__14s__anonymous13_1){ 294 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))=___src__14s__anonymous13_1.__i__s_1) /* ?{} */); 295 } 296 static inline void ___destructor__F_P14s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1){ 297 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))) /* ^?{} */); 298 } 299 static inline void ___constructor__F_P14s__anonymous13s_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1, short __i__s_1){ 300 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))=__i__s_1) /* ?{} */); 301 } 302 static volatile const struct __anonymous13 __x34__CV14s__anonymous13_1; 303 struct __anonymous14 { 304 short __i__s_1; 305 }; 306 static inline struct __anonymous14 ___operator_assign__F14s__anonymous14_P14s__anonymous1414s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1, struct __anonymous14 ___src__14s__anonymous14_1){ 307 ((void)((*___dst__P14s__anonymous14_1).__i__s_1=___src__14s__anonymous14_1.__i__s_1)); 308 return ((struct __anonymous14 )___src__14s__anonymous14_1); 309 } 310 static inline void ___constructor__F_P14s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1){ 311 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))) /* ?{} */); 312 } 313 static inline void ___constructor__F_P14s__anonymous1414s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1, struct __anonymous14 ___src__14s__anonymous14_1){ 314 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))=___src__14s__anonymous14_1.__i__s_1) /* ?{} */); 315 } 316 static inline void ___destructor__F_P14s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1){ 317 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))) /* ^?{} */); 318 } 319 static inline void ___constructor__F_P14s__anonymous14s_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1, short __i__s_1){ 320 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))=__i__s_1) /* ?{} */); 321 } 322 static volatile const struct __anonymous14 __x35__CV14s__anonymous14_1; 323 struct __anonymous15 { 324 short __i__s_1; 325 }; 326 static inline struct __anonymous15 ___operator_assign__F14s__anonymous15_P14s__anonymous1514s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1, struct __anonymous15 ___src__14s__anonymous15_1){ 327 ((void)((*___dst__P14s__anonymous15_1).__i__s_1=___src__14s__anonymous15_1.__i__s_1)); 328 return ((struct __anonymous15 )___src__14s__anonymous15_1); 329 } 330 static inline void ___constructor__F_P14s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1){ 331 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))) /* ?{} */); 332 } 333 static inline void ___constructor__F_P14s__anonymous1514s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1, struct __anonymous15 ___src__14s__anonymous15_1){ 334 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))=___src__14s__anonymous15_1.__i__s_1) /* ?{} */); 335 } 336 static inline void ___destructor__F_P14s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1){ 337 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))) /* ^?{} */); 338 } 339 static inline void ___constructor__F_P14s__anonymous15s_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1, short __i__s_1){ 340 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))=__i__s_1) /* ?{} */); 341 } 342 static volatile const struct __anonymous15 __x36__CV14s__anonymous15_1; 343 static inline volatile const int __f11__FCVi___1(); 344 static inline volatile const int __f12__FCVi___1(); 345 static inline volatile const int __f13__FCVi___1(); 346 static inline volatile const int __f14__FCVi___1(); 347 static inline volatile const int __f15__FCVi___1(); 348 static inline volatile const int __f16__FCVi___1(); 349 static inline volatile const int __f17__FCVi___1(); 350 static inline volatile const int __f18__FCVi___1(); 351 static inline volatile const short __f21__FCVs___1(); 352 static inline volatile const short __f22__FCVs___1(); 353 static inline volatile const short __f23__FCVs___1(); 354 static inline volatile const short __f24__FCVs___1(); 355 static inline volatile const short __f25__FCVs___1(); 356 static inline volatile const short __f26__FCVs___1(); 357 static inline volatile const short __f27__FCVs___1(); 358 static inline volatile const short __f28__FCVs___1(); 359 struct __anonymous16 { 360 int __i__i_1; 361 }; 362 static inline struct __anonymous16 ___operator_assign__F14s__anonymous16_P14s__anonymous1614s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1, struct __anonymous16 ___src__14s__anonymous16_1){ 363 ((void)((*___dst__P14s__anonymous16_1).__i__i_1=___src__14s__anonymous16_1.__i__i_1)); 364 return ((struct __anonymous16 )___src__14s__anonymous16_1); 365 } 366 static inline void ___constructor__F_P14s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1){ 367 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))) /* ?{} */); 368 } 369 static inline void ___constructor__F_P14s__anonymous1614s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1, struct __anonymous16 ___src__14s__anonymous16_1){ 370 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))=___src__14s__anonymous16_1.__i__i_1) /* ?{} */); 371 } 372 static inline void ___destructor__F_P14s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1){ 373 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))) /* ^?{} */); 374 } 375 static inline void ___constructor__F_P14s__anonymous16i_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1, int __i__i_1){ 376 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))=__i__i_1) /* ?{} */); 377 } 378 static inline volatile const struct __anonymous16 __f31__FCV14s__anonymous16___1(); 379 struct __anonymous17 { 380 int __i__i_1; 381 }; 382 static inline struct __anonymous17 ___operator_assign__F14s__anonymous17_P14s__anonymous1714s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1, struct __anonymous17 ___src__14s__anonymous17_1){ 383 ((void)((*___dst__P14s__anonymous17_1).__i__i_1=___src__14s__anonymous17_1.__i__i_1)); 384 return ((struct __anonymous17 )___src__14s__anonymous17_1); 385 } 386 static inline void ___constructor__F_P14s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1){ 387 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))) /* ?{} */); 388 } 389 static inline void ___constructor__F_P14s__anonymous1714s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1, struct __anonymous17 ___src__14s__anonymous17_1){ 390 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))=___src__14s__anonymous17_1.__i__i_1) /* ?{} */); 391 } 392 static inline void ___destructor__F_P14s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1){ 393 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))) /* ^?{} */); 394 } 395 static inline void ___constructor__F_P14s__anonymous17i_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1, int __i__i_1){ 396 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))=__i__i_1) /* ?{} */); 397 } 398 static inline volatile const struct __anonymous17 __f32__FCV14s__anonymous17___1(); 399 struct __anonymous18 { 400 int __i__i_1; 401 }; 402 static inline struct __anonymous18 ___operator_assign__F14s__anonymous18_P14s__anonymous1814s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1, struct __anonymous18 ___src__14s__anonymous18_1){ 403 ((void)((*___dst__P14s__anonymous18_1).__i__i_1=___src__14s__anonymous18_1.__i__i_1)); 404 return ((struct __anonymous18 )___src__14s__anonymous18_1); 405 } 406 static inline void ___constructor__F_P14s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1){ 407 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))) /* ?{} */); 408 } 409 static inline void ___constructor__F_P14s__anonymous1814s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1, struct __anonymous18 ___src__14s__anonymous18_1){ 410 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))=___src__14s__anonymous18_1.__i__i_1) /* ?{} */); 411 } 412 static inline void ___destructor__F_P14s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1){ 413 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))) /* ^?{} */); 414 } 415 static inline void ___constructor__F_P14s__anonymous18i_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1, int __i__i_1){ 416 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))=__i__i_1) /* ?{} */); 417 } 418 static inline volatile const struct __anonymous18 __f33__FCV14s__anonymous18___1(); 419 struct __anonymous19 { 420 int __i__i_1; 421 }; 422 static inline struct __anonymous19 ___operator_assign__F14s__anonymous19_P14s__anonymous1914s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1, struct __anonymous19 ___src__14s__anonymous19_1){ 423 ((void)((*___dst__P14s__anonymous19_1).__i__i_1=___src__14s__anonymous19_1.__i__i_1)); 424 return ((struct __anonymous19 )___src__14s__anonymous19_1); 425 } 426 static inline void ___constructor__F_P14s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1){ 427 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))) /* ?{} */); 428 } 429 static inline void ___constructor__F_P14s__anonymous1914s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1, struct __anonymous19 ___src__14s__anonymous19_1){ 430 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))=___src__14s__anonymous19_1.__i__i_1) /* ?{} */); 431 } 432 static inline void ___destructor__F_P14s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1){ 433 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))) /* ^?{} */); 434 } 435 static inline void ___constructor__F_P14s__anonymous19i_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1, int __i__i_1){ 436 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))=__i__i_1) /* ?{} */); 437 } 438 static inline volatile const struct __anonymous19 __f34__FCV14s__anonymous19___1(); 439 struct __anonymous20 { 440 int __i__i_1; 441 }; 442 static inline struct __anonymous20 ___operator_assign__F14s__anonymous20_P14s__anonymous2014s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1, struct __anonymous20 ___src__14s__anonymous20_1){ 443 ((void)((*___dst__P14s__anonymous20_1).__i__i_1=___src__14s__anonymous20_1.__i__i_1)); 444 return ((struct __anonymous20 )___src__14s__anonymous20_1); 445 } 446 static inline void ___constructor__F_P14s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1){ 447 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))) /* ?{} */); 448 } 449 static inline void ___constructor__F_P14s__anonymous2014s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1, struct __anonymous20 ___src__14s__anonymous20_1){ 450 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))=___src__14s__anonymous20_1.__i__i_1) /* ?{} */); 451 } 452 static inline void ___destructor__F_P14s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1){ 453 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))) /* ^?{} */); 454 } 455 static inline void ___constructor__F_P14s__anonymous20i_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1, int __i__i_1){ 456 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))=__i__i_1) /* ?{} */); 457 } 458 static inline volatile const struct __anonymous20 __f35__FCV14s__anonymous20___1(); 459 struct __anonymous21 { 460 int __i__i_1; 461 }; 462 static inline struct __anonymous21 ___operator_assign__F14s__anonymous21_P14s__anonymous2114s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1, struct __anonymous21 ___src__14s__anonymous21_1){ 463 ((void)((*___dst__P14s__anonymous21_1).__i__i_1=___src__14s__anonymous21_1.__i__i_1)); 464 return ((struct __anonymous21 )___src__14s__anonymous21_1); 465 } 466 static inline void ___constructor__F_P14s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1){ 467 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))) /* ?{} */); 468 } 469 static inline void ___constructor__F_P14s__anonymous2114s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1, struct __anonymous21 ___src__14s__anonymous21_1){ 470 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))=___src__14s__anonymous21_1.__i__i_1) /* ?{} */); 471 } 472 static inline void ___destructor__F_P14s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1){ 473 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))) /* ^?{} */); 474 } 475 static inline void ___constructor__F_P14s__anonymous21i_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1, int __i__i_1){ 476 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))=__i__i_1) /* ?{} */); 477 } 478 static inline volatile const struct __anonymous21 __f36__FCV14s__anonymous21___1(); 479 struct __anonymous22 { 480 int __i__i_1; 481 }; 482 static inline struct __anonymous22 ___operator_assign__F14s__anonymous22_P14s__anonymous2214s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1, struct __anonymous22 ___src__14s__anonymous22_1){ 483 ((void)((*___dst__P14s__anonymous22_1).__i__i_1=___src__14s__anonymous22_1.__i__i_1)); 484 return ((struct __anonymous22 )___src__14s__anonymous22_1); 485 } 486 static inline void ___constructor__F_P14s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1){ 487 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))) /* ?{} */); 488 } 489 static inline void ___constructor__F_P14s__anonymous2214s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1, struct __anonymous22 ___src__14s__anonymous22_1){ 490 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))=___src__14s__anonymous22_1.__i__i_1) /* ?{} */); 491 } 492 static inline void ___destructor__F_P14s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1){ 493 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))) /* ^?{} */); 494 } 495 static inline void ___constructor__F_P14s__anonymous22i_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1, int __i__i_1){ 496 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))=__i__i_1) /* ?{} */); 497 } 498 static inline volatile const struct __anonymous22 __f37__FCV14s__anonymous22___1(); 499 struct __anonymous23 { 500 int __i__i_1; 501 }; 502 static inline struct __anonymous23 ___operator_assign__F14s__anonymous23_P14s__anonymous2314s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1, struct __anonymous23 ___src__14s__anonymous23_1){ 503 ((void)((*___dst__P14s__anonymous23_1).__i__i_1=___src__14s__anonymous23_1.__i__i_1)); 504 return ((struct __anonymous23 )___src__14s__anonymous23_1); 505 } 506 static inline void ___constructor__F_P14s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1){ 507 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))) /* ?{} */); 508 } 509 static inline void ___constructor__F_P14s__anonymous2314s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1, struct __anonymous23 ___src__14s__anonymous23_1){ 510 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))=___src__14s__anonymous23_1.__i__i_1) /* ?{} */); 511 } 512 static inline void ___destructor__F_P14s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1){ 513 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))) /* ^?{} */); 514 } 515 static inline void ___constructor__F_P14s__anonymous23i_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1, int __i__i_1){ 516 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))=__i__i_1) /* ?{} */); 517 } 518 static inline volatile const struct __anonymous23 __f38__FCV14s__anonymous23___1(); 519 static inline volatile const short __f41__FCVs___1(); 520 static inline volatile const short __f42__FCVs___1(); 521 static inline volatile const short __f43__FCVs___1(); 522 static inline volatile const short __f44__FCVs___1(); 523 static inline volatile const short __f45__FCVs___1(); 524 static inline volatile const short __f46__FCVs___1(); 525 static inline volatile const short __f47__FCVs___1(); 526 static inline volatile const short __f48__FCVs___1(); 527 int main(int __argc__i_1, const char **__argv__PPCc_1){ 528 int _retVal0 = { 0 }; 529 ((void)(_retVal0=0) /* ?{} */); 530 return ((int )_retVal0); 531 } 532 __attribute__ ((constructor(),)) static void _init_declarationSpecifier(void){ 533 ((void)___constructor__F_P13s__anonymous0_autogen___1(((struct __anonymous0 *)(&__x10__CV13s__anonymous0_1)))); 534 ((void)___constructor__F_P13s__anonymous1_autogen___1(((struct __anonymous1 *)(&__x11__CV13s__anonymous1_1)))); 535 ((void)___constructor__F_P13s__anonymous2_autogen___1(((struct __anonymous2 *)(&__x12__CV13s__anonymous2_1)))); 536 ((void)___constructor__F_P13s__anonymous3_autogen___1(((struct __anonymous3 *)(&__x13__CV13s__anonymous3_1)))); 537 ((void)___constructor__F_P13s__anonymous4_autogen___1(((struct __anonymous4 *)(&__x14__CV13s__anonymous4_1)))); 538 ((void)___constructor__F_P13s__anonymous5_autogen___1(((struct __anonymous5 *)(&__x15__CV13s__anonymous5_1)))); 539 ((void)___constructor__F_P13s__anonymous6_autogen___1(((struct __anonymous6 *)(&__x16__CV13s__anonymous6_1)))); 540 ((void)___constructor__F_P13s__anonymous7_autogen___1(((struct __anonymous7 *)(&__x17__CV13s__anonymous7_1)))); 541 ((void)___constructor__F_P13s__anonymous8_autogen___1(((struct __anonymous8 *)(&__x29__CV13s__anonymous8_1)))); 542 ((void)___constructor__F_P13s__anonymous9_autogen___1(((struct __anonymous9 *)(&__x30__CV13s__anonymous9_1)))); 543 ((void)___constructor__F_P14s__anonymous10_autogen___1(((struct __anonymous10 *)(&__x31__CV14s__anonymous10_1)))); 544 ((void)___constructor__F_P14s__anonymous11_autogen___1(((struct __anonymous11 *)(&__x32__CV14s__anonymous11_1)))); 545 ((void)___constructor__F_P14s__anonymous12_autogen___1(((struct __anonymous12 *)(&__x33__CV14s__anonymous12_1)))); 546 ((void)___constructor__F_P14s__anonymous13_autogen___1(((struct __anonymous13 *)(&__x34__CV14s__anonymous13_1)))); 547 ((void)___constructor__F_P14s__anonymous14_autogen___1(((struct __anonymous14 *)(&__x35__CV14s__anonymous14_1)))); 548 ((void)___constructor__F_P14s__anonymous15_autogen___1(((struct __anonymous15 *)(&__x36__CV14s__anonymous15_1)))); 549 } 550 __attribute__ ((destructor(),)) static void _destroy_declarationSpecifier(void){ 551 ((void)___destructor__F_P14s__anonymous15_autogen___1(((struct __anonymous15 *)(&__x36__CV14s__anonymous15_1)))); 552 ((void)___destructor__F_P14s__anonymous14_autogen___1(((struct __anonymous14 *)(&__x35__CV14s__anonymous14_1)))); 553 ((void)___destructor__F_P14s__anonymous13_autogen___1(((struct __anonymous13 *)(&__x34__CV14s__anonymous13_1)))); 554 ((void)___destructor__F_P14s__anonymous12_autogen___1(((struct __anonymous12 *)(&__x33__CV14s__anonymous12_1)))); 555 ((void)___destructor__F_P14s__anonymous11_autogen___1(((struct __anonymous11 *)(&__x32__CV14s__anonymous11_1)))); 556 ((void)___destructor__F_P14s__anonymous10_autogen___1(((struct __anonymous10 *)(&__x31__CV14s__anonymous10_1)))); 557 ((void)___destructor__F_P13s__anonymous9_autogen___1(((struct __anonymous9 *)(&__x30__CV13s__anonymous9_1)))); 558 ((void)___destructor__F_P13s__anonymous8_autogen___1(((struct __anonymous8 *)(&__x29__CV13s__anonymous8_1)))); 559 ((void)___destructor__F_P13s__anonymous7_autogen___1(((struct __anonymous7 *)(&__x17__CV13s__anonymous7_1)))); 560 ((void)___destructor__F_P13s__anonymous6_autogen___1(((struct __anonymous6 *)(&__x16__CV13s__anonymous6_1)))); 561 ((void)___destructor__F_P13s__anonymous5_autogen___1(((struct __anonymous5 *)(&__x15__CV13s__anonymous5_1)))); 562 ((void)___destructor__F_P13s__anonymous4_autogen___1(((struct __anonymous4 *)(&__x14__CV13s__anonymous4_1)))); 563 ((void)___destructor__F_P13s__anonymous3_autogen___1(((struct __anonymous3 *)(&__x13__CV13s__anonymous3_1)))); 564 ((void)___destructor__F_P13s__anonymous2_autogen___1(((struct __anonymous2 *)(&__x12__CV13s__anonymous2_1)))); 565 ((void)___destructor__F_P13s__anonymous1_autogen___1(((struct __anonymous1 *)(&__x11__CV13s__anonymous1_1)))); 566 ((void)___destructor__F_P13s__anonymous0_autogen___1(((struct __anonymous0 *)(&__x10__CV13s__anonymous0_1)))); 567 } -
src/tests/Makefile.am
r0da3e2c r29917c6 53 53 ${CC} ${CFLAGS} -DERR2 ${<} -o ${@} 54 54 55 declarationSpecifier: declarationSpecifier.c 56 ${CC} ${CFALGS} -CFA -XCFA -p ${<} -o ${@} 57 55 58 gccExtensions : gccExtensions.c 56 59 ${CC} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@} -
src/tests/Makefile.in
r0da3e2c r29917c6 661 661 ${CC} ${CFLAGS} -DERR2 ${<} -o ${@} 662 662 663 declarationSpecifier: declarationSpecifier.c 664 ${CC} ${CFALGS} -CFA -XCFA -p ${<} -o ${@} 665 663 666 gccExtensions : gccExtensions.c 664 667 ${CC} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@} -
src/tests/declarationErrors.c
r0da3e2c r29917c6 1 const short static int volatile x4; 2 const static volatile short int x4; 1 3 static short int volatile static const x9; // duplicate static 2 4 struct { int i; } const static volatile static x18; // duplicate static … … 5 7 static Int volatile static const x28; // duplicate static 6 8 9 const static inline const volatile int f01(); // duplicate const 10 volatile inline const volatile static int f02(); // duplicate volatile 11 const inline const volatile int static f03(); // duplicate const 12 volatile inline static const volatile int f04(); // duplicate volatile 13 const static const inline volatile int f05(); // duplicate const 14 volatile static const volatile inline int f06(); // duplicate volatile 15 const static const volatile int inline f07(); // duplicate const 16 volatile static const int inline volatile f08(); // duplicate volatile 17 7 18 //Dummy main 8 19 int main(int argc, char const *argv[]) -
src/tests/declarationSpecifier.c
r0da3e2c r29917c6 1 1 typedef short int Int; 2 3 2 4 3 const short int volatile x1; 5 4 static const short int volatile x2; 6 5 const static short int volatile x3; 7 const short static int volatile x4;8 6 const static volatile short int x4; 9 7 const short int static volatile x5; … … 11 9 const short volatile int static x7; 12 10 short int volatile static const x8; 13 static short int volatile static const x9; // duplicate static14 11 15 12 const volatile struct { int i; } x10; … … 21 18 struct { int i; } const static volatile x16; 22 19 struct { int i; } const volatile static x17; 23 struct { int i; } const static volatile static x18; // duplicate static24 struct { int i; } const static volatile static volatile x19; // duplicate static & volatile25 20 26 21 const Int volatile x20; … … 32 27 const volatile Int static x26; 33 28 Int volatile static const x27; 34 static Int volatile static const x28; // duplicate static35 29 36 30 const volatile struct { Int i; } x29; … … 42 36 struct { Int i; } const static volatile x35; 43 37 struct { Int i; } const volatile static x36; 44 45 46 const static inline const volatile int f01(); // duplicate const47 volatile inline const volatile static int f02(); // duplicate volatile48 const inline const volatile int static f03(); // duplicate const49 volatile inline static const volatile int f04(); // duplicate volatile50 const static const inline volatile int f05(); // duplicate const51 volatile static const volatile inline int f06(); // duplicate volatile52 const static const volatile int inline f07(); // duplicate const53 volatile static const int inline volatile f08(); // duplicate volatile54 38 55 39 static inline const volatile int f11();
Note: See TracChangeset
for help on using the changeset viewer.