summaryrefslogtreecommitdiff
path: root/apt-private/acqprogress.h
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2017-08-24 16:50:12 +0200
committerJulian Andres Klode <jak@debian.org>2017-08-24 16:56:48 +0200
commit03590fb98226bfdf3147eb78effc3fa7987709bb (patch)
treec8b0650b24d6086f6bbc656caf2876c0ed3b6632 /apt-private/acqprogress.h
parentd64ef1c36b2885f1f178f5438c1a4f67f8bdee88 (diff)
Redefine APT_CONST to mean APT_PURE
Functions marked with the const attribute may not inspect any global memory. This includes targets of pointers or references passed as arguments. A pure function however is free to inspect memory, but may not have any side effects. The function StringSplit() was marked as const, but took two references to strings. When the second one was passed as a literal as in StringSplit(name, "::") the compiler cleverly figured out that we only inspect the address of "::" (since StringSplit is const) and thus optimized away the "::" content. While patching out individual broken uses of APT_CONST would be possible, this is already the second case, and there might be more, so let's redefine APT_CONST to use the pure attribute, so we don't end up with the same situation again in some time.
Diffstat (limited to 'apt-private/acqprogress.h')
0 files changed, 0 insertions, 0 deletions