view dmd/utf.h @ 486:a34078905d01

Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in. Reimplemented support for nested functions/class using a new approach. Added error on taking address of intrinsic. Fixed problems with the ->syntaxCopy of TypeFunction delegate exp. Removed DtoDType and replaced all uses with ->toBasetype() instead. Removed unused inplace stuff. Fixed a bunch of issues in the runtime unittests, not complete yet. Added mini tests.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 10 Aug 2008 08:37:38 +0200
parents c53b6e3fe49a
children
line wrap: on
line source

// Compiler implementation of the D programming language
// utf.h
// Copyright (c) 2003-2006 by Digital Mars
// All Rights Reserved
// written by Walter Bright
// http://www.digitalmars.com
// License for redistribution is by either the Artistic License
// in artistic.txt, or the GNU General Public License in gnu.txt.
// See the included readme.txt for details.

#ifndef DMD_UTF_H
#define DMD_UTF_H


typedef unsigned dchar_t;

int utf_isValidDchar(dchar_t c);

char *utf_decodeChar(unsigned char *s, size_t len, size_t *pidx, dchar_t *presult);
char *utf_decodeWchar(unsigned short *s, size_t len, size_t *pidx, dchar_t *presult);

char *utf_validateString(unsigned char *s, size_t len);

extern int isUniAlpha(dchar_t);

#endif