Hi,
This patch changes WITH_LOCAL_DRUNTIME to build with `-fno-druntime'.
The D tests done at configure-time for libphobos don't require a
functional D run-time, so don't enable any run-time features.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, and
committed to mainline.
Excerpts from Jeff Law's message of August 29, 2021 10:55 pm:
>
>
> On 8/29/2021 12:46 PM, Iain Buclaw via Gcc-patches wrote:
>> Hi,
>>
>> The D language has a new bottom type `typeof(*null)'. Null types were
>> also incorrectly being demangled as `none', thi
Hi,
The D language now allows multiple different template declarations in
the same function that have the same mangled name. To make the mangled
names unique, a fake parent in the form `__Sddd' is added to the symbol.
This information is not important for the user, so the demangler now
handles
Hi,
The D language now allows instantiating templates using struct literals
that have function literal fields as a value argument.
Bootstrapped and regression tested on x86_64-linux-gnu.
OK for mainline?
Regards,
Iain.
---
libiberty/ChangeLog:
* d-demangle.c
Hi,
The D language has a new bottom type `typeof(*null)'. Null types were
also incorrectly being demangled as `none', this has been fixed to be
`typeof(null)'.
Bootstrapped and regression tested on x86_64-linux-gnu.
OK for mainline?
Regards,
Iain.
---
libiberty/ChangeLog:
*
Hi,
This patch updates the code generator to call _d_assertp or
_d_arrayboundsp when an assert or array bounds check fails respectively.
These functions accept an `immutable(char)*` instead of an
`immutable(char)[]`. The subtle difference being that the length of the
string no longer has to be
Hi,
This patch updates the comment for TypeInfoVisitor::layout_base to
reflect a recent change that made the emission of a __monitor optional.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32,
committed to mainline.
Regards,
Iain
---
gcc/d/ChangeLog:
* typeinfo.cc
Hi,
This patch replaces ClassFlags and StructFlags with an int. In the D
implementation of the D front-end, this type has been changed to an
`enum class`.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32,
committed to mainline.
Regards,
Iain
---
gcc/d/ChangeLog:
*
Hi
This patch uses build_frontend_type to get the underlying type for
__c_wchar_t. The previous field has been removed from the upstream D
implementation of the D front-end.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32,
committed to mainline.
Regards,
Iain
---
Hi,
This patch replaces the switch statement in convert_for_rvalue with an
if condition. In the D implementation of the D front-end, the condition
value has been changed to an `enum class` type.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32,
committed to mainline.
Regards,
Hi,
This patch removes uses of global.params to get information about the
target. Using POINTER_SIZE is assumed to be reliably set at the point
where predefined version conditions are inserted into the compilation.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32,
committed to
Hi,
User defined types have the TYPE_CXX_ODR_P flag set, but closure frames
did not. This mismatch led to an ICE in the conflict detection for ODR
and interoperable non-ODR types. As a given closure frame is tied
explicitly to a function, it already conforms to ODR.
Bootstrapped and regression
The front-end ensures that both sides have been casted to the same type
before being given to the lowering pass.
gcc/d/ChangeLog:
* expr.cc (binary_op): Remove dead code.
---
gcc/d/expr.cc | 8
1 file changed, 8 deletions(-)
diff --git a/gcc/d/expr.cc b/gcc/d/expr.cc
index
Makes it explicit that the default value is set to NULL.
gcc/d/ChangeLog:
* typeinfo.cc (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)):
Always layout initializer for the m_RTInfo field.
---
gcc/d/typeinfo.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git
This expression is just discarded by add_stmt, so never reaches the
middle-end.
gcc/d/ChangeLog:
* expr.cc (ExprVisitor::visit (AssertExp *)): Don't generate
PREDICT_EXPR.
---
gcc/d/expr.cc | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git
The code block is done as an optimization to elide a call to the runtime
library helpers _d_arrayctor or _d_arrayassign.
gcc/d/ChangeLog:
* expr.cc (ExprVisitor::visit (AssignExp *)): Clarify comment
for generating static array assignment with literal.
---
gcc/d/expr.cc | 6
Anonymous enums neither generate an initializer nor typeinfo symbol, so
it's safe to assert that all enum declarations passed to this function
always have an identifier.
gcc/d/ChangeLog:
* decl.cc (enum_initializer_decl): Only handle named enums.
---
gcc/d/decl.cc | 7 ++-
1 file
It is not expected to have a member function that can be non-public, but
this guards against any internal errors that might occur should that
ever change in the front-end.
gcc/d/ChangeLog:
* decl.cc (make_thunk): Set COMDAT and visibility of thunks only if
they are public.
---
The self-hosted implementation of the D front-end changes the type of
`sinit' to a void pointer, which requires an explicit cast to `tree'.
gcc/d/ChangeLog:
* decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't use sinit
for declaration directly.
(DeclVisitor::visit
The self-hosted implementation of the D front-end does not export
Identifier::generateId, so handle name generation inline instead.
gcc/d/ChangeLog:
* d-builtins.cc (build_frontend_type): Use Identifier::idPool to
generate anonymous field name.
---
gcc/d/d-builtins.cc | 10
This helper introduced by the front-end is a better gate, and allows the
front-end to change rules for what gets a monitor in the future.
gcc/d/ChangeLog:
* types.cc (layout_aggregate_type): Call hasMonitor.
* typeinfo.cc (TypeInfoVisitor::layout_base): Likewise.
Covers cases where functions that handle the extracted strings ignore
the explicit length. This isn't something that's known to happen in the
current front-end, but the self-hosted front-end has been observed to do
this in its conversions between D and C-style strings.
gcc/d/ChangeLog:
This ensures there are no dangling references to AST members that have
been freed, either explcitly or by the garbage collector.
gcc/d/ChangeLog:
* d-builtins.cc (build_frontend_type): Restore builtin_converted_decls
length on conversion failure.
---
gcc/d/d-builtins.cc | 9
Both do the exact same operation, just on different AST nodes.
gcc/d/ChangeLog:
* d-codegen.cc (d_nested_class): Rename to ...
(get_outer_function): ... this. Handle all aggregate declarations.
(d_nested_struct): Remove.
(find_this_tree): Use get_outer_function.
Hi,
This small series of patches are for non-mechanical refactorings of the
D front-end either required to work with the self-hosted version, or
were made during the port to the self-hosted compiler.
Each individual change has been pulled out into its own patch, rather
than lumped together into
Hi,
This patch adds a check to make_frontend_typeinfo to generate a stub
Object class if one doesn't exist in the run-time library.
Having a stub will prevent errors from occuring when compiling D code
with an empty object.d. Though if it were to actually be used
implicitly then an error should
Hi,
C++ constructors return void, even though the D front-end semantic
treats them as implicitly returning `this'. To handle this correctly,
the object reference is cached and used as the result of the expression.
Bootstrapped and regression tested on x86_64-linux-gnu/-mx32/-m32,
committed to
Hi,
When casting from bool, the result is either 0 or 1, any other value
violates @safe code, so enforce that it is never invalid.
This patch does that by lowering rvalue reads into `(bool & 1)'.
Bootstrapped and regression tested on x86_64-linux-gnu/-mx32/-m32,
committed to mainline, and
Hi,
This patch adds a clean-up for removing any generated DI header files
created before semantic analysis was ran.
If an error occurs later during compilation, remember that we generated
the headers, so that they can be removed before exit.
Bootstrapped and regression tested on
Hi,
This patch prepares the escape_d_format function to handle being given a
quoted string. Something that the self-hosted D front-end does with a
new format helper for symbols.
If the format string is enclosed by two '`' characters, then don't
escape the first and laster characters.
There are
Hi,
The use of fold_build2 can in some cases swap the order of its operands
if that is the more optimal thing to do. However this breaks semantic
guarantee of left-to-right evaluation in D.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32.
Committed to mainline, and backported
Hi,
This patch fixes a modulo by zero bug, seen in both the front-end and
code generator when testing if a conversion from a static array to
dynamic array was valid.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32.
Committed to mainline, and backported to the gcc-9, gcc-10, and
Hi,
This patch backports a fix from upstream to allow __FUNCTION__ and
__PRETTY_FUNCTION__ to be used as C string literals.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32.
Committed to mainline, and backported to the gcc-9, gcc-10, and gcc-11
release branches.
Regards,
Iain.
Hi,
In order to allow user-code to determine whether a back-end builtin is
available without error, LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE has been
defined to delay putting back-end builtin functions until the ISA that
defines them has been declared.
However in D, there is no global namespace.
Hi,
This patch fixes a regression introduced by PR100999.
By giving dot templates a type, meant that properry resolving silently
started passing for code that should never have passed. The simple fix
is to provide implementations for checkType and checkValue that give an
error about dot
Hi,
The D front-end semantic pass sometimes declares a temporary inside a
return expression. This is now detected with the RESULT_DECL replacing
the temporary, allowing for RVO to be done.
Patch regression tested on x86_64-linux-gnu/-m32/-mx32, committed to
mainline and backported to
Hi,
This patch forces a target_expr on the RHS of an assignment when it is
a non-POD type.
To prevent the RHS of an assignment modifying the LHS before the
assignment proper, a target_expr is forced so that function calls that
return with slot optimization modify the temporary instead. This
Hi,
This patch improves semantic passes in the front-end around the
`foreach' and `static foreach' statements to be more resilient to
compiling in a minimal D runtime environment. Checking of the index
type has been improved as well so now there won't be needless compiler
errors when using 8 or
Hi,
This patch fixes an ICE in the constructor of TypeInfoDeclaration from
within the D language front-end. Generates a stub TypeInfo class even
if the root Object class is missing. The front-end will take care of
issuing an error and abort the compilation when running semantic on
constructed
Hi,
When looking into fixing PR100967, I noticed that the gcc-9 release
branch first needed a patch to address another issue that didn't
originally get backported from GCC-10.
This fixes segmentation fault in FuncDeclaration::semantic3.
Bootstrapped and regression tested on
Hi,
This patch fixes a compiler error when using a slice copy on structs.
Known limitation: does not work for struct with postblit or dtor.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32,
committed to mainline, and backported to the gcc-9, gcc-10, and gcc-11
release branches.
Hi,
This patch fixes the .alignof property to report the correct alignment
if an explicit one was given for the type.
It was previously the natural type alignment, defined as the maximum of
the field alignments for an aggregate. Make sure an explicit align(N)
overrides it.
Bootstrapped and
Hi,
Constructor calls for temporaries were reusing the TARGET_EXPR_SLOT of a
TARGET_EXPR for an assignment, which later got passed to `build_assign',
which stripped away the outer TARGET_EXPR, leaving a reference to a lone
temporary with no declaration.
This stripping away of the TARGET_EXPR
Excerpts from Iain Buclaw's message of May 19, 2021 5:41 pm:
> Hi,
>
> This is a belated patch which covers some of the more notable changes
> that have gone into the GCC 11 release of the D front-end.
>
> Ran this through the W3 validator and no new warnings are generated.
>
> I will go
Hi,
This is a belated patch which covers some of the more notable changes
that have gone into the GCC 11 release of the D front-end.
Ran this through the W3 validator and no new warnings are generated.
I will go through it a few more times to see if there's anything more
that can be made more
Hi,
This patch updates TypeVisitor in types.cc to use startswith instead of
strncmp.
Bootstrapped and regression tested on x86_64-linux-gnu, and committed to
mainline.
Regards,
Iain.
---
gcc/d/ChangeLog:
* types.cc (TypeVisitor::visit (TypeEnum *)): Use startswith function
Hi,
This patch updates prefixed_path in d-incpath.cc to use filename_ncmp
instead of strncmp.
Bootstrapped and regression tested on x86_64-linux-gnu, and committed to
mainline.
Regards,
Iain.
---
gcc/d/ChangeLog:
* d-incpath.cc (prefixed_path): Use filename_ncmp instead of strncmp.
Hi,
This reverts changes to the DMD front-end in commit
6ba3079dce89d9b63bf5dbd5e320ea2bf96f196b.
Changes were incorrectly committed directly to the GCC repo instead of
the master repository.
Committed to mainline.
Regards,
Iain.
---
gcc/d/ChangeLog:
* dmd/dinterpret.c
Excerpts from Martin Liska's message of March 17, 2021 4:36 pm:
>
> gcc/d/ChangeLog:
>
> * d-builtins.cc (do_build_builtin_fn): Use startswith
> function instead of strncmp.
> * dmd/dinterpret.c (evaluateIfBuiltin): Likewise.
> * dmd/dmangle.c: Likewise.
> *
Excerpts from Lewis Hyatt via Gcc-patches's message of January 29, 2021 4:46 pm:
> Q1: What is the input charset?
> A1:
>
> libcpp: Whatever was passed to -finput-charset (note, for Fortran,
> -finput-charset is not supported though.)
>
> go: Assume UTF-8.
>
> D: UTF-8, UTF-16,
Excerpts from Bernd Edlinger's message of May 14, 2021 12:43 pm:
> Hi Iain,
>
> On 5/14/21 11:55 AM, Iain Buclaw wrote:
>> Excerpts from Bernd Edlinger's message of May 14, 2021 7:19 am:
>>> Hi,
>>>
>>> I've noticed that a couple temp files are leaked after each full
>>> gcc test-suite run.
>>>
Excerpts from Bernd Edlinger's message of May 14, 2021 7:19 am:
> Hi,
>
> I've noticed that a couple temp files are leaked after each full
> gcc test-suite run.
>
> I'd like to fix that by the following patch.
>
>
> Bootstrapped and reg-tested on x86_64-pc-linux-gnu.
> Is it OK for trunk?
>
Hi,
This patch fixes a number of static asserts that were failing on NetBSD,
and the same would have been the case for FreeBSD and DragonFlyBSD as
well. The function declarations were updated to use `const scope', but
the static asserts were not.
Bootstrapped and regression tested on
Hi,
This patch fixes a regression where the qualifier was ignored in an
alias definition if parentheses were not present.
Bootstrapped and regression tested on x86_64-linux-gnu, committed to
mainline and backported to releases/gcc-11.
Regards,
Iain.
---
gcc/d/ChangeLog:
* dmd/MERGE:
Hi,
This patch adjusts the visibility of std.process.searchPathFor so it can
be used from other modules in the phobos library. In particular, this
symbol is used by std.file.thisExePath on OpenBSD.
Bootstrapped and regression tested on x86_64-linux-gnu, committed to
mainline and backported to
Excerpts from Iain Buclaw's message of April 21, 2021 1:35 am:
> Hi,
>
> This patch addresses the raised issue in the RC thread (haven't seen a
> bugzilla PR for it?)
>
> As register names are required for darwin, but not accepted by gas
> unless you use `-mregnames', they have been
Hi,
This patch addresses the raised issue in the RC thread (haven't seen a
bugzilla PR for it?)
As register names are required for darwin, but not accepted by gas
unless you use `-mregnames', they have been conditionally removed on
non-darwin targets.
To avoid duplicating large blocks of almost
Hi,
This patch adjusts the `read_encoded_value_with_base' function in
libphobos to correctly handle unaligned loads. Instead of unsafe
pointer dereferencing, use memcpy() to read encoded values from memory.
The function `read_encoded_value' has been updated to accept a ref
parameter, this
Hi,
This patch fixes an ICE that occurred in the D front-end diagnostic
handlers. The percentage character was being confused for a format
specifier in pp_format(), whilst the backtick character was confused for
the beginning of a quoted string in expand_d_format().
Both are now properly
Hi,
This patch fixes the section support code for libphobos on OpenBSD, this
is enough to get the library built, and most tests will pass now.
Testsuite hasn't been confirmed to pass cleanly just yet, so support for
libphobos on OpenBSD is still considered experimental.
Bootstrapped and
Hi,
This patch fixes the thread support when building libphobos on Darwin,
this is enough to get the library built, and most tests to pass on a
fairly modern platform.
Testsuite hasn't been confirmed to pass cleanly on as broad a targets as
I'd like, so support is still very much experimental.
Hi,
This patch fixes libphobos support when building on MinGW, this is
enough to get the library built, and most tests to pass.
Testsuite haven't been confirmed to pass cleanly, so support is still
very much experimental.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, as
Hi,
This patch merges the D runtime library with upstream druntime 89f870b7,
and phobos e6907ff3e. Synchronizes the C bindings with the latest port
fixes in upstream druntime, and adds a Config.stderrPassThrough enum
member to std.process (fixing PR98494).
Bootstrapped and regression tested on
Hi,
Following up on the fix for PR99914, when testing on MinGW, it was found
not to support weak in the same way as on ELF or Mach-O targets.
So the linkage has been reverted back to COMDAT for that target, however
in order to properly support overriding functions and variables, all
declarations
Hi,
Following on from adding TARGET_D_REGISTER_OS_TARGET_INFO, this adds the
required handlers to implement `__traits(getTargetInfo, "objectFormat")'
for all platforms that have D support files.
Some back-ends (i386, rs6000, and pa) have some awarenes of the what
object format they are compiling
Hi,
This patch removes the setting of all target-specific global.params
flags from the D front-end. Now that all dependencies on these flags
have been removed, there's no need to test and set them.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, and
committed to mainline.
Hi,
This patch moves the call to the newly introduced set_linkage_for_decl
in the D front-end from d_finish_decl to declare_extern_var.
This both prevents against it being called twice for declarations that
are defined, and fixes an issue where variables defined in the
compilation get one kind
Hi,
This patch merges the D front-end implementation with upstream dmd
0450061c8.
D front-end changes:
- Fix ICE in forward referenced type members of structs.
- Fix ICE passing a member template mixin identifier as alias argument.
- Fix ICE when `__traits' prints error involving a
Hi,
This replaces the original and untested support for Windows and OSX, and
is the 90% of the work needed to support libphobos on those targets.
The core.thread interface has been updated to accomodate for the same
function might be implemented by any of the platform-dependent modules.
Hi,
This patch updates libphobs build files to compile with
`-ffunction-sections -fdata-sections' where supported, and sets
SECTION_FLAGS accordingly, to take advantage of the smaller executables
that can be had with `--gc-sections'.
Bootstrapped and regression tested on
Hi,
This patch updates the default flags to explicitly use
`-static-libphobos' in the druntime.exp and phobos.exp test scripts.
Linking to libphobos statically is the default in the driver, however
this may change in future. Be explicit that the static libphobos is
what's being tested.
Hi,
This patch removes is-effective-target from the druntime.exp and
phobos.exp test scripts. These tests aren't compiling with `-static',
they're there to verify that the libphobos is functional when linked in
statically.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, and
Hi,
This patch partially reverts a previous change that removed these flags,
just to satisfy running tests on Solaris.
The fix isn't really correct, what should really be done is that the
test modules are compiled in a way that doesn't conflict with the
release library, which would also allow
This patch updates the GCC attribute support in the D front-end to have
a baseline parity with the LLVM D compiler's own `ldc.attributes'.
The handler that extracts GCC attributes from a list of UDAs has been
improved to take care of some mistakes that could have been warnings.
UDAs attached to
Hi,
This patch adds support for demangling function literals as template
value parameters, as well as adding the new bottom type `typeof(*null)'.
Null types were incorrectly being demangled as `none', this has been
fixed to be `typeof(null)'.
Bootstrapped and regression tested on
Hi,
This patch merges the D front-end implementation with upstream dmd
5cc71ff83, and the Phobos standard library with druntime 1134b710.
D front-end changes:
- Fix ICEs that occurred when using opaque enums.
- Update `pragma(printf)' checking code to work on 16-bit targets.
Phobos change:
Hi,
This patch refactors some code in the code generator to use the
Array::find method to get the index of an element, instead of looping
over the array ourselves.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32 and
committed to mainline.
Regards,
Iain.
---
gcc/d/ChangeLog:
Hi,
This patch increments gaggedWarnings count if a warning or deprecation
message was suppressed. Used by the front-end to catch potential errors
in code that is being compiled in a speculative context.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32 and
committed to
Hi,
This patch fixes a missing call to va_end in getMatchError in the
front-end, merged from upstream dmd d16195406.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32 and
committed to mainline.
Regards,
Iain.
---
gcc/d/ChangeLog:
PR d/99917
* dmd/MERGE: Merge
Hi,
This patch adds TARGET_D_REGISTER_OS_TARGET_INFO as a new D front-end
target hook, implementing `__traits(getTargetInfo, "objectFormat")' for
all targets that have D support files.
This trait was added earlier in the front-end as a stub, however the
target-specific implementation was left
Hi,
This patch adds TARGET_D_REGISTER_CPU_TARGET_INFO as a new D front-end
target hook, implementing `__traits(getTargetInfo, "floatAbi")' for all
targets that have D support files.
This trait was added earlier in the front-end as a stub, however the
target-specific implementation was left out
Hi,
This patch adds TARGET_D_HAS_STDCALL_CONVENTION as a new D front-end
target hook. It replaces the use of the D front-end `is64bit' parameter
in determining whether to insert the "stdcall" function attribute.
It is also used to determine whether `extern(System)' should be the same
as
Hi,
This patch changes the default linkage of templates in the D language to
be DECL_WEAK instead of DECL_ONE_ONLY, if supported. This better
matches the expected override semantics of template symbols compiled to
object code. For example:
module rt.config;
template rt_flag()
{
Hi,
This patch is part of merging the D front-end implementation with
upstream dmd 3b808e838. These changes are specific to the D2 testsuite
in testsuite/gdc.test, and cover all fixes issues.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32 and
committed to mainline.
Regards,
Hi,
This patch removes the symlink added by the fix for PR88041, to support
filesystems where "file link" fails.
Instead, tests are copied from the source tree (i.e: $srcdir/compilable)
into the test base directory ($base_dir/compilable). A dejagnu test
file with all translated test directives
Hi,
This patch adds D_PIE to the list of predefined version conditions when
flag_pie is default, or set by the command-line. Same as the D_PIC
version condition.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, and
committed to mainline.
Regards,
Iain.
---
gcc/d/ChangeLog:
Hi,
This patch defines LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE for the D
front-end, the underlying base type for enumerals are always present in
TREE_TYPE.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, and
committed to mainline.
Regards,
Iain
---
gcc/d/ChangeLog:
*
Hi,
It was noticed that the wrong headers were being included for the
generator programs built for the D front-end. Now COMPILER_FOR_BUILD
and BUILD_COMPILERFLAGS are used to compile them, so that GENERATOR_FILE
will be correctly defined.
Bootstrapped on x86_64-linux-gnu, and committed to
Hi,
This patch removes the per-module wrapper function for calling the DSO
constructor and destructor. The static constructor/destructor list only
ever has one function to call in it, so mark the gdc.dso_ctor and
gdc.dso_dtor functions as static ctor/dtor directly instead.
Bootstrapped and
Hi,
This patch defines IN_TARGET_CODE in all D language support files in the
back-end, to be consistent with other machine-specific files.
Bootstrapped and regression tested on x86_64-linux-gnu, and committed to
mainline as obvious.
Regards,
Iain.
---
gcc/ChangeLog:
*
Hi,
This patch fixes a build issue on sparc64-freebsd targets, all platforms
that could run on SPARC should include this header in order to avoid
errors from memmodel being used in sparc-protos.h.
Bootstrapped on x86_64-freebsd12 and committed to mainline.
Regards
Iain
---
gcc/ChangeLog:
Hi,
The libgdruntime_convenience library was built with `-fversion=Shared',
but the libphobos part wasn't when creating the static library.
As there are no issues compiling in Shared code into the static library,
to avoid mismatches the flag is now always present when --enable-shared
is turned
Hi,
This patch adds necessary backend support for OpenBSD targets so that
all relevant predefined version conditions are available, a prerequesite
for building most parts of libphobos.
Tested gdc by building x86_64-pc-openbsd as a cross compiler, and I've
been doing some preliminary testing on
Hi,
This patch adds necessary backend support for MinGW/Cygwin targets so
that all relevant predefined version conditions are available, a
prerequesite for building most parts of libphobos.
Tested gdc by building x86_64-pc-mingw64 as a cross compiler, before I
commit it to mainline, is there
Excerpts from Iain Sandoe's message of March 13, 2021 6:09 pm:
> Hi Iain,
>
> Iain Buclaw via Gcc-patches wrote:
>
>> This patch fixes an ICE caused by emutls routines generating a weak,
>> non-public symbol for storing the initializer of a weak TLS variable.
>>
&g
Hi,
This patch fixes an ICE caused by emutls routines generating a weak,
non-public symbol for storing the initializer of a weak TLS variable.
In get_emutls_init_templ_addr, only declarations that were DECL_ONE_ONLY
would get a public initializer symbol, ignoring variables that were
declared
Hi,
This patch removes the default initializing of flag_complex_method in
the D front-end. D doesn't need C99-like requirements for complex
multiply and divide, the default set by common.opt is sufficient enough.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, and
committed
Hi,
This patch merges the D front-end implementation with upstream dmd,
fixing a heap-buffer-overflow in checkModFileAlias. The code wrongly
assumed memcmp did not read past the mismatch.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32,
committed to mainline, and backported to
Hi,
This patch is a small tidy-up of the intrinsics.def file to make it
clear that the parameters refer to INTRINSIC and BUILT_IN codes.
Bootstrapped and regression tested on x86_64-linux-gnu, and committed to
mainline.
Regards,
Iain.
---
gcc/d/ChangeLog:
* d-tree.h (DEF_D_INTRINSIC):
Hi,
This patch merges the D front-end implementation with upstream dmd
46133f761, and the D runtime library with upstream druntime 0fd4364c.
Backports built-in function handling from upstream, adding a new
intrinsic `byteswap(ushort)`.
Intrinsic modules have been updated accordingly in the
201 - 300 of 558 matches
Mail list logo