X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fst%2Fexc.c;h=6fc1efd59556829f0c3d33b67fee1dcd56df97dd;hb=d0d85962ef52c14950db90e5981a7bea36023ab3;hp=df13b7be535f7f5f395885cdf5383bb6ff195df7;hpb=5c27107154d63252e27639ebb34e98022f9b3358;p=libfirm diff --git a/ir/st/exc.c b/ir/st/exc.c index df13b7be5..6fc1efd59 100644 --- a/ir/st/exc.c +++ b/ir/st/exc.c @@ -1,22 +1,26 @@ -/* Copyright (c) 2002 by Universität Karlsruhe (TH). All Rights Reserved */ /* -** Time-stamp: -*/ - -/*** + * Project: libFIRM + * File name: ir/st/exc.c + * Purpose: Helper functions for jack exceptions. + * Author: Florian Liekweg + * Modified by: + * Created: 4.3.2002 + * CVS-ID: $Id$ + * Copyright: (c) 2002-2003 Universität Karlsruhe + * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + */ + +/** NAME exc PURPOSE Helper functions for exceptions - NOTES + S not quite complete - HISTORY - liekweg - Mar 4, 2002: Created. - CVS: - $Id$ ***/ -# include "exc.h" +#include +#include "exc.h" static char* exc_strings [] = { "Invalid", /* invalid */ @@ -101,6 +105,39 @@ static bool is_cfg_jmp (ir_node *node) } #endif +void set_Block_exc(ir_node *n, exc_t exc) { +} + +exc_t get_Block_exc(ir_node *n) { + return 0; +} + + +/* handler handling for Blocks */ +void +set_Block_handler (ir_node *block, ir_node *handler) { + assert (is_Block(block)); + assert (is_Block(handler)); +} + +ir_node * +get_Block_handler (ir_node *block) { + assert (is_Block(block)); + return (NULL); +} + +/* handler handling for Nodes */ +void +set_Node_handler (ir_node *node, ir_node *handler) { + +} + +ir_node * +get_Node_handler (ir_node *node) { + return (NULL); +} + + /* Return true iff a new exception region must be left upon entry of this block. @@ -115,7 +152,7 @@ bool is_handler_entry (ir_graph *graph, ir_node *block) if (exc_invalid == get_Block_exc (block)) { - for (i = 0; (i < n) && is_entry; i ++) + for (i = 0; (i < n) && (is_entry == true); i ++) if (is_exc_jmp (get_irn_n (block, i))) continue; else @@ -145,7 +182,7 @@ bool is_region_entry (ir_graph *graph, ir_node *block) bool no_handler = true; - for (i = 0; (i < n) && no_handler; i ++) + for (i = 0; (i < n) && (no_handler == true); i ++) { succ = get_irn_out (block, i); @@ -159,7 +196,7 @@ bool is_region_entry (ir_graph *graph, ir_node *block) return (exc_region == get_Block_exc (block)); - return (TRUE); + return (true); } /* @@ -181,7 +218,7 @@ bool is_handler_block (ir_graph *graph, ir_node *block) int n_blocks = env->dt->n_blocks; int i = 0; - for (i = 0; (i < n_blocks) && no_handler; i ++) + for (i = 0; (i < n_blocks) && (no_handler == true); i ++) if (0 != (env->dt->masks [i] & block_mask)) /* if dominator */ if (is_handler_entry (graph, env->dt->blocks [i])) /* is handler entry */ no_handler = false;