Skip to content

Debug build broken on v18.8.0 #44371

Closed as not planned
Closed as not planned

Description

@trevnorris

Version

v18.8.0

Platform

Linux pop-os 5.18.10-76051810-generic

Subsystem

build

What steps will reproduce the bug?

$ ./configure --debug
$ make

How often does it reproduce? Is there a required condition?

Every time when compiling with clang. The debug build completes when using gcc.

What is the expected behavior?

To build properly.

What do you see instead?

The following output during the build:

../deps/v8/src/codegen/register.h:29:48: error: member reference base type 'RegListBase' is not a structure or union
  int num_different_regs = RegListBase{regs...}.Count();
                           ~~~~~~~~~~~~~~~~~~~~^~~~~~

Additional information

I'm compiling with clang 11.1.0 and gcc 11.2.0.

Activity

  1. added
    buildIssues and PRs related to Node.js builds or CI infrastructure.
    on Aug 24, 2022
  2. bnoordhuis commented on Aug 24, 2022

    @bnoordhuis
    Member

    Hi Trevor, long time no see! Does it work when you apply this patch?

    diff --git a/src/codegen/register.h b/src/codegen/register.h
    index e36e4d1e9af..36561fe5077 100644
    --- a/deps/v8/src/codegen/register.h
    +++ b/deps/v8/src/codegen/register.h
    @@ -19,18 +19,17 @@ constexpr bool ShouldPadArguments(int argument_count) {
       return ArgumentPaddingSlots(argument_count) != 0;
     }
     
     #ifdef DEBUG
     template <typename... RegTypes,
               // All arguments must be either Register or DoubleRegister.
               typename = typename std::enable_if_t<
                   std::conjunction_v<std::is_same<Register, RegTypes>...> ||
                   std::conjunction_v<std::is_same<DoubleRegister, RegTypes>...>>>
     inline constexpr bool AreAliased(RegTypes... regs) {
    -  int num_different_regs = RegListBase{regs...}.Count();
    +  using FirstRegType = std::tuple_element_t<0, std::tuple<RegTypes...>>;
    +  int num_different_regs = RegListBase<FirstRegType>{regs...}.Count();
       int num_given_regs = (... + (regs.is_valid() ? 1 : 0));
       return num_different_regs < num_given_regs;
     }
     #endif
    
     }  // namespace internal
     }  // namespace v8
  3. trevnorris commented on Aug 24, 2022

    @trevnorris
    ContributorAuthor

    Hey Ben! It has been a while. That patch does fix the Debug build issue. Thanks.

  4. added a commit that references this issue on Aug 25, 2022
  5. changed the title [-]Debug build broken on v18.8.0-proposal[/-] [+]Debug build broken on v18.8.0[/+] on Aug 26, 2022
  6. added a commit that references this issue on Oct 5, 2022
  7. github-actions commented on Jun 25, 2026

    @github-actions
    Contributor

    This issue has been marked as stale due to 210 days of inactivity.
    It will be automatically closed in 30 days if no further activity occurs. If this is still relevant, please leave a comment or update it to keep it open.

  8. added
    staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.
    on Jun 25, 2026
  9. github-actions commented on Jul 26, 2026

    @github-actions
    Contributor

    This issue has been automatically closed after 30 days of inactivity following its stale status (no activity for a total of 120 days).
    If this is still relevant, feel free to reopen it or leave a comment with additional details so we can continue the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to Node.js builds or CI infrastructure.staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions