[llvm-commits] [llvm] r52149 - in /llvm/trunk: lib/AsmParser/llvmAsmParser.cpp.cvs lib/AsmParser/llvmAsmParser.h.cvs lib/AsmParser/llvmAsmParser.y lib/AsmParser/llvmAsmParser.y.cvs utils/llvm.grm
Chris Lattner
clattner at apple.com
Mon Jun 23 10:18:53 PDT 2008
On Jun 9, 2008, at 7:45 AM, Dan Gohman wrote:
> Author: djg
> Date: Mon Jun 9 09:45:02 2008
> New Revision: 52149
>
> URL: http://llvm.org/viewvc/llvm-project?rev=52149&view=rev
> Log:
> AsmParser support for immediate constant aggregate values.
Hey Dan,
General comment: please commit the change of .y file separate from
the .cvs files. They are large and noisy.
>
> +++ llvm/trunk/lib/AsmParser/llvmAsmParser.y Mon Jun 9 09:45:02 2008
> @@ -2505,6 +2499,80 @@
> delete PTy; delete $2;
> CHECK_FOR_ERROR
> }
> + | '[' ConstVector ']' { // Nonempty unsized arr
> + const Type *ETy = (*$2)[0]->getType();
> + int NumElements = $2->size();
Please use uint64_t for NumElements.
>
> + ArrayType *ATy = ArrayType::get(ETy, NumElements);
> + PATypeHolder* PTy = new PATypeHolder(HandleUpRefs(ATy));
> +
> + // Verify all elements are correct type!
> + for (unsigned i = 0; i < $2->size(); i++) {
Here too.
> + | '[' ']' {
> + $$ = ValID::createUndef();
> + CHECK_FOR_ERROR
> + }
This should make an empty array not an undef. I'm not sure if it make
a difference in practice though.
>
> + | 'c' STRINGCONSTANT {
> + int NumElements = $2->length();
Please use size_t or uint64_t.
Thanks Dan,
-Chris
More information about the llvm-commits
mailing list