[PATCH] D81585: [AIX][XCOFF][Patch1] Provide decoding trace back table information API for xcoff object file for llvm-objdump -d

James Henderson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 11 02:44:09 PDT 2020


jhenderson added inline comments.


================
Comment at: llvm/unittests/Object/XCOFFObjectFileTest.cpp:162
+TEST(XCOFFObjectFileTest, XCOFFTracebackTableTruncatedAtMandatory) {
+  uint8_t V[] = {0x00, 0x00, 0x2A, 0x40, 0x80, 0x00};
+  uint64_t Size = sizeof(V);
----------------
Rather than repeatedly declaring an ever-increasing array, but otherwise identical array you should pull it out into a constant variable shared by the tests, and then use a different size in each case. Thus something like:

```
const uint8_t BasicTable = { ... };

TEST(XCOFFObjectFileTest, XCOFFTracebackTableTruncatedAtMandatory) {
  Expected<XCOFFTracebackTable> TTOrErr = XCOFFTracebackTable::create(BasicTable, 0x6);
  EXPECT_THAT_ERROR(
      TTOrErr.takeError(),
      FailedWithMessage(
          "unexpected end of data at offset 0x6 while reading [0x0, 0x8)"));
}

TEST(XCOFFObjectFileTest, XCOFFTracebackTableTruncatedAtParamsType) {
  Expected<XCOFFTracebackTable> TTOrErr = XCOFFTracebackTable::create(BasicTable, 9);
  EXPECT_THAT_ERROR(
      TTOrErr.takeError(),
      FailedWithMessage(
          "unexpected end of data at offset 0x9 while reading [0x8, 0xc)"));
}
```

etc.

You might even be able to use the table in some of your earlier tests too.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81585



More information about the llvm-commits mailing list