LCOV - code coverage report
Current view: top level - metalib_isl - read_in_string_templ.c (source / functions) Hit Total Coverage
Test: 2018-10-31_point_maint_greina16.lcov Lines: 0 12 0.0 %
Date: 2018-11-01 11:27:00 Functions: 0 3 0.0 %

          Line data    Source code
       1             : #include <isl/stream.h>
       2             : 
       3             : #define xCAT(A,B) A ## B
       4             : #define CAT(A,B) xCAT(A,B)
       5             : #undef TYPE
       6             : #define TYPE CAT(isl_,BASE)
       7             : #define xFN(TYPE,NAME) TYPE ## _ ## NAME
       8             : #define FN(TYPE,NAME) xFN(TYPE,NAME)
       9             : 
      10             : /* Read an object of type TYPE from "s", where the object may
      11             :  * either be specified directly or as a string.
      12             :  *
      13             :  * First check if the next token in "s" is a string.  If so, try and
      14             :  * extract the object from the string.
      15             :  * Otherwise, try and read the object directly from "s".
      16             :  */
      17           0 : static __isl_give TYPE *FN(read,BASE)(__isl_keep isl_stream *s)
      18             : {
      19             :         struct isl_token *tok;
      20             :         int type;
      21             : 
      22           0 :         tok = isl_stream_next_token(s);
      23           0 :         type = isl_token_get_type(tok);
      24           0 :         if (type == ISL_TOKEN_STRING) {
      25             :                 char *str;
      26             :                 isl_ctx *ctx;
      27             :                 TYPE *res;
      28             : 
      29           0 :                 ctx = isl_stream_get_ctx(s);
      30           0 :                 str = isl_token_get_str(ctx, tok);
      31           0 :                 res = FN(TYPE,read_from_str)(ctx, str);
      32           0 :                 free(str);
      33           0 :                 isl_token_free(tok);
      34           0 :                 return res;
      35             :         }
      36           0 :         isl_stream_push_token(s, tok);
      37           0 :         return FN(isl_stream_read,BASE)(s);
      38             : }

Generated by: LCOV version 1.12