diff options
author | David Chisnall <csdavec@swan.ac.uk> | 2018-05-22 06:09:23 +0000 |
---|---|---|
committer | David Chisnall <csdavec@swan.ac.uk> | 2018-05-22 06:09:23 +0000 |
commit | f018741d7d5330078df18a3f4bf633df5fdb2312 (patch) | |
tree | ba1c9dc414a96e8dbc0b989d9c5e6512d56a42e3 /include/clang | |
parent | 41efb100757e4d1cc1e376cc3827a3a469724fe2 (diff) | |
download | clang-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.h | 8 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticDriverKinds.td | 2 |
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< |