From: Eli Friedman Date: Tue, 12 Feb 2008 08:29:21 +0000 (+0000) Subject: Add wchar_t type to ASTContext. Will be needed for wide strings, since X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fd888a581d6d329f5b447c8ff4d37cf396315993;p=clang Add wchar_t type to ASTContext. Will be needed for wide strings, since they are of type wchar_t[]. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47004 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/AST/ASTContext.cpp b/AST/ASTContext.cpp index dd8a9d4ecf..c00779c171 100644 --- a/AST/ASTContext.cpp +++ b/AST/ASTContext.cpp @@ -839,6 +839,15 @@ QualType ASTContext::getSizeType() const { return UnsignedLongTy; } +/// getWcharType - Return the unique type for "wchar_t" (C99 7.17), the +/// width of characters in wide strings, The value is target dependent and +/// needs to agree with the definition in . +QualType ASTContext::getWcharType() const { + // On Darwin, wchar_t is defined as a "int". + // FIXME: should derive from "Target". + return IntTy; +} + /// getPointerDiffType - Return the unique type for "ptrdiff_t" (ref?) /// defined in . Pointer - pointer requires this (C99 6.5.6p9). QualType ASTContext::getPointerDiffType() const { diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h index 3cb2d65893..af73643a02 100644 --- a/include/clang/AST/ASTContext.h +++ b/include/clang/AST/ASTContext.h @@ -195,6 +195,10 @@ public: /// getSizeType - Return the unique type for "size_t" (C99 7.17), defined /// in . The sizeof operator requires this (C99 6.5.3.4p4). QualType getSizeType() const; + + /// getWcharType - Return the unique type for "wchar_t" (C99 7.17), defined + /// in . Wide strings require this (C99 6.4.5p5). + QualType getWcharType() const; /// getPointerDiffType - Return the unique type for "ptrdiff_t" (ref?) /// defined in . Pointer - pointer requires this (C99 6.5.6p9).