• Daniel Clifford's avatar
    [torque] Compile and error check all inlined macros · 7215f6d6
    Daniel Clifford authored
    Previously, macros that returned true for "ShouldBeInlined" were only
    compiled if they were called, which made it impossible to
    type/semantic check all Torque code (e.g. newly added methods to
    structs). One might argue that all code should be tested (and thus
    through inlining compiled), but for prototyping, the skipped
    compilations were definitely annoying.
    
    As part of this change, added a ShouldGenerateExternalCode method to
    declarables (by default returns !ShouldBeInlined) that makes it
    possible to suppresses C++ code generation for any method. To
    support this at the lowest level, a NullOStream classes is added as
    part of this patch.
    
    Finally, added support for generating C++ for passing structs as label
    parameters to run previously inlined methods through the
    implementation-visitor for non-inlined compilation.
    
    Bug: v8:7793
    Change-Id: I8ce23382e12ddc25f46222c25729c82433040a73
    Reviewed-on: https://chromium-review.googlesource.com/c/1434378
    Commit-Queue: Daniel Clifford <danno@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59134}
    7215f6d6
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...