• Jose Dapena Paz's avatar
    GCC: avoid template specialization in non namespace scope in blink::MemberBase · e2081af8
    Jose Dapena Paz authored
    Fix this error in GCC compilation:
    ../../third_party/blink/renderer/platform/heap/member.h:251:13: error: explicit specialization in non-namespace scope ‘class blink::MemberBase<T, tracenessConfiguration>’
      251 |   template <>
          |             ^
    ../../third_party/blink/renderer/platform/heap/member.h:252:76: error: template-id ‘SetRaw<blink::TracenessMemberConfiguration::kUntraced>’ in declaration of primary template
      252 |   ALWAYS_INLINE void SetRaw<TracenessMemberConfiguration::kUntraced>(T* raw) {
    
    To avoid it we change SetRaw to not be a template method, and just check
    the traceness configuration. The generated code should be the same.
    
    Bug: 819294
    Change-Id: Ia03d7842918bd091beaf966caa3af5e8c647cd76
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2360020Reviewed-by: default avatarAnton Bikineev <bikineev@chromium.org>
    Commit-Queue: José Dapena Paz <jdapena@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#800153}
    e2081af8
member.h 15.5 KB