Lines Matching +full:form +full:- +full:data
1 //===- llvm/unittest/DebugInfo/DWARFFormValueTest.cpp ---------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
25 bool isFormClass(dwarf::Form Form, DWARFFormValue::FormClass FC) {
26 return DWARFFormValue(Form).isFormClass(FC);
48 DWARFFormValue createDataXFormValue(dwarf::Form Form, RawTypeT Value) {
52 DWARFFormValue Result(Form);
53 DWARFDataExtractor Data(StringRef(Raw, sizeof(RawTypeT)),
55 Result.extractValue(Data, &Offset, {0, 0, dwarf::DwarfFormat::DWARF32});
65 DWARFDataExtractor Data(OS.str(), sys::IsLittleEndianHost, sizeof(void *));
66 Result.extractValue(Data, &Offset, {0, 0, dwarf::DwarfFormat::DWARF32});
76 DWARFDataExtractor Data(OS.str(), sys::IsLittleEndianHost, sizeof(void *));
77 Result.extractValue(Data, &Offset, {0, 0, dwarf::DwarfFormat::DWARF32});
83 auto Sign1 = createDataXFormValue<uint8_t>(DW_FORM_data1, -123);
84 auto Sign2 = createDataXFormValue<uint16_t>(DW_FORM_data2, -12345);
85 auto Sign4 = createDataXFormValue<uint32_t>(DW_FORM_data4, -123456789);
86 auto Sign8 = createDataXFormValue<uint64_t>(DW_FORM_data8, -1);
87 EXPECT_EQ(*Sign1.getAsSignedConstant(), -123);
88 EXPECT_EQ(*Sign2.getAsSignedConstant(), -12345);
89 EXPECT_EQ(*Sign4.getAsSignedConstant(), -123456789);
90 EXPECT_EQ(*Sign8.getAsSignedConstant(), -1);
106 auto LEB1 = createSLEBFormValue(-42);
114 EXPECT_EQ(*LEB1.getAsSignedConstant(), -42);
127 EXPECT_EQ(memcmp(Str.data(), "000102030405060708090a0b0c0d0e0f", 32), 0);
130 using ParamType = std::tuple<Form, uint16_t, uint8_t, DwarfFormat,
140 SCOPED_TRACE("Inputs: Form = " + std::to_string(Fm) +
144 std::vector<uint8_t> Buf(InitialData.data(),
145 InitialData.data() + InitialData.size());
146 // The data extractor only adjusts the offset to the end of the buffer when
148 // expected amount to be skipped to identify cases where more data than
151 DWARFDataExtractor Data(Buf, sys::IsLittleEndianHost, AddrSize);
153 EXPECT_EQ(DWARFFormValue::skipValue(Fm, Data, &Offset,
159 Form Fm;
199 // Form, Version, AddrSize, DwarfFormat, InitialData, ExpectedSize,
312 ParamType(/*Unknown=*/Form(0xff), 4, 4, DWARF32, SampleU32, 0, false)));
314 using ErrorParams = std::tuple<Form, std::vector<uint8_t>>;
318 Form Fm;
327 DWARFDataExtractor Data(InitialData, sys::IsLittleEndianHost, 4);
328 DWARFFormValue Form(Fm);
330 EXPECT_FALSE(Form.extractValue(Data, &Offset, {0, 0, DWARF32}));
349 std::tuple<Form, ArrayRef<uint8_t>, DwarfFormat, StringRef>;
355 Form Fm;
365 DWARFDataExtractor Data(InitialData, sys::IsLittleEndianHost, 8);
366 DWARFFormValue Form(Fm);
368 Form.extractValue(Data, &Offset, {0, 0, Format});
377 Form.dump(OS, Opts);