Changeset e07caa2
- Timestamp:
- Jul 19, 2018, 6:16:41 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- 68bceeb
- Parents:
- 679a260
- Location:
- src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/DeclarationNode.cc
r679a260 re07caa2 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 18 22:50:27201813 // Update Count : 1 09612 // Last Modified On : Thu Jul 19 17:40:03 2018 13 // Update Count : 1106 14 14 // 15 15 … … 54 54 55 55 DeclarationNode::DeclarationNode() : 56 builtin( NoBuiltinType ), 57 type( nullptr ), 58 inLine( false ), 59 bitfieldWidth( nullptr ), 60 hasEllipsis( false ), 61 linkage( ::linkage ), 62 asmName( nullptr ), 63 initializer( nullptr ), 64 extension( false ), 65 asmStmt( nullptr ) { 56 linkage( ::linkage ) { 66 57 67 58 // variable.name = nullptr; … … 1004 995 // struct T; // anonymous member 1005 996 // }; 1006 if ( ! (extracted && decl->name == "" && ! anon ) ) {1007 if ( decl->name == "") {997 if ( ! (extracted && decl->name == "" && ! anon && ! cur->get_inLine()) ) { 998 if ( decl->name == "" ) { 1008 999 if ( DeclarationWithType * dwt = dynamic_cast<DeclarationWithType *>( decl ) ) { 1009 1000 if ( ReferenceToType * aggr = dynamic_cast<ReferenceToType *>( dwt->get_type() ) ) { 1010 1001 if ( aggr->name.find("anonymous") == std::string::npos ) { 1011 if ( ! cur->inLine ) { 1012 // temporary: warn about anonymous member declarations of named types, since this conflicts with the syntax for the forward declaration of an anonymous type 1002 if ( ! cur->get_inLine() ) { 1003 // temporary: warn about anonymous member declarations of named types, since 1004 // this conflicts with the syntax for the forward declaration of an anonymous type 1013 1005 SemanticWarning( cur->location, Warning::AggrForwardDecl, aggr->name.c_str() ); 1014 } 1015 } 1016 } 1017 } 1018 } 1006 } // if 1007 } // if 1008 } // if 1009 } // if 1010 } // if 1019 1011 decl->location = cur->location; 1020 * 1021 } 1012 *out++ = decl; 1013 } // if 1022 1014 } // if 1023 1015 } catch( SemanticErrorException &e ) { 1024 1016 errors.append( e ); 1025 1017 } // try 1026 } // while1018 } // for 1027 1019 1028 1020 if ( ! errors.isEmpty() ) { -
src/Parser/ParseNode.h
r679a260 re07caa2 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 18 17:35:55201813 // Update Count : 84 412 // Last Modified On : Thu Jul 19 15:55:26 2018 13 // Update Count : 848 14 14 // 15 15 … … 303 303 bool get_extension() const { return extension; } 304 304 DeclarationNode * set_extension( bool exten ) { extension = exten; return this; } 305 306 bool get_inLine() const { return inLine; } 307 DeclarationNode * set_inLine( bool inL ) { inLine = inL; return this; } 305 308 public: 306 309 DeclarationNode * get_last() { return (DeclarationNode *)ParseNode::get_last(); } … … 327 330 StaticAssert_t assert; 328 331 329 BuiltinType builtin ;330 331 TypeData * type ;332 333 bool inLine ;332 BuiltinType builtin = NoBuiltinType; 333 334 TypeData * type = nullptr; 335 336 bool inLine = false; 334 337 Type::FuncSpecifiers funcSpecs; 335 338 Type::StorageClasses storageClasses; 336 339 337 ExpressionNode * bitfieldWidth ;340 ExpressionNode * bitfieldWidth = nullptr; 338 341 std::unique_ptr<ExpressionNode> enumeratorValue; 339 bool hasEllipsis ;342 bool hasEllipsis = false; 340 343 LinkageSpec::Spec linkage; 341 Expression * asmName ;344 Expression * asmName = nullptr; 342 345 std::list< Attribute * > attributes; 343 InitializerNode * initializer ;346 InitializerNode * initializer = nullptr; 344 347 bool extension = false; 345 348 std::string error; 346 StatementNode * asmStmt ;349 StatementNode * asmStmt = nullptr; 347 350 348 351 static UniqueName anonymous; -
src/Parser/parser.yy
r679a260 re07caa2 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jul 19 1 0:21:43201813 // Update Count : 38 0812 // Last Modified On : Thu Jul 19 16:42:16 2018 13 // Update Count : 3820 14 14 // 15 15 … … 114 114 } // for 115 115 } // distExt 116 117 void distInl( DeclarationNode * declaration ) { 118 // distribute EXTENSION across all declarations 119 for ( DeclarationNode *iter = declaration; iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) { 120 iter->set_inLine( true ); 121 } // for 122 } // distInl 116 123 117 124 void distQual( DeclarationNode * declaration, DeclarationNode * qualifiers ) { … … 338 345 %type<decl> exception_declaration 339 346 340 %type<decl> field_declaration_list_opt field_declaration field_declaring_list_opt field_declarator field_abstract_list field_abstract_opt347 %type<decl> field_declaration_list_opt field_declaration field_declaring_list_opt field_declarator field_abstract_list_opt field_abstract 341 348 %type<en> field field_name_list field_name fraction_constants_opt 342 349 … … 1938 1945 if ( $2 ) { // field declarator ? 1939 1946 $$ = distAttr( $1, $2 ); 1940 } else if ( $1->type && $1->type->kind == TypeData::Aggregate && $1->type->aggregate.anon) {1947 } else if ( $1->type && $1->type->kind == TypeData::Aggregate ) { 1941 1948 $$ = DeclarationNode::newName( nullptr ); 1942 1949 $$ = distAttr( $1, $$ ); // mark all fields in list … … 1960 1967 } // if 1961 1968 } 1962 | INLINE type_specifier field_abstract_list ';'// CFA1969 | INLINE type_specifier field_abstract_list_opt ';' // CFA 1963 1970 { 1964 1971 $3->inLine = true; 1965 1972 $$ = distAttr( $2, $3 ); // mark all fields in list 1973 distInl( $3 ); 1966 1974 } 1967 1975 | typedef_declaration ';' // CFA … … 1984 1992 1985 1993 field_declarator: 1986 bit_subrange_size // no field name1994 bit_subrange_size // C special case, no field name 1987 1995 { $$ = DeclarationNode::newBitfield( $1 ); } 1988 1996 | variable_declarator bit_subrange_size_opt … … 1994 2002 ; 1995 2003 1996 field_abstract_list: 1997 field_abstract_opt 1998 | field_abstract_list ',' attribute_list_opt field_abstract_opt 1999 { $$ = $1->appendList( $4->addQualifiers( $3 ) ); } 2000 ; 2001 2002 field_abstract_opt: 2004 field_abstract_list_opt: 2003 2005 // empty 2004 2006 { $$ = DeclarationNode::newName( nullptr ); } 2005 | bit_subrange_size // no field name 2006 // A semantic check is required to ensure bit_subrange only appears on integral types. 2007 { $$ = DeclarationNode::newBitfield( $1 ); } 2008 | variable_abstract_declarator 2007 | field_abstract 2008 | field_abstract_list_opt ',' attribute_list_opt field_abstract 2009 { $$ = $1->appendList( $4->addQualifiers( $3 ) ); } 2010 ; 2011 2012 field_abstract: 2013 // no bit fields 2014 variable_abstract_declarator 2009 2015 ; 2010 2016 -
src/tests/.expect/attributes.x64.txt
r679a260 re07caa2 88 88 __attribute__ ((used,unused,unused)) signed int __f7__i_1; 89 89 __attribute__ ((used,used,unused)) signed int __f8__i_1; 90 __attribute__ ((unused)) signed int __anonymous_object0;91 90 __attribute__ ((unused,unused)) signed int *__f9__Pi_1; 92 91 }; … … 103 102 static inline void ___constructor__F_4sFdliiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1); 104 103 static inline void ___constructor__F_4sFdliiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1); 105 static inline void ___constructor__F_4sFdliiiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object1); 106 static inline void ___constructor__F_4sFdliiiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object2, __attribute__ ((unused,unused)) signed int *__f9__Pi_1); 104 static inline void ___constructor__F_4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused,unused)) signed int *__f9__Pi_1); 107 105 static inline void ___constructor__F_4sFdl_autogen___1(struct Fdl *___dst__4sFdl_1){ 108 106 ((void)((*___dst__4sFdl_1).__f1__i_1) /* ?{} */); … … 114 112 ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */); 115 113 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */); 116 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);117 114 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 118 115 } … … 126 123 ((void)((*___dst__4sFdl_1).__f7__i_1=___src__4sFdl_1.__f7__i_1) /* ?{} */); 127 124 ((void)((*___dst__4sFdl_1).__f8__i_1=___src__4sFdl_1.__f8__i_1) /* ?{} */); 128 ((void)((*___dst__4sFdl_1).__anonymous_object0=___src__4sFdl_1.__anonymous_object0) /* ?{} */);129 125 ((void)((*___dst__4sFdl_1).__f9__Pi_1=___src__4sFdl_1.__f9__Pi_1) /* ?{} */); 130 126 } 131 127 static inline void ___destructor__F_4sFdl_autogen___1(struct Fdl *___dst__4sFdl_1){ 132 128 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ^?{} */); 133 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ^?{} */);134 129 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ^?{} */); 135 130 ((void)((*___dst__4sFdl_1).__f7__i_1) /* ^?{} */); … … 151 146 ((void)((*___dst__4sFdl_1).__f7__i_1=___src__4sFdl_1.__f7__i_1)); 152 147 ((void)((*___dst__4sFdl_1).__f8__i_1=___src__4sFdl_1.__f8__i_1)); 153 ((void)((*___dst__4sFdl_1).__anonymous_object0=___src__4sFdl_1.__anonymous_object0));154 148 ((void)((*___dst__4sFdl_1).__f9__Pi_1=___src__4sFdl_1.__f9__Pi_1)); 155 149 ((void)___constructor__F_4sFdl4sFdl_autogen___1((&___ret__4sFdl_1), (*___dst__4sFdl_1))); … … 165 159 ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */); 166 160 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */); 167 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);168 161 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 169 162 } … … 177 170 ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */); 178 171 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */); 179 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);180 172 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 181 173 } … … 189 181 ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */); 190 182 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */); 191 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);192 183 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 193 184 } … … 201 192 ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */); 202 193 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */); 203 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);204 194 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 205 195 } … … 213 203 ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */); 214 204 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */); 215 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);216 205 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 217 206 } … … 225 214 ((void)((*___dst__4sFdl_1).__f7__i_1) /* ?{} */); 226 215 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */); 227 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);228 216 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 229 217 } … … 237 225 ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */); 238 226 ((void)((*___dst__4sFdl_1).__f8__i_1) /* ?{} */); 239 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */);240 227 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 241 228 } … … 249 236 ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */); 250 237 ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */); 251 ((void)((*___dst__4sFdl_1).__anonymous_object0) /* ?{} */); 252 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 253 } 254 static inline void ___constructor__F_4sFdliiiiiiiii_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object3){ 238 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */); 239 } 240 static inline void ___constructor__F_4sFdliiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused,unused)) signed int *__f9__Pi_1){ 255 241 ((void)((*___dst__4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */); 256 242 ((void)((*___dst__4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */); … … 261 247 ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */); 262 248 ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */); 263 ((void)((*___dst__4sFdl_1).__anonymous_object0=__anonymous_object3) /* ?{} */);264 ((void)((*___dst__4sFdl_1).__f9__Pi_1) /* ?{} */);265 }266 static inline void ___constructor__F_4sFdliiiiiiiiiPi_autogen___1(struct Fdl *___dst__4sFdl_1, __attribute__ ((unused)) signed int __f1__i_1, __attribute__ ((unused)) signed int __f2__i_1, __attribute__ ((unused,unused)) signed int __f3__i_1, __attribute__ ((unused)) signed int __f4__i_1, __attribute__ ((unused,unused)) signed int __f5__i_1, signed int __f6__i_1, __attribute__ ((unused,unused)) signed int __f7__i_1, __attribute__ ((unused)) signed int __f8__i_1, __attribute__ ((unused)) signed int __anonymous_object4, __attribute__ ((unused,unused)) signed int *__f9__Pi_1){267 ((void)((*___dst__4sFdl_1).__f1__i_1=__f1__i_1) /* ?{} */);268 ((void)((*___dst__4sFdl_1).__f2__i_1=__f2__i_1) /* ?{} */);269 ((void)((*___dst__4sFdl_1).__f3__i_1=__f3__i_1) /* ?{} */);270 ((void)((*___dst__4sFdl_1).__f4__i_1=__f4__i_1) /* ?{} */);271 ((void)((*___dst__4sFdl_1).__f5__i_1=__f5__i_1) /* ?{} */);272 ((void)((*___dst__4sFdl_1).__f6__i_1=__f6__i_1) /* ?{} */);273 ((void)((*___dst__4sFdl_1).__f7__i_1=__f7__i_1) /* ?{} */);274 ((void)((*___dst__4sFdl_1).__f8__i_1=__f8__i_1) /* ?{} */);275 ((void)((*___dst__4sFdl_1).__anonymous_object0=__anonymous_object4) /* ?{} */);276 249 ((void)((*___dst__4sFdl_1).__f9__Pi_1=__f9__Pi_1) /* ?{} */); 277 250 } … … 293 266 __attribute__ ((unused)) signed int **const ___retval_f2__CPPi_1; 294 267 } 295 __attribute__ ((unused,used,unused)) signed int (*__f3__FPA0i_i__1(signed int __anonymous_object 5))[];268 __attribute__ ((unused,used,unused)) signed int (*__f3__FPA0i_i__1(signed int __anonymous_object0))[]; 296 269 __attribute__ ((unused,unused)) signed int (*__f3__FPA0i_i__1(signed int __p__i_1))[]{ 297 270 __attribute__ ((unused)) signed int (*___retval_f3__PA0i_1)[]; 298 271 } 299 __attribute__ ((unused,used,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object 6);300 __attribute__ ((unused,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object 7){301 __attribute__ ((unused)) signed int (*___retval_f4__Fi_i__1)(signed int __anonymous_object 8);272 __attribute__ ((unused,used,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object1); 273 __attribute__ ((unused,unused)) signed int (*__f4__FFi_i____1())(signed int __anonymous_object2){ 274 __attribute__ ((unused)) signed int (*___retval_f4__Fi_i__1)(signed int __anonymous_object3); 302 275 } 303 276 signed int __vtr__Fi___1(){ … … 329 302 signed int __tpr2__Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signed int **__Foo__PPi_1); 330 303 signed int __tpr3__Fi_Pi__1(__attribute__ ((unused,unused,unused)) signed int *__Foo__Pi_1); 331 signed int __tpr4__Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object 9)(__attribute__ ((unused,unused)) signed int __anonymous_object10[((unsigned long int )5)]));304 signed int __tpr4__Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object4)(__attribute__ ((unused,unused)) signed int __anonymous_object5[((unsigned long int )5)])); 332 305 signed int __tpr5__Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__Foo__Fi___1)()); 333 306 signed int __tpr6__Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__Foo__Fi___1)()); 334 signed int __tpr7__Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object 11)(__attribute__ ((unused)) signed int (*__anonymous_object12)(__attribute__ ((unused,unused)) signed int __anonymous_object13)));307 signed int __tpr7__Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object6)(__attribute__ ((unused)) signed int (*__anonymous_object7)(__attribute__ ((unused,unused)) signed int __anonymous_object8))); 335 308 signed int __ad__Fi___1(){ 336 309 __attribute__ ((unused)) signed int ___retval_ad__i_1; … … 386 359 ((void)sizeof(enum __anonymous4 )); 387 360 } 388 signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object 14, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object15);389 signed int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object1 6, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object17);390 signed int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object1 8, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object19);391 signed int __apd4__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object 20)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object21)());392 signed int __apd5__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object 22)(__attribute__ ((unused)) signed int __anonymous_object23), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object24)(__attribute__ ((unused)) signed int __anonymous_object25));393 signed int __apd6__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object2 6)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object27)());394 signed int __apd7__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object2 8)(__attribute__ ((unused)) signed int __anonymous_object29), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object30)(__attribute__ ((unused)) signed int __anonymous_object31));361 signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object9, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object10); 362 signed int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object11, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object12); 363 signed int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object13, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object14); 364 signed int __apd4__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)()); 365 signed int __apd5__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __anonymous_object18), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object19)(__attribute__ ((unused)) signed int __anonymous_object20)); 366 signed int __apd6__Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object21)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)()); 367 signed int __apd7__Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object23)(__attribute__ ((unused)) signed int __anonymous_object24), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object25)(__attribute__ ((unused)) signed int __anonymous_object26)); 395 368 struct Vad { 396 __attribute__ ((unused)) signed int __anonymous_object 32;397 __attribute__ ((unused ,unused)) signed int *__anonymous_object33;398 __attribute__ ((unused ,unused)) signed int __anonymous_object34[((unsigned long int )10)];399 __attribute__ ((unused,unused)) signed int (*__anonymous_object35)();369 __attribute__ ((unused)) signed int __anonymous_object27; 370 __attribute__ ((unused)) signed int __anonymous_object28:4; 371 __attribute__ ((unused)) signed int __anonymous_object29:4; 372 __attribute__ ((unused,unused)) signed int __anonymous_object30:6; 400 373 }; 401 374 static inline void ___constructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1); … … 403 376 static inline void ___destructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1); 404 377 static inline struct Vad ___operator_assign__F4sVad_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1); 405 static inline void ___constructor__F_4sVadi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object36); 406 static inline void ___constructor__F_4sVadiPi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object37, __attribute__ ((unused,unused)) signed int *__anonymous_object38); 407 static inline void ___constructor__F_4sVadiPiA0i_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object39, __attribute__ ((unused,unused)) signed int *__anonymous_object40, __attribute__ ((unused,unused)) signed int __anonymous_object41[((unsigned long int )10)]); 408 static inline void ___constructor__F_4sVadiPiA0iFi___autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object42, __attribute__ ((unused,unused)) signed int *__anonymous_object43, __attribute__ ((unused,unused)) signed int __anonymous_object44[((unsigned long int )10)], __attribute__ ((unused,unused)) signed int (*__anonymous_object45)()); 378 static inline void ___constructor__F_4sVadi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object31); 409 379 static inline void ___constructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1){ 410 ((void)((*___dst__4sVad_1).__anonymous_object32) /* ?{} */); 411 ((void)((*___dst__4sVad_1).__anonymous_object33) /* ?{} */); 412 { 413 signed int _index0 = 0; 414 for (;(_index0<10);((void)(++_index0))) { 415 ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index0)]) /* ?{} */); 416 } 417 418 } 419 420 ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */); 380 ((void)((*___dst__4sVad_1).__anonymous_object27) /* ?{} */); 421 381 } 422 382 static inline void ___constructor__F_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1){ 423 ((void)((*___dst__4sVad_1).__anonymous_object32=___src__4sVad_1.__anonymous_object32) /* ?{} */); 424 ((void)((*___dst__4sVad_1).__anonymous_object33=___src__4sVad_1.__anonymous_object33) /* ?{} */); 425 { 426 signed int _index1 = 0; 427 for (;(_index1<10);((void)(++_index1))) { 428 ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index1)]=___src__4sVad_1.__anonymous_object34[((signed long int )_index1)]) /* ?{} */); 429 } 430 431 } 432 433 ((void)((*___dst__4sVad_1).__anonymous_object35=___src__4sVad_1.__anonymous_object35) /* ?{} */); 383 ((void)((*___dst__4sVad_1).__anonymous_object27=___src__4sVad_1.__anonymous_object27) /* ?{} */); 434 384 } 435 385 static inline void ___destructor__F_4sVad_autogen___1(struct Vad *___dst__4sVad_1){ 436 ((void)((*___dst__4sVad_1).__anonymous_object35) /* ^?{} */); 437 { 438 signed int _index2 = (10-1); 439 for (;(_index2>=0);((void)(--_index2))) { 440 ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index2)]) /* ^?{} */); 441 } 442 443 } 444 445 ((void)((*___dst__4sVad_1).__anonymous_object33) /* ^?{} */); 446 ((void)((*___dst__4sVad_1).__anonymous_object32) /* ^?{} */); 386 ((void)((*___dst__4sVad_1).__anonymous_object27) /* ^?{} */); 447 387 } 448 388 static inline struct Vad ___operator_assign__F4sVad_4sVad4sVad_autogen___1(struct Vad *___dst__4sVad_1, struct Vad ___src__4sVad_1){ 449 389 struct Vad ___ret__4sVad_1; 450 ((void)((*___dst__4sVad_1).__anonymous_object32=___src__4sVad_1.__anonymous_object32)); 451 ((void)((*___dst__4sVad_1).__anonymous_object33=___src__4sVad_1.__anonymous_object33)); 452 { 453 signed int _index3 = 0; 454 for (;(_index3<10);((void)(++_index3))) { 455 ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index3)]=___src__4sVad_1.__anonymous_object34[((signed long int )_index3)])); 456 } 457 458 } 459 460 ((void)((*___dst__4sVad_1).__anonymous_object35=___src__4sVad_1.__anonymous_object35)); 390 ((void)((*___dst__4sVad_1).__anonymous_object27=___src__4sVad_1.__anonymous_object27)); 461 391 ((void)___constructor__F_4sVad4sVad_autogen___1((&___ret__4sVad_1), (*___dst__4sVad_1))); 462 392 return ___ret__4sVad_1; 463 393 } 464 static inline void ___constructor__F_4sVadi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object46){ 465 ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object46) /* ?{} */); 466 ((void)((*___dst__4sVad_1).__anonymous_object33) /* ?{} */); 467 { 468 signed int _index4 = 0; 469 for (;(_index4<10);((void)(++_index4))) { 470 ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index4)]) /* ?{} */); 471 } 472 473 } 474 475 ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */); 476 } 477 static inline void ___constructor__F_4sVadiPi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object47, __attribute__ ((unused,unused)) signed int *__anonymous_object48){ 478 ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object47) /* ?{} */); 479 ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object48) /* ?{} */); 480 { 481 signed int _index5 = 0; 482 for (;(_index5<10);((void)(++_index5))) { 483 ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index5)]) /* ?{} */); 484 } 485 486 } 487 488 ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */); 489 } 490 static inline void ___constructor__F_4sVadiPiA0i_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object49, __attribute__ ((unused,unused)) signed int *__anonymous_object50, __attribute__ ((unused,unused)) signed int __anonymous_object51[((unsigned long int )10)]){ 491 ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object49) /* ?{} */); 492 ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object50) /* ?{} */); 493 { 494 signed int _index6 = 0; 495 for (;(_index6<10);((void)(++_index6))) { 496 ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index6)]=__anonymous_object51[((signed long int )_index6)]) /* ?{} */); 497 } 498 499 } 500 501 ((void)((*___dst__4sVad_1).__anonymous_object35) /* ?{} */); 502 } 503 static inline void ___constructor__F_4sVadiPiA0iFi___autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object52, __attribute__ ((unused,unused)) signed int *__anonymous_object53, __attribute__ ((unused,unused)) signed int __anonymous_object54[((unsigned long int )10)], __attribute__ ((unused,unused)) signed int (*__anonymous_object55)()){ 504 ((void)((*___dst__4sVad_1).__anonymous_object32=__anonymous_object52) /* ?{} */); 505 ((void)((*___dst__4sVad_1).__anonymous_object33=__anonymous_object53) /* ?{} */); 506 { 507 signed int _index7 = 0; 508 for (;(_index7<10);((void)(++_index7))) { 509 ((void)((*___dst__4sVad_1).__anonymous_object34[((signed long int )_index7)]=__anonymous_object54[((signed long int )_index7)]) /* ?{} */); 510 } 511 512 } 513 514 ((void)((*___dst__4sVad_1).__anonymous_object35=__anonymous_object55) /* ?{} */); 515 } 394 static inline void ___constructor__F_4sVadi_autogen___1(struct Vad *___dst__4sVad_1, __attribute__ ((unused)) signed int __anonymous_object32){ 395 ((void)((*___dst__4sVad_1).__anonymous_object27=__anonymous_object32) /* ?{} */); 396 } -
src/tests/attributes.c
r679a260 re07caa2 10 10 // Created On : Mon Feb 6 16:07:02 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jul 8 21:12:07201813 // Update Count : 812 // Last Modified On : Thu Jul 19 13:50:51 2018 13 // Update Count : 15 14 14 // 15 15 … … 42 42 __attribute__(( unused )) int f5 __attribute__(( unused )); 43 43 __attribute__(( used )) int f6 __attribute__(( packed )), f7 __attribute__(( unused )) __attribute__(( unused )), __attribute__(( used )) f8 __attribute__(( unused )); 44 int __attribute__(( unused ));45 44 int ( ( * (f9) __attribute__(( unused )) ) __attribute__(( unused )) ); 46 45 }; … … 149 148 struct Vad { 150 149 int __attribute__(( unused )); 151 int __attribute__(( unused )) * __attribute__(( unused )); 152 int __attribute__(( unused )) [10] __attribute__(( unused )); 153 int __attribute__(( unused )) (*)() __attribute__(( unused )); 150 int __attribute__(( unused )) :4; 151 int __attribute__(( unused )) :4, __attribute__(( unused )) :6; 154 152 }; 155 153
Note: See TracChangeset
for help on using the changeset viewer.