summaryrefslogtreecommitdiff
path: root/include/clang
diff options
context:
space:
mode:
authorDavid Chisnall <csdavec@swan.ac.uk>2018-05-22 06:09:23 +0000
committerDavid Chisnall <csdavec@swan.ac.uk>2018-05-22 06:09:23 +0000
commitf018741d7d5330078df18a3f4bf633df5fdb2312 (patch)
treeba1c9dc414a96e8dbc0b989d9c5e6512d56a42e3 /include/clang
parent41efb100757e4d1cc1e376cc3827a3a469724fe2 (diff)
downloadclang-f018741d7d5330078df18a3f4bf633df5fdb2312.tar.gz
GNUstep Objective-C ABI version 2
Summary: This includes initial support for the (hopefully final) updated Objective-C ABI, developed here: https://github.com/davidchisnall/clang-gnustep-abi-2 It also includes some cleanups and refactoring from older GNU ABIs. The current version is ELF only, other formats to follow. Reviewers: rjmccall, DHowett-MSFT Reviewed By: rjmccall Subscribers: smeenai, cfe-commits Differential Revision: https://reviews.llvm.org/D46052 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@332950 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang')
-rw-r--r--include/clang/AST/Expr.h8
-rw-r--r--include/clang/Basic/DiagnosticDriverKinds.td2
2 files changed, 10 insertions, 0 deletions
diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h
index 47e8261abf..c51ba8ddc0 100644
--- a/include/clang/AST/Expr.h
+++ b/include/clang/AST/Expr.h
@@ -1620,6 +1620,14 @@ public:
bool isUTF32() const { return Kind == UTF32; }
bool isPascal() const { return IsPascal; }
+ bool containsNonAscii() const {
+ StringRef Str = getString();
+ for (unsigned i = 0, e = Str.size(); i != e; ++i)
+ if (!isASCII(Str[i]))
+ return true;
+ return false;
+ }
+
bool containsNonAsciiOrNull() const {
StringRef Str = getString();
for (unsigned i = 0, e = Str.size(); i != e; ++i)
diff --git a/include/clang/Basic/DiagnosticDriverKinds.td b/include/clang/Basic/DiagnosticDriverKinds.td
index cecd4643b8..ef7b0db89f 100644
--- a/include/clang/Basic/DiagnosticDriverKinds.td
+++ b/include/clang/Basic/DiagnosticDriverKinds.td
@@ -193,6 +193,8 @@ def err_drv_mg_requires_m_or_mm : Error<
"option '-MG' requires '-M' or '-MM'">;
def err_drv_unknown_objc_runtime : Error<
"unknown or ill-formed Objective-C runtime '%0'">;
+def err_drv_gnustep_objc_runtime_incompatible_binary : Error<
+ "GNUstep Objective-C runtime version %0 incompatible with target binary format">;
def err_drv_emit_llvm_link : Error<
"-emit-llvm cannot be used when linking">;
def err_drv_optimization_remark_pattern : Error<