Skip to content

Build error cannot inline function with v0.15.2 #606

@pbrisbin

Description

@pbrisbin

I have the following dockerfile,

FROM dlanguage/dmd:2.080.0 as builder
LABEL maintainer="Pat Brisbin <[email protected]>"
ENV DEBIAN_FRONTEND noninteractive
ENV DFMT_VERSION v0.15.2
ENV LANG en_US.UTF-8
RUN \
  apt-get update && \
  apt-get install -y --no-install-recommends \
    build-essential=12.1ubuntu2 \
    git=1:2.7.4-0ubuntu1 && \
  rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/dlang-community/dfmt /dfmt
WORKDIR /dfmt
RUN git reset --hard "$DFMT_VERSION"
RUN git submodule update --init --recursive
RUN make

This worked with v0.14.2, but it fails with v0.15.2:

 > [builder 7/7] RUN make:
0.229 mkdir -p bin
0.230 git describe --tags > bin/githash.txt
0.235 dmd -O -inline -w -Ilibdparse/src -Isrc -Jbin  src/dfmt/main.d src/dfmt/config.d src/dfmt/editorconfig.d src/dfmt/wrapping.d src/dfmt/indentation.d src/dfmt/tokens.d src/dfmt/globmatch_editorconfig.d src/dfmt/ast_info.d src/dfmt/formatter.d libdparse/src/std/experimental/lexer.d libdparse/src/dparse/entities.d libdparse/src/dparse/stack_buffer.d libdparse/src/dparse/trivia.d libdparse/src/dparse/astprinter.d libdparse/src/dparse/lexer.d libdparse/src/dparse/strings.d libdparse/src/dparse/parser.d libdparse/src/dparse/rollback_allocator.d libdparse/src/dparse/formatter.d libdparse/src/dparse/ast.d -ofbin/dfmt
3.299 libdparse/src/dparse/parser.d(773): Error: function `dparse.parser.Parser.parseAsmLogOrExp` cannot inline function
3.300 libdparse/src/dparse/parser.d(7352): Error: function `dparse.parser.Parser.parseTernaryExpression` cannot inline function
3.301 libdparse/src/dparse/parser.d(6101): Error: function `dparse.parser.Parser.parseShiftExpression` cannot inline function
3.301 libdparse/src/dparse/parser.d(5999): Error: function `dparse.parser.Parser.parseRelExpression` cannot inline function
3.301 libdparse/src/dparse/parser.d(3170): Error: function `dparse.parser.Parser.parseExpression` cannot inline function
3.303 libdparse/src/dparse/parser.d(3170): Error: function `dparse.parser.Parser.parseExpression` cannot inline function
3.304 libdparse/src/dparse/parser.d(3881): Error: function `dparse.parser.Parser.parseGccAsmOperandList` cannot inline function
3.305 libdparse/src/dparse/parser.d(7130): Error: function `dparse.parser.Parser.parseTemplateParameterList` cannot inline function
3.305 libdparse/src/dparse/parser.d(5109): Error: function `dparse.parser.Parser.parseNamespaceList` cannot inline function
3.306 libdparse/src/dparse/parser.d(1549): Error: function `dparse.parser.Parser.parseBaseClassList` cannot inline function
3.309 libdparse/src/dparse/parser.d(5299): Error: function `dparse.parser.Parser.parseOrOrExpression` cannot inline function
3.309 libdparse/src/dparse/parser.d(6949): Error: function `dparse.parser.Parser.parseTemplateArgumentList` cannot inline function
3.312 libdparse/src/dparse/parser.d(5094): Error: function `dparse.parser.Parser.parseMulExpression` cannot inline function
3.312 libdparse/src/dparse/parser.d(5283): Error: function `dparse.parser.Parser.parseOrExpression` cannot inline function
3.312 libdparse/src/dparse/parser.d(788): Error: function `dparse.parser.Parser.parseAsmMulExp` cannot inline function
3.313 libdparse/src/dparse/parser.d(647): Error: function `dparse.parser.Parser.parseAsmEqualExp` cannot inline function
3.313 libdparse/src/dparse/parser.d(869): Error: function `dparse.parser.Parser.parseAsmRelExp` cannot inline function
3.313 libdparse/src/dparse/parser.d(803): Error: function `dparse.parser.Parser.parseAsmOrExp` cannot inline function
3.313 libdparse/src/dparse/parser.d(758): Error: function `dparse.parser.Parser.parseAsmLogAndExp` cannot inline function
3.313 libdparse/src/dparse/parser.d(1095): Error: function `dparse.parser.Parser.parseAsmXorExp` cannot inline function
3.360 makefile:45: recipe for target 'bin/dfmt' failed

As per the README, I also tried with dub build --build=release, but that also fails:

 > [builder 6/6] RUN dub build --build=release:
1.437 Fetching libdparse 0.24.0 (getting selected version)...
2.166 Invalid source/import path: /dfmt/bin
2.166 Invalid variable: DC

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions