Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to v2.083.0-beta.2 #2878

Merged
merged 21 commits into from
Oct 27, 2018
Merged
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
7776c40
Upgrade frontend & libs to v2.083.0-beta.1
kinke Oct 17, 2018
61a7e40
Add new command-line option `-transition=<dtorfields|14246>`
kinke Oct 19, 2018
ee8f1ff
MSVC: Add support for `pragma(linkerDirective)`
kinke Oct 19, 2018
0bd9a10
Add LDC-specific support for `__traits(getTargetInfo)`
kinke Oct 19, 2018
08be595
dmd-testsuite: Fix runnable/extra-files/cppb.cpp for MSVC
kinke Oct 19, 2018
4a23399
Aim for consistent #includes (order + dir prefix)
kinke Oct 20, 2018
39b46d7
Replace old-school header guards by `#pragma once`
kinke Oct 20, 2018
6fe1324
Restore compilability with LDC ltsmaster/0.17
kinke Oct 20, 2018
a167502
CMake: Some cleanup wrt. include/import dirs
kinke Oct 20, 2018
d248621
Define DUB version to be bundled in packaging/dub_version file
kinke Oct 20, 2018
d450e3d
Move bash_completion.d dir into packaging dir
kinke Oct 20, 2018
a10d97a
Move package README files from ldc-scripts repo into packaging dir
kinke Oct 20, 2018
0fca9b7
Reformat Windows README.txt to 80 cols
kinke Oct 20, 2018
5b97e58
Remove default `import/ldc` import dir (=> object.d in `import`) and …
kinke Oct 20, 2018
65a14d0
druntime/dmd-testsuite: Eliminate LDC-specific CRLF line endings
kinke Oct 20, 2018
776ba6d
AppVeyor: Use Windows line endings for packaged files
kinke Oct 20, 2018
b0ec558
CMake: Only install .d[i] druntime files (no C & ASM files)
kinke Oct 20, 2018
7b7e0e9
MSVC: Prepare for MinGW-w64-based libs support
kinke Oct 26, 2018
c0d269d
Support clang on Windows
kinke Oct 26, 2018
b61d5ea
Upgrade to v2.083.0-beta.2
kinke Oct 26, 2018
7ed187c
[MinGW-w64] druntime: Fall back to compiler-rt implementation of _(_)…
kinke Oct 27, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
7 changes: 2 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -166,8 +166,7 @@ commonSteps: &commonSteps
LDC_INSTALL_DIR=$PWD/ldc2-x64
perl -pi -e s?$LDC_INSTALL_DIR/?%%ldcbinarypath%%/../?g $LDC_INSTALL_DIR/etc/ldc2.conf
cp project/LICENSE $LDC_INSTALL_DIR
git clone https://github.com/ldc-developers/ldc-scripts.git
cp ldc-scripts/ldc2-packaging/pkgfiles/README $LDC_INSTALL_DIR
cp project/packaging/README $LDC_INSTALL_DIR
# Now rename the installation dir to test portability.
NEW_LDC_INSTALL_DIR=$PWD/ldc2-install
mv $LDC_INSTALL_DIR $NEW_LDC_INSTALL_DIR
@@ -201,7 +200,7 @@ commonSteps: &commonSteps
export DMD=$LDC_INSTALL_DIR/bin/ldmd2
git clone --recursive https://github.com/dlang/dub.git
cd dub
git checkout $DUB_VERSION
git checkout "$(cat ../project/packaging/dub_version)"
if [ -z "$CIRCLE_TAG" ]; then
# FIXME: dub is built with `-g -O`, which leads to issue #2361 with enabled
# assertions, at least on Linux. So strip `-g` for untagged builds.
@@ -282,7 +281,6 @@ jobs:
- LLVM_VERSION: 7.0.0
- HOST_LDC_VERSION: 1.10.0
- EXTRA_CMAKE_FLAGS: "-DMULTILIB=ON -DBUILD_LTO_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++ -DLDC_INSTALL_LTOPLUGIN=ON -DLDC_INSTALL_LLVM_RUNTIME_LIBS=ON"
- DUB_VERSION: v1.11.0
build-osx:
<<: *commonSteps
macos:
@@ -295,7 +293,6 @@ jobs:
- HOST_LDC_VERSION: 1.10.0
- BOOTSTRAP_CMAKE_FLAGS: "-DCMAKE_CXX_FLAGS='-stdlib=libc++' -DCMAKE_EXE_LINKER_FLAGS=-lc++"
- EXTRA_CMAKE_FLAGS: "-DMULTILIB=ON -DBUILD_LTO_LIBS=ON -DCMAKE_CXX_FLAGS='-stdlib=libc++' -DCMAKE_EXE_LINKER_FLAGS=-lc++"
- DUB_VERSION: v1.11.0

workflows:
version: 2
74 changes: 22 additions & 52 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -62,11 +62,11 @@ endfunction()
#

# Version information
set(LDC_VERSION "1.12.0") # May be overridden by git hash tag
set(LDC_VERSION "1.13.0") # May be overridden by git hash tag
set(DMDFE_MAJOR_VERSION 2)
set(DMDFE_MINOR_VERSION 0)
set(DMDFE_PATCH_VERSION 82)
set(DMDFE_FIX_LEVEL 1) # Comment out if not used
set(DMDFE_PATCH_VERSION 83)
set(DMDFE_FIX_LEVEL 0) # Comment out if not used

set(DMD_VERSION ${DMDFE_MAJOR_VERSION}.${DMDFE_MINOR_VERSION}${DMDFE_PATCH_VERSION})
if(DEFINED DMDFE_FIX_LEVEL)
@@ -99,7 +99,6 @@ if(D_VERSION EQUAL 1)
message(FATAL_ERROR "D version 1 is no longer supported.
Please consider using D version 2 or checkout the 'd1' git branch for the last version supporting D version 1.")
elseif(D_VERSION EQUAL 2)
set(DDMDFE_PATH dmd)
set(LDC_EXE ldc2)
set(LDMD_EXE ldmd2)
set(LDCPROFDATA_EXE ldc-profdata)
@@ -113,11 +112,6 @@ set(LDC_EXE_NAME ${PROGRAM_PREFIX}${LDC_EXE}${PROGRAM_SUFFIX})
set(LDMD_EXE_NAME ${PROGRAM_PREFIX}${LDMD_EXE}${PROGRAM_SUFFIX})
set(LDCPROFDATA_EXE_NAME ${PROGRAM_PREFIX}${LDCPROFDATA_EXE}${PROGRAM_SUFFIX})

file(MAKE_DIRECTORY
${PROJECT_BINARY_DIR}
${PROJECT_BINARY_DIR}/${DDMDFE_PATH}
)

# Setup D compiler flags (DMD syntax, which also works with LDMD).
set(DDMD_DFLAGS "-wi")
set(DDMD_LFLAGS "")
@@ -174,14 +168,17 @@ if(MSVC)
endforeach()
endif()

append("-J${PROJECT_SOURCE_DIR}/${DDMDFE_PATH} -J${PROJECT_SOURCE_DIR}/res" DDMD_DFLAGS) # Needed for importing text files
append("-J${PROJECT_SOURCE_DIR}/res" DDMD_DFLAGS) # Needed for importing text files
string(STRIP "${DDMD_DFLAGS}" DDMD_DFLAGS)

# Use separate compiler flags for the frontend and for the LDC-specific parts,
# as enabling warnings on the DMD frontend only leads to a lot of clutter in
# the output (LLVM_CXXFLAGS sometimes already includes -Wall).
set(LDC_CXXFLAGS)
if(CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang"))
if(NOT MSVC) # not for Windows-clang
append("-Wall -Wextra" LDC_CXXFLAGS)
endif()
# Disable some noisy warnings:
# * -Wunused-parameter triggers for LLVM headers
# * -Wmissing-field-initializer leads to reams of warnings in gen/asm-*.h
@@ -192,7 +189,7 @@ if(CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang"))
# * -Wgnu-anonymous-struct and -Wnested-anon-types trigger for tokens.h.
# * -Wgnu-redeclared-enum triggers for various frontend headers.
# * -Wunused-private-field triggers for expression.h.
append("-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-non-virtual-dtor" LDC_CXXFLAGS)
append("-Wno-unused-parameter -Wno-missing-field-initializers -Wno-non-virtual-dtor" LDC_CXXFLAGS)
if ((${CMAKE_CXX_COMPILER_ID} MATCHES "Clang"))
append("-Wno-gnu-anonymous-struct -Wno-nested-anon-types -Wno-gnu-redeclared-enum -Wno-unused-private-field" LDC_CXXFLAGS)
# clang trying to eagerly anticipate linker errors wrt. static class template
@@ -203,7 +200,8 @@ if(CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang"))
if(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS "4.7.0")
append("-Wno-pedantic" LDC_CXXFLAGS)
endif()
elseif(MSVC)
endif()
if(MSVC)
# Remove flags here, for exceptions and RTTI.
# CL.EXE complains to override flags like "/GR /GR-".
string(REGEX REPLACE "(^| )[/-]EH[-cs]*( |$)" "\\2" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
@@ -240,11 +238,6 @@ endif()
append("${SANITIZE_CXXFLAGS}" LDC_CXXFLAGS)
# LLVM_CXXFLAGS may contain -Werror which causes compile errors with dmd source
string(REPLACE "-Werror " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
# LLVM_CXXFLAGS may contain -Werror=unguarded-availability-new which requires
# more recent gcc versions (not supported by 4.9)
if(CMAKE_COMPILER_IS_GNUCXX)
string(REPLACE "-Werror=unguarded-availability-new " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
endif()
if (UNIX AND NOT "${LLVM_LDFLAGS}" STREQUAL "")
# LLVM_LDFLAGS may contain -l-lld which is a wrong library reference (AIX)
string(REPLACE "-l-lld " "-lld " LLVM_LDFLAGS ${LLVM_LDFLAGS})
@@ -262,17 +255,6 @@ if(MSVC)
else()
separate_arguments(LLVM_LDFLAGS UNIX_COMMAND "${LLVM_LDFLAGS}")
endif()
# LLVM_CXXFLAGS may contain -Wcovered-switch-default and -fcolor-diagnostics
# which are clang-only options
if(CMAKE_COMPILER_IS_GNUCXX)
string(REPLACE "-Wcovered-switch-default " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
string(REPLACE "-fcolor-diagnostics " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
endif()
# LLVM_CXXFLAGS may contain -Wno-maybe-uninitialized
# which is gcc-only options
if(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
string(REPLACE "-Wno-maybe-uninitialized " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
endif()


#
@@ -310,8 +292,8 @@ configure_file(driver/ldc-version.cpp.in driver/ldc-version.cpp)

# Also add the header files to the build so that they are available in IDE
# project files generated via CMake.
file(GLOB_RECURSE FE_SRC_D ${DDMDFE_PATH}/*.d)
file(GLOB_RECURSE FE_HDR ${DDMDFE_PATH}/*.h)
file(GLOB_RECURSE FE_SRC_D dmd/*.d)
file(GLOB_RECURSE FE_HDR dmd/*.h)
file(GLOB_RECURSE FE_RES res/*.*)
file(GLOB_RECURSE GEN_SRC gen/*.cpp)
file(GLOB_RECURSE GEN_HDR gen/*.h)
@@ -360,9 +342,9 @@ set(DRV_HDR
driver/toobj.h
driver/tool.h
)
# exclude man.d
# exclude man.d from ldc (only required by ldmd)
list(REMOVE_ITEM FE_SRC_D
${PROJECT_SOURCE_DIR}/${DDMDFE_PATH}/root/man.d
${PROJECT_SOURCE_DIR}/dmd/root/man.d
)
# exclude ldmd.d from ldc
list(REMOVE_ITEM DRV_SRC_D
@@ -382,8 +364,8 @@ set(LDC_D_SOURCE_FILES
${IR_SRC_D}
)

source_group("Source Files\\${DDMDFE_PATH}" FILES ${FE_SRC_D})
source_group("Header Files\\${DDMDFE_PATH}" FILES ${FE_HDR})
source_group("Source Files\\dmd" FILES ${FE_SRC_D})
source_group("Header Files\\dmd" FILES ${FE_HDR})
source_group("Source Files\\gen" FILES ${GEN_SRC} ${GEN_SRC_D})
source_group("Header Files\\gen" FILES ${GEN_HDR})
source_group("Source Files\\ir" FILES ${IR_SRC} ${IR_SRC_D})
@@ -414,21 +396,9 @@ message(STATUS "Building LDC with dynamic compilation support: ${LDC_DYNAMIC_COM
# Includes, defines.
#

include_directories(
.
${DDMDFE_PATH}
${DDMDFE_PATH}/root
${PROJECT_BINARY_DIR}/${DDMDFE_PATH}
${PROJECT_SOURCE_DIR}
)
include_directories( SYSTEM
${LLVM_INCLUDE_DIRS}
)
include_directories(. dmd)
append("-I${PROJECT_SOURCE_DIR}" DDMD_DFLAGS)
append("-I${PROJECT_BINARY_DIR}" DDMD_DFLAGS)
if(MSVC)
include_directories(${PROJECT_SOURCE_DIR}/vcbuild)
endif()

if(MSVC)
append("-version=IN_LLVM_MSVC" DDMD_DFLAGS)
@@ -677,7 +647,7 @@ function(build_d_executable output_exe compiler_args linker_args compile_deps li
endif()
add_custom_command(
OUTPUT ${object_file}
COMMAND ${D_COMPILER} -c ${dflags} -I${PROJECT_SOURCE_DIR}/${DDMDFE_PATH} -of${object_file} ${compiler_args}
COMMAND ${D_COMPILER} -c ${dflags} -of${object_file} ${compiler_args}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
DEPENDS ${compile_deps}
)
@@ -707,7 +677,7 @@ if(MSVC_IDE)
separate_arguments(LDC_FLAG_LIST WINDOWS_COMMAND "${LDC_TRANSLATED_LINKER_FLAGS} ${D_COMPILER_FLAGS} ${DDMD_DFLAGS} ${DDMD_LFLAGS}")
add_custom_command(
OUTPUT ${LDC_EXE_FULL}
COMMAND ${D_COMPILER} -L$<TARGET_LINKER_FILE:${LDC_LIB}> ${LDC_FLAG_LIST} -I${PROJECT_SOURCE_DIR}/${DDMDFE_PATH} -of${LDC_EXE_FULL} ${LDC_D_SOURCE_FILES} $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:-g> $<$<NOT:$<CONFIG:Debug>>:-O> $<$<NOT:$<CONFIG:Debug>>:-inline> $<$<NOT:$<CONFIG:Debug>>:-release>
COMMAND ${D_COMPILER} -L$<TARGET_LINKER_FILE:${LDC_LIB}> ${LDC_FLAG_LIST} -of${LDC_EXE_FULL} ${LDC_D_SOURCE_FILES} $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:-g> $<$<NOT:$<CONFIG:Debug>>:-O> $<$<NOT:$<CONFIG:Debug>>:-inline> $<$<NOT:$<CONFIG:Debug>>:-release>
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
DEPENDS ${LDC_D_SOURCE_FILES} ${FE_RES} ${LDC_LIB}
)
@@ -739,7 +709,7 @@ if (HAVE_SC_ARG_MAX)
endif()

set_source_files_properties(driver/exe_path.cpp driver/ldmd.cpp driver/response.cpp PROPERTIES
COMPILE_FLAGS "${LDC_CXXFLAGS} ${LLVM_CXXFLAGS}"
COMPILE_FLAGS "${LLVM_CXXFLAGS} ${LDC_CXXFLAGS}"
COMPILE_DEFINITIONS LDC_EXE_NAME="${LDC_EXE_NAME}"
)

@@ -751,7 +721,7 @@ set_target_properties(
ARCHIVE_OUTPUT_NAME ldmd
LIBRARY_OUTPUT_NAME ldmd
)
set(LDMD_D_SOURCE_FILES ${DDMDFE_PATH}/root/man.d driver/ldmd.d)
set(LDMD_D_SOURCE_FILES dmd/root/man.d driver/ldmd.d)
build_d_executable(
"${LDMD_EXE_FULL}"
"${LDMD_D_SOURCE_FILES}"
@@ -955,7 +925,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
endif()
endif()
endif()
install(DIRECTORY bash_completion.d/ DESTINATION ${BASH_COMPLETION_COMPLETIONSDIR})
install(DIRECTORY packaging/bash_completion.d/ DESTINATION ${BASH_COMPLETION_COMPLETIONSDIR})
endif()

#
11 changes: 4 additions & 7 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -15,16 +15,14 @@ environment:
LLVM_VERSION: 7.0.0
HOST_LDC_VERSION: 1.10.0
EXTRA_CMAKE_FLAGS: -DBUILD_LTO_LIBS=ON
DUB_VERSION: v1.11.0
- APPVEYOR_JOB_ARCH: x86
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
LLVM_VERSION: 7.0.0
HOST_LDC_VERSION: 1.10.0
DUB_VERSION: v1.11.0

# scripts that are called at very beginning, before repo cloning
init:
- git config --global core.autocrlf input
- git config --global core.autocrlf true

# scripts that run after cloning repository
install:
@@ -158,9 +156,8 @@ after_test:
cd "$ldcInstallDir"
(cat etc\ldc2.conf).replace("C:/projects/ldc2-$Env:APPVEYOR_JOB_ARCH/", '%%ldcbinarypath%%/../') | Set-Content etc\ldc2.conf
cd ..
cp ldc/LICENSE "$ldcInstallDir"
git clone https://github.com/ldc-developers/ldc-scripts.git
cp ldc-scripts\ldc2-packaging\pkgfiles\README.txt "$ldcInstallDir"
cp ldc\LICENSE "$ldcInstallDir"
cp ldc\packaging\README.txt "$ldcInstallDir"
cp libcurl\ldc2\libcurl.dll "$ldcInstallDir\bin"
cp libcurl\ldc2\libcurl.dll "$ldcInstallDir\lib"
cp libcurl\ldc2\curl.lib "$ldcInstallDir\lib"
@@ -187,7 +184,7 @@ after_test:
Set-Item -path env:DC -value "$ldcInstallDir\bin\ldmd2"
git clone --recursive https://github.com/dlang/dub.git
cd dub
git checkout $Env:DUB_VERSION
git checkout "$(cat ..\ldc\packaging\dub_version -Raw)"
(cat build.cmd).replace('curl.lib', "$ldcInstallDir\lib\curl.lib") | Set-Content build.cmd
.\build.cmd
cp bin\dub.exe "$ldcInstallDir\bin"
31 changes: 17 additions & 14 deletions cmake/Modules/FindLLVM.cmake
Original file line number Diff line number Diff line change
@@ -32,8 +32,6 @@ set(llvm_config_names llvm-config-6.0 llvm-config60
llvm-config-5.0 llvm-config50
llvm-config-4.0 llvm-config40
llvm-config-3.9 llvm-config39
llvm-config-3.8 llvm-config38
llvm-config-3.7 llvm-config37
llvm-config)
find_program(LLVM_CONFIG
NAMES ${llvm_config_names}
@@ -109,15 +107,10 @@ else()
# The LLVM version string _may_ contain a git/svn suffix, so cut that off
string(SUBSTRING "${LLVM_VERSION_STRING}" 0 5 LLVM_VERSION_BASE_STRING)

if(${LLVM_VERSION_STRING} MATCHES "^3\\.[0-8][\\.0-9A-Za-z]*")
# Versions below 3.9 do not support components debuginfocodeview, globalisel
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "debuginfocodeview" index)
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "globalisel" index)
endif()
if(NOT ${LLVM_VERSION_STRING} MATCHES "^3\\.[0-7][\\.0-9A-Za-z]*")
# Versions beginning with 3.8 do not support component ipa
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "ipa" index)
endif()
# Versions below 3.9 do not support components debuginfocodeview, globalisel, ipa
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "debuginfocodeview" index)
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "globalisel" index)
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "ipa" index)
if(${LLVM_VERSION_STRING} MATCHES "^3\\.[0-9][\\.0-9A-Za-z]*")
# Versions below 4.0 do not support component debuginfomsf
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "debuginfomsf" index)
@@ -155,14 +148,24 @@ endif()

# On CMake builds of LLVM, the output of llvm-config --cxxflags does not
# include -fno-rtti, leading to linker errors. Be sure to add it.
if(CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang"))
if(NOT MSVC AND (CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")))
if(NOT ${LLVM_CXXFLAGS} MATCHES "-fno-rtti")
set(LLVM_CXXFLAGS "${LLVM_CXXFLAGS} -fno-rtti")
endif()
endif()
# GCC (at least on Travis) does not know the -Wstring-conversion flag, so remove it.

# Remove some clang-specific flags for gcc.
if(CMAKE_COMPILER_IS_GNUCXX)
STRING(REGEX REPLACE "-Wstring-conversion" "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
string(REPLACE "-Wcovered-switch-default " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
string(REPLACE "-Wstring-conversion " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
string(REPLACE "-fcolor-diagnostics " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
# this requires more recent gcc versions (not supported by 4.9)
string(REPLACE "-Werror=unguarded-availability-new " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
endif()

# Remove gcc-specific flags for clang.
if(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
string(REPLACE "-Wno-maybe-uninitialized " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
endif()

string(REGEX REPLACE "([0-9]+).*" "\\1" LLVM_VERSION_MAJOR "${LLVM_VERSION_STRING}" )
14 changes: 7 additions & 7 deletions dmd/access.d
Original file line number Diff line number Diff line change
@@ -130,7 +130,7 @@ private bool isAccessible(Dsymbol smember, Dsymbol sfunc, AggregateDeclaration d
* type of the 'this' pointer used to access smember.
* Returns true if the member is not accessible.
*/
extern (C++) bool checkAccess(AggregateDeclaration ad, Loc loc, Scope* sc, Dsymbol smember)
bool checkAccess(AggregateDeclaration ad, Loc loc, Scope* sc, Dsymbol smember)
{
FuncDeclaration f = sc.func;
AggregateDeclaration cdscope = sc.getStructClassScope();
@@ -383,7 +383,7 @@ private bool hasPrivateAccess(AggregateDeclaration ad, Dsymbol smember)
* Check access to d for expression e.d
* Returns true if the declaration is not accessible.
*/
extern (C++) bool checkAccess(Loc loc, Scope* sc, Expression e, Declaration d)
bool checkAccess(Loc loc, Scope* sc, Expression e, Declaration d)
{
if (sc.flags & SCOPE.noaccesscheck)
return false;
@@ -446,7 +446,7 @@ extern (C++) bool checkAccess(Loc loc, Scope* sc, Expression e, Declaration d)
* (see https://issues.dlang.org/show_bug.cgi?id=313).
*
*/
extern (C++) bool checkAccess(Loc loc, Scope* sc, Package p)
bool checkAccess(Loc loc, Scope* sc, Package p)
{
if (sc._module == p)
return false;
@@ -471,7 +471,7 @@ extern (C++) bool checkAccess(Loc loc, Scope* sc, Package p)
* s = symbol to check for visibility
* Returns: true if s is visible in mod
*/
extern (C++) bool symbolIsVisible(Module mod, Dsymbol s)
bool symbolIsVisible(Module mod, Dsymbol s)
{
// should sort overloads by ascending protection instead of iterating here
s = mostVisibleOverload(s);
@@ -489,7 +489,7 @@ extern (C++) bool symbolIsVisible(Module mod, Dsymbol s)
/**
* Same as above, but determines the lookup module from symbols `origin`.
*/
extern (C++) bool symbolIsVisible(Dsymbol origin, Dsymbol s)
bool symbolIsVisible(Dsymbol origin, Dsymbol s)
{
return symbolIsVisible(origin.getAccessModule(), s);
}
@@ -503,7 +503,7 @@ extern (C++) bool symbolIsVisible(Dsymbol origin, Dsymbol s)
* s = symbol to check for visibility
* Returns: true if s is visible by origin
*/
extern (C++) bool symbolIsVisible(Scope *sc, Dsymbol s)
bool symbolIsVisible(Scope *sc, Dsymbol s)
{
s = mostVisibleOverload(s);
return checkSymbolAccess(sc, s);
@@ -518,7 +518,7 @@ extern (C++) bool symbolIsVisible(Scope *sc, Dsymbol s)
* s = symbol to check for visibility
* Returns: true if s is visible by origin
*/
extern (C++) bool checkSymbolAccess(Scope *sc, Dsymbol s)
bool checkSymbolAccess(Scope *sc, Dsymbol s)
{
final switch (s.prot().kind)
{
Loading