[LLVMdev] Addressing const reference in ArrayRef
Duncan P. N. Exon Smith
dexonsmith at apple.com
Fri Aug 22 11:22:32 PDT 2014
> On 2014-Aug-22, at 10:43, David Blaikie <dblaikie at gmail.com> wrote:
>
> Yep - the convenience of one-element->ArrayRef is "cute" at best, I
> think. Having to wrap it doesn't seem detrimental. Would have to look
> at some numbers, though (if we could easily gather the number of
> instances of this - I'm not sure of the easiest way to do that, given
> the build system likes to stop after it sees an error).
diff --git a/include/llvm/ADT/ArrayRef.h b/include/llvm/ADT/ArrayRef.h
index 0351cf5..79f14da 100644
--- a/include/llvm/ADT/ArrayRef.h
+++ b/include/llvm/ADT/ArrayRef.h
@@ -68,7 +68,7 @@ namespace llvm {
/*implicit*/ ArrayRef(NoneType) : Data(nullptr), Length(0) {}
/// Construct an ArrayRef from a single element.
- /*implicit*/ ArrayRef(const T &OneElt)
+ __attribute__((deprecated)) /*implicit*/ ArrayRef(const T &OneElt)
: Data(&OneElt), Length(1) {}
/// Construct an ArrayRef from a pointer and length.
and rebuilding LLVM and Clang gives me:
$ ninja 2>&1 | grep -e Wdeprecated-declarations | wc -l
6083
This includes forwards from the `makeArrayRef()` helper.
More information about the llvm-dev
mailing list