treelang.texi: Treelang does have warnings.
2005-02-26 James A. Morrison <phython@gcc.gnu.org> * treelang.texi: Treelang does have warnings. * treetree.c (tree_code_create_function_prototype): Don't set TREE_USED and set TREE_PUBLIC, DECL_EXTERNAL, and TREE_STATIC as few times as needed on the function declaration. (tree_code_create_function_initial): Don't set TREE_USED, TREE_ADDRESSABLE, but set TREE_STATIC on the function declaration. (tree_code_create_variable): Don't set TREE_USED on VAR_DECL. (tree_code_get_expression): Set TREE_USED for variable references and function calls. From-SVN: r95580
This commit is contained in:
parent
52058e0da0
commit
347561b87c
3 changed files with 20 additions and 17 deletions
|
@ -1,3 +1,15 @@
|
|||
2005-02-26 James A. Morrison <phython@gcc.gnu.org>
|
||||
|
||||
* treelang.texi: Treelang does have warnings.
|
||||
* treetree.c (tree_code_create_function_prototype): Don't set
|
||||
TREE_USED and set TREE_PUBLIC, DECL_EXTERNAL, and TREE_STATIC
|
||||
as few times as needed on the function declaration.
|
||||
(tree_code_create_function_initial): Don't set TREE_USED,
|
||||
TREE_ADDRESSABLE, but set TREE_STATIC on the function declaration.
|
||||
(tree_code_create_variable): Don't set TREE_USED on VAR_DECL.
|
||||
(tree_code_get_expression): Set TREE_USED for variable references
|
||||
and function calls.
|
||||
|
||||
2005-02-26 James A. Morrison <phython@gcc.gnu.org>
|
||||
|
||||
* parse.y: Do comparisons as the type of the first expression.
|
||||
|
|
|
@ -710,9 +710,11 @@ the programmer's intention.)
|
|||
@cindex warnings
|
||||
@cindex questionable instructions
|
||||
@item
|
||||
There are few warnings in treelang. A program is either correct or in
|
||||
error. The only exception to this is an expression in a return statement for
|
||||
functions that return nothing.
|
||||
There are a few warnings in treelang. For example an unused static function
|
||||
generate a warnings when -Wunused-function is specified, similarily an unused
|
||||
static variable generates a warning when -Wunused-variable are specified.
|
||||
The only treelang specific warning is a warning when an expression is in a
|
||||
return statement for functions that return void.
|
||||
@end itemize
|
||||
|
||||
@cindex components of treelang
|
||||
|
|
|
@ -352,25 +352,19 @@ tree_code_create_function_prototype (unsigned char* chars,
|
|||
DECL_CONTEXT (fn_decl) = NULL_TREE;
|
||||
DECL_SOURCE_LOCATION (fn_decl) = loc;
|
||||
|
||||
TREE_USED (fn_decl) = 1;
|
||||
|
||||
TREE_PUBLIC (fn_decl) = 0;
|
||||
DECL_EXTERNAL (fn_decl) = 0;
|
||||
TREE_STATIC (fn_decl) = 0;
|
||||
switch (storage_class)
|
||||
{
|
||||
case STATIC_STORAGE:
|
||||
TREE_PUBLIC (fn_decl) = 0;
|
||||
break;
|
||||
|
||||
case EXTERNAL_DEFINITION_STORAGE:
|
||||
TREE_PUBLIC (fn_decl) = 1;
|
||||
TREE_STATIC (fn_decl) = 0;
|
||||
DECL_EXTERNAL (fn_decl) = 0;
|
||||
break;
|
||||
|
||||
case EXTERNAL_REFERENCE_STORAGE:
|
||||
TREE_PUBLIC (fn_decl) = 0;
|
||||
DECL_EXTERNAL (fn_decl) = 1;
|
||||
break;
|
||||
|
||||
|
@ -457,11 +451,7 @@ tree_code_create_function_initial (tree prev_saved,
|
|||
|
||||
pushlevel (0);
|
||||
|
||||
/* Force it to be output, else may be solely inlined. */
|
||||
TREE_ADDRESSABLE (fn_decl) = 1;
|
||||
|
||||
/* Stop -O3 from deleting it. */
|
||||
TREE_USED (fn_decl) = 1;
|
||||
TREE_STATIC (fn_decl) = 1;
|
||||
}
|
||||
|
||||
/* Wrapup a function contained in file FILENAME, ending at line LINENO. */
|
||||
|
@ -570,9 +560,6 @@ tree_code_create_variable (unsigned int storage_class,
|
|||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
/* This should really only be set if the variable is used. */
|
||||
TREE_USED (var_decl) = 1;
|
||||
|
||||
TYPE_NAME (TREE_TYPE (var_decl)) = TYPE_NAME (var_type);
|
||||
return pushdecl (copy_node (var_decl));
|
||||
}
|
||||
|
@ -701,6 +688,7 @@ tree_code_get_expression (unsigned int exp_type,
|
|||
variable type, convert it. */
|
||||
case EXP_REFERENCE:
|
||||
gcc_assert (op1);
|
||||
TREE_USED (op1) = 1;
|
||||
if (type == TREE_TYPE (op1))
|
||||
ret1 = op1;
|
||||
else
|
||||
|
@ -711,6 +699,7 @@ tree_code_get_expression (unsigned int exp_type,
|
|||
gcc_assert (op1);
|
||||
{
|
||||
tree fun_ptr;
|
||||
TREE_USED (op1) = 1;
|
||||
fun_ptr = fold (build1 (ADDR_EXPR,
|
||||
build_pointer_type (TREE_TYPE (op1)), op1));
|
||||
ret1 = build3 (CALL_EXPR, type, fun_ptr, nreverse (op2), NULL_TREE);
|
||||
|
|
Loading…
Add table
Reference in a new issue