Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abseil-cpp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
abseil-cpp
Commits
090646f9
Unverified
Commit
090646f9
authored
Mar 18, 2021
by
Christian Fersch
Committed by
GitHub
Mar 18, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix C++/CLI build problem (#916)
parent
dcf48993
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
4 deletions
+4
-4
absl/container/internal/layout.h
+4
-4
No files found.
absl/container/internal/layout.h
View file @
090646f9
...
...
@@ -404,7 +404,7 @@ class LayoutImpl<std::tuple<Elements...>, absl::index_sequence<SizeSeq...>,
constexpr
size_t
Offset
()
const
{
static_assert
(
N
<
NumOffsets
,
"Index out of bounds"
);
return
adl_barrier
::
Align
(
Offset
<
N
-
1
>
()
+
SizeOf
<
ElementType
<
N
-
1
>>
()
*
size_
[
N
-
1
],
Offset
<
N
-
1
>
()
+
SizeOf
<
ElementType
<
N
-
1
>>
::
value
*
size_
[
N
-
1
],
ElementAlignment
<
N
>::
value
);
}
...
...
@@ -597,7 +597,7 @@ class LayoutImpl<std::tuple<Elements...>, absl::index_sequence<SizeSeq...>,
constexpr
size_t
AllocSize
()
const
{
static_assert
(
NumTypes
==
NumSizes
,
"You must specify sizes of all fields"
);
return
Offset
<
NumTypes
-
1
>
()
+
SizeOf
<
ElementType
<
NumTypes
-
1
>>
()
*
size_
[
NumTypes
-
1
];
SizeOf
<
ElementType
<
NumTypes
-
1
>>
::
value
*
size_
[
NumTypes
-
1
];
}
// If built with --config=asan, poisons padding bytes (if any) in the
...
...
@@ -621,7 +621,7 @@ class LayoutImpl<std::tuple<Elements...>, absl::index_sequence<SizeSeq...>,
// The `if` is an optimization. It doesn't affect the observable behaviour.
if
(
ElementAlignment
<
N
-
1
>::
value
%
ElementAlignment
<
N
>::
value
)
{
size_t
start
=
Offset
<
N
-
1
>
()
+
SizeOf
<
ElementType
<
N
-
1
>>
()
*
size_
[
N
-
1
];
Offset
<
N
-
1
>
()
+
SizeOf
<
ElementType
<
N
-
1
>>
::
value
*
size_
[
N
-
1
];
ASAN_POISON_MEMORY_REGION
(
p
+
start
,
Offset
<
N
>
()
-
start
);
}
#endif
...
...
@@ -645,7 +645,7 @@ class LayoutImpl<std::tuple<Elements...>, absl::index_sequence<SizeSeq...>,
// produce "unsigned*" where another produces "unsigned int *".
std
::
string
DebugString
()
const
{
const
auto
offsets
=
Offsets
();
const
size_t
sizes
[]
=
{
SizeOf
<
ElementType
<
OffsetSeq
>>
()
...};
const
size_t
sizes
[]
=
{
SizeOf
<
ElementType
<
OffsetSeq
>>
::
value
...};
const
std
::
string
types
[]
=
{
adl_barrier
::
TypeName
<
ElementType
<
OffsetSeq
>>
()...};
std
::
string
res
=
absl
::
StrCat
(
"@0"
,
types
[
0
],
"("
,
sizes
[
0
],
")"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment