remove unused support for wchar idents
authorMatthias Braun <matze@braunis.de>
Sat, 11 Oct 2008 19:20:47 +0000 (19:20 +0000)
committerMatthias Braun <matze@braunis.de>
Sat, 11 Oct 2008 19:20:47 +0000 (19:20 +0000)
[r22717]

configure.ac
firm_config.h.in [deleted file]
include/libfirm/ident.h
ir/ident/ident.c

index 84e6293..d7e4b74 100644 (file)
@@ -92,18 +92,6 @@ if test "$enable_ilp" = yes; then
   AC_DEFINE([WITH_ILP], [], [enable to build code using ilp solvers])
 fi
 
-dnl enable wchar_t support for identifiers
-dnl --------------------------------
-AC_ARG_ENABLE([wchar_support],
-[AS_HELP_STRING([--enable-wchar-support], [enable wchar_t support for identifiers (needed for java)])],
-[enable_wchar_support="$enableval"], [enable_wchar_support="no"])
-
-if test "$enable_wchar_support" = yes; then
-  FIRMCONFIG_FIRM_ENABLE_WCHAR="#define FIRM_ENABLE_WCHAR"
-fi
-AC_SUBST([FIRMCONFIG_FIRM_ENABLE_WCHAR])
-AC_SUBST([enable_wchar_support])
-
 dnl disable backend
 dnl ---------------
 AC_ARG_ENABLE([backend],
@@ -170,7 +158,6 @@ dnl ===============
 
 dnl Output results
 AC_CONFIG_FILES([
-       firm_config.h
        Makefile
        ir/Makefile
        include/libfirm/Makefile
@@ -197,6 +184,4 @@ echo "     debug/verifiers       $enable_debug_libfirm"
 echo "     assertions            $enable_assert"
 echo "     statistics            $enable_statistics"
 echo "     ilp                   $enable_ilp"
-echo "     jvm                   $enable_jvm"
-echo "     wide char support     $enable_wchar_support"
 echo ""
diff --git a/firm_config.h.in b/firm_config.h.in
deleted file mode 100644 (file)
index f6e6362..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/* define to 1 to have wchar_t support for identifiers */
-@FIRMCONFIG_FIRM_ENABLE_WCHAR@
index 5296f33..a4b88ee 100644 (file)
 #ifndef FIRM_IDENT_IDENT_H
 #define FIRM_IDENT_IDENT_H
 
-#include "firm_config.h"
 #include "firm_types.h"
 
-#ifdef FIRM_ENABLE_WCHAR
-#include <wchar.h>
-#endif
-
 /* Identifiers */
 
 /**
@@ -81,44 +76,6 @@ typedef struct _ident_if_t {
    * Finish the ident module and frees all idents, may be NULL.
    */
   void (*finish_ident)(void *handle);
-
-#ifdef FIRM_ENABLE_WCHAR
-  /**
-   * Store a wide character string and create an ident.
-   * This function may be NULL, new_id_from_wchars()
-   * is then used to emulate it's behavior.
-   *
-   * @param wstr - the string which shall be stored
-   */
-  ident *(*new_id_from_wcs)(void *handle, const wchar_t *wstr);
-
-  /**
-   * Store a wide character string and create an ident.
-   * This function may be NULL, new_id_from_chars() is then used appropriate.
-   * Beware: the string might not be stored at a right alignment!
-   *
-   * @param wstr - the wide character string which shall be stored
-   * @param len  - the length of the string
-   */
-  ident *(*new_id_from_wchars)(void *handle, const wchar_t *wstr, int len);
-
-  /**
-   * Returns a wide character string represented by an ident.
-   * This function may be NULL, get_id_str() is then used.
-   * This assume that the strings are stored at an address aligned
-   * for wchar_t, so beware!
-   */
-  const wchar_t *(*get_id_wcs)(void *handle, ident *id);
-
-  /**
-   * Returns the length of the string represented by an ident.
-   * This function may be NULL, get_id_wcs() is then used
-   * to emulate it's behavior.
-   *
-   * @param id - the ident
-   */
-  int  (*get_id_wcslen)(void *handle, ident *id);
-#endif
 } ident_if_t;
 
 /**
@@ -221,73 +178,6 @@ int id_contains_char (ident *id, char c);
  */
 ident *id_unique(const char *tag);
 
-#ifdef FIRM_ENABLE_WCHAR
-/**
- *  Store a wide character string and create an ident.
- *
- *  Stores a string in the ident module and returns a handle for the string.
- *
- *  Copies the string. @p str must be zero terminated
- *
- * @param str - the wide character string which shall be stored
- *
- * @return id - a handle for the generated ident
- *
- * @see get_id_wcs(), get_id_wcs()
- */
-ident *new_id_from_wcs (const wchar_t *str);
-
-/** Store a wide character string and create an ident.
- *
- * Stores a string in the ident module and returns a handle for the string.
- * Copies the string. This version takes non-zero-terminated strings.
- *
- * @param wstr - the wide character string (or whatever) which shall be stored
- * @param len  - the length of string
- *
- * @return id - a handle for the generated ident
- *
- * @see new_id_from_str(), get_id_strlen()
- */
-ident *new_id_from_wchars (const wchar_t *str, int len);
-
-/**
- * Returns a wide character string represented by an ident.
- *
- * Returns the string represented by id. This string is
- * NULL terminated. The string may not be changed.
- *
- * @param id - the ident
- *
- * @return cp - a string
- *
- * @see new_id_from_wcs(), new_id_from_wchars(), get_id_wcslen()
- */
-const wchar_t *get_id_wcs(ident *id);
-
-/**
- * Returns the length of the wide character string represented by an ident.
- *
- * @param id - the ident
- *
- * @return len - the length of the string
- *
- * @see new_id_from_wcs(), new_id_from_wchars(), get_id_wcs()
- */
-int  get_id_wcslen(ident *id);
-
-/**
- * Return true if an ident contains a given character.
- *
- * @param id     - the ident
- * @param c      - the character
- *
- * @see new_id_from_wcs(), new_id_from_chars(), get_id_str()
- */
-int id_contains_wchar (ident *id, wchar_t c);
-
-#endif /* FIRM_ENABLE_WCHAR */
-
 /** initializes the name mangling code */
 void   firm_init_mangle (void);
 
index 47838da..3a4e38d 100644 (file)
 #include <stddef.h>
 #include <stdlib.h>
 
-#ifdef FIRM_ENABLE_WCHAR
-#include <wchar.h>
-#endif
-
 #include "ident_t.h"
 #include "set.h"
 #include "xmalloc.h"
@@ -142,111 +138,6 @@ static int def_get_id_strlen(void *handle, ident *id)
   return strlen(impl.get_id_str(handle, id));
 }
 
-#ifdef FIRM_ENABLE_WCHAR
-/**
- * Stores a wide character string in the ident module and returns a
- * handle for the string.
- *
- * @param handle   the handle for the set
- * @param wstr     the wide character string which shall be stored
- * @param len      length of wstr
- *
- * @return id - a handle for the generated ident
- *
- * Default implementation using libfirm sets.
- */
-static ident *set_new_id_from_wchars(void *handle, const wchar_t *wstr, int len)
-{
-  set *id_set = handle;
-  wchar_t *tmp;
-
-  /* can't use hinsert0 here, so copy and add a 0 */
-  tmp = alloca((len + 1) * sizeof(*tmp));
-  memcpy(tmp, wstr, len * sizeof(*tmp));
-  tmp[len] = L'\0';
-
-  return (ident *)set_hinsert(id_set, tmp, (len + 1) * sizeof(wchar_t), ID_HASH(wchar_t, tmp, len));
-}
-
-/**
- * Stores a wide character string in the ident module and
- * returns a handle for the string.
- *
- * @param handle   the handle for the set
- * @param wstr     the wide character string which shall be stored
- *
- * Default implementation using libfirm sets.
- */
-static ident *set_new_id_from_wcs(void *handle, const wchar_t *wstr)
-{
-  assert(wstr);
-  return (ident *)set_new_id_from_wchars(handle, wstr, wcslen(wstr));
-}
-
-/**
- * Returns a wide character string represented by an ident.
- *
- * @param handle   the handle for the set
- * @param id       the ident
- *
- * Default implementation using libfirm sets.
- */
-static const wchar_t *set_get_id_wcs(void *handle, ident *id)
-{
-  struct set_entry *entry = (struct set_entry *)id;
-
-  return (const wchar_t *)entry->dptr;
-}
-
-/**
- * Returns the length of the string represented by an ident.
- *
- * @param handle   the handle for the set
- * @param id       the ident
- *
- * Default implementation using libfirm sets.
- */
-static int set_get_id_wcslen(void *handle, ident *id)
-{
-  struct set_entry *entry = (struct set_entry *)id;
-
-  /* len + \0 is stored for wchar_t */
-  return entry->size / sizeof(wchar_t) - 1;
-}
-
-/**
- * Default implementation if no new_id_from_wcs() is provided.
- */
-static ident *def_new_id_from_wcs(void *handle, const wchar_t *wstr)
-{
-  return impl.new_id_from_wchars(handle, wstr, wcslen(wstr));
-}
-
-/**
- * Default implementation if no new_id_from_wchars() is provided.
- */
-static ident *def_new_id_from_wchars(void *handle, const wchar_t *wstr, int len)
-{
-  return impl.new_id_from_chars(handle, (const char *)wstr, (len + 1) * sizeof(wchar_t));
-}
-
-/**
- * Default implementation if no get_id_wcs() is provided.
- */
-static const wchar_t *def_get_id_wcs(void *handle, ident *id)
-{
-  return (const wchar_t *)impl.get_id_str(handle, id);
-}
-
-/**
- * Default implementation if no get_id_wcslen() is provided.
- */
-static int def_get_id_wcslen(void *handle, ident *id)
-{
-  return wcslen(impl.get_id_wcs(handle, id));
-}
-#endif /* FIRM_ENABLE_WCHAR */
-
 /* Initialize the ident module. */
 void init_ident(ident_if_t *id_if, int initial_n_idents)
 {
@@ -257,30 +148,12 @@ void init_ident(ident_if_t *id_if, int initial_n_idents)
       impl.new_id_from_str = def_new_id_from_str;
     if (! impl.get_id_strlen)
       impl.get_id_strlen = def_get_id_strlen;
-
-#ifdef FIRM_ENABLE_WCHAR
-    if (! impl.new_id_from_wcs)
-      impl.new_id_from_wcs = def_new_id_from_wcs;
-    if (! impl.new_id_from_wchars)
-      impl.new_id_from_wchars = def_new_id_from_wchars;
-    if (! impl.get_id_wcs)
-      impl.get_id_wcs = def_get_id_wcs;
-    if (! impl.get_id_wcslen)
-      impl.get_id_wcslen = def_get_id_wcslen;
-#endif /* FIRM_ENABLE_WCHAR */
-  }
-  else {
+  } else {
    impl.new_id_from_str    = set_new_id_from_str;
    impl.new_id_from_chars  = set_new_id_from_chars;
    impl.get_id_str         = set_get_id_str;
    impl.get_id_strlen      = set_get_id_strlen;
    impl.finish_ident       = set_finish_ident;
-#ifdef FIRM_ENABLE_WCHAR
-   impl.new_id_from_wcs    = set_new_id_from_wcs;
-   impl.new_id_from_wchars = set_new_id_from_wchars;
-   impl.get_id_wcs         = set_get_id_wcs;
-   impl.get_id_wcslen      = set_get_id_wcslen;
-#endif /* FIRM_ENABLE_WCHAR */
 
    /* it's ok to use memcmp here, we check only strings */
    impl.handle = new_set(memcmp, initial_n_idents);
@@ -348,34 +221,3 @@ ident *id_unique(const char *tag)
        unique_id++;
        return new_id_from_str(buf);
 }
-
-#ifdef FIRM_ENABLE_WCHAR
-
-ident *new_id_from_wcs (const wchar_t *str)
-{
-  assert(str);
-  return impl.new_id_from_wcs(impl.handle, str);
-}
-
-ident *new_id_from_wchars (const wchar_t *str, int len)
-{
-  assert(len > 0);
-  return impl.new_id_from_wchars(impl.handle, str, len);
-}
-
-const wchar_t *get_id_wcs(ident *id)
-{
-  return impl.get_id_wcs(impl.handle, id);
-}
-
-int  get_id_wcslen(ident *id)
-{
-  return impl.get_id_wcslen(impl.handle, id);
-}
-
-int id_contains_wchar (ident *id, wchar_t c)
-{
-  return wcschr(get_id_wcs(id), c) != NULL;
-}
-
-#endif /* FIRM_ENABLE_WCHAR */