semantics.c (171826) | semantics.c (220150) |
---|---|
1/* Perform the semantic phase of parsing, i.e., the process of 2 building tree structure, checking semantic consistency, and 3 building RTL. These routines are used both during actual parsing 4 and during the instantiation of template functions. 5 6 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 7 Free Software Foundation, Inc. 8 Written by Mark Mitchell (mmitchell@usa.net) based on code found --- 1306 unchanged lines hidden (view full) --- 1315 1316/* Finish a series of declarations for local labels. G++ allows users 1317 to declare "local" labels, i.e., labels with scope. This extension 1318 is useful when writing code involving statement-expressions. */ 1319 1320void 1321finish_label_decl (tree name) 1322{ | 1/* Perform the semantic phase of parsing, i.e., the process of 2 building tree structure, checking semantic consistency, and 3 building RTL. These routines are used both during actual parsing 4 and during the instantiation of template functions. 5 6 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 7 Free Software Foundation, Inc. 8 Written by Mark Mitchell (mmitchell@usa.net) based on code found --- 1306 unchanged lines hidden (view full) --- 1315 1316/* Finish a series of declarations for local labels. G++ allows users 1317 to declare "local" labels, i.e., labels with scope. This extension 1318 is useful when writing code involving statement-expressions. */ 1319 1320void 1321finish_label_decl (tree name) 1322{ |
1323 tree decl = declare_local_label (name); 1324 add_decl_expr (decl); | 1323 if (!at_function_scope_p ()) 1324 { 1325 error ("__label__ declarations are only allowed in function scopes"); 1326 return; 1327 } 1328 1329 add_decl_expr (declare_local_label (name)); |
1325} 1326 1327/* When DECL goes out of scope, make sure that CLEANUP is executed. */ 1328 1329void 1330finish_decl_cleanup (tree decl, tree cleanup) 1331{ 1332 push_cleanup (decl, cleanup, false); --- 2611 unchanged lines hidden --- | 1330} 1331 1332/* When DECL goes out of scope, make sure that CLEANUP is executed. */ 1333 1334void 1335finish_decl_cleanup (tree decl, tree cleanup) 1336{ 1337 push_cleanup (decl, cleanup, false); --- 2611 unchanged lines hidden --- |