hokein added inline comments.

================
Comment at: clang/lib/AST/Type.cpp:2234
     // (C++ [dcl.array]p1).
-    // We don't handle variable arrays (they're not allowed in C++) or
-    // dependent-sized arrays (dependent types are never treated as 
incomplete).
----------------
sammccall wrote:
> hokein wrote:
> > This comment is pretty old, and was added in 
> > 2dfdb820ca550f75769f6850bc27f825f1dce4f7 in 2009. I don't think this is 
> > correct anymore, variable-length array is allowed in C++, and from 
> > http://eel.is/c++draft/basic.types.general#5, 
> > 
> > > an array of unknown bound or of incomplete element type, is an 
> > > incompletely-defined object type.36 Incompletely-defined object types and 
> > > cv void are incomplete types
> > 
> > This comment is pretty old, and was added in 
> > 2dfdb820ca550f75769f6850bc27f825f1dce4f7 in 2009. I don't think this is 
> > correct anymore
> 
> Agree, VLA in C++ were supported in clang in e7545b33ff79 (5 years ago)
> 
> > variable-length array is allowed in C++
> 
> Not by the standard! It's an extension, copied from gcc.
> 
> > an array of unknown bound or of incomplete element type
> 
> Yeah, it makes sense to treat VLA like array here.
> (I was confused, but "unknown bound" doesn't refer to VLAs, that's rather 
> `extern int x[];` which is `IncompleteArray`)
> Not by the standard! It's an extension, copied from gcc.

oh, right. VLA is allowed by C99 standard, but not in C++ standard, weird..



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99165/new/

https://reviews.llvm.org/D99165

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D99165: [clang] Treat v... Haojian Wu via Phabricator via cfe-commits

Reply via email to