OLD | NEW |
1 //===- NaClBitcodeMungeWriter.cpp - Write munged bitcode --------*- C++ -*-===// | 1 //===- NaClBitcodeMungeWriter.cpp - Write munged bitcode --------*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // Implements method NaClMungedBitcode.write(), which writes out a munged | 10 // Implements method NaClMungedBitcode.write(), which writes out a munged |
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 << "(" << static_cast<int64_t>(Value) | 502 << "(" << static_cast<int64_t>(Value) |
503 << ") in: " << Record << "\n"; | 503 << ") in: " << Record << "\n"; |
504 return false; | 504 return false; |
505 } | 505 } |
506 | 506 |
507 NaClBitCodeAbbrev *WriteState::buildAbbrev( | 507 NaClBitCodeAbbrev *WriteState::buildAbbrev( |
508 const NaClBitcodeAbbrevRecord &Record) { | 508 const NaClBitcodeAbbrevRecord &Record) { |
509 // Note: Recover by removing abbreviation. | 509 // Note: Recover by removing abbreviation. |
510 NaClBitCodeAbbrev *Abbrev = new NaClBitCodeAbbrev(); | 510 NaClBitCodeAbbrev *Abbrev = new NaClBitCodeAbbrev(); |
511 size_t Index = 0; | 511 size_t Index = 0; |
512 size_t NumAbbrevOps; | 512 uint64_t NumAbbrevOps; |
513 if (!nextAbbrevValue(NumAbbrevOps, Record, Index)) | 513 if (!nextAbbrevValue(NumAbbrevOps, Record, Index)) |
514 return deleteAbbrev(Abbrev); | 514 return deleteAbbrev(Abbrev); |
515 if (NumAbbrevOps == 0) { | 515 if (NumAbbrevOps == 0) { |
516 RecoverableError() << "Abbreviation must contain at least one operator: " | 516 RecoverableError() << "Abbreviation must contain at least one operator: " |
517 << Record << "\n"; | 517 << Record << "\n"; |
518 return deleteAbbrev(Abbrev); | 518 return deleteAbbrev(Abbrev); |
519 } | 519 } |
520 for (size_t Count = 0; Count < NumAbbrevOps; ++Count) { | 520 for (uint64_t Count = 0; Count < NumAbbrevOps; ++Count) { |
521 uint64_t IsLiteral; | 521 uint64_t IsLiteral; |
522 if (!nextAbbrevValue(IsLiteral, Record, Index)) | 522 if (!nextAbbrevValue(IsLiteral, Record, Index)) |
523 return deleteAbbrev(Abbrev); | 523 return deleteAbbrev(Abbrev); |
524 switch (IsLiteral) { | 524 switch (IsLiteral) { |
525 case 1: { | 525 case 1: { |
526 uint64_t Value; | 526 uint64_t Value; |
527 if (!nextAbbrevValue(Value, Record, Index)) | 527 if (!nextAbbrevValue(Value, Record, Index)) |
528 return deleteAbbrev(Abbrev); | 528 return deleteAbbrev(Abbrev); |
529 if (!verifyAbbrevOp(NaClBitCodeAbbrevOp::Literal, Value, Record)) | 529 if (!verifyAbbrevOp(NaClBitCodeAbbrevOp::Literal, Value, Record)) |
530 return deleteAbbrev(Abbrev); | 530 return deleteAbbrev(Abbrev); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 NaClWriteHeader(Writer, true); | 604 NaClWriteHeader(Writer, true); |
605 } | 605 } |
606 for (const NaClBitcodeAbbrevRecord &Record : *this) { | 606 for (const NaClBitcodeAbbrevRecord &Record : *this) { |
607 if (!State.emitRecord(Writer, Record)) | 607 if (!State.emitRecord(Writer, Record)) |
608 break; | 608 break; |
609 } | 609 } |
610 bool RecoverSilently = | 610 bool RecoverSilently = |
611 State.Results.NumErrors > 0 && !Flags.getTryToRecover(); | 611 State.Results.NumErrors > 0 && !Flags.getTryToRecover(); |
612 return State.finish(Writer, RecoverSilently); | 612 return State.finish(Writer, RecoverSilently); |
613 } | 613 } |
OLD | NEW |