www.digitalmars.com         C & C++   DMDScript  

D.gnu - bugzilla.gdcproject.org: No confirmation mail; cpuid.d:838:17: error:

reply kdevel <kdevel vogtner.de> writes:
I do not get a confirmation email from bugzilla after entering my 
e-mail address here: 
https://bugzilla.gdcproject.org/createaccount.cgi

I tried to build patched versions of GCC 4.8.5 and 4.9.4 but this 
happened:

.../gcc-4.8.5/libphobos/libdruntime/core/cpuid.d: In function 
'cpuidX86':
.../gcc-4.8.5/libphobos/libdruntime/core/cpuid.d:838:17: error: 
PIC register clobbered by 'ebx' in ' asm'
"cpuid" : "=a" a, "=c" c : "a" 0x8000_0008 : "ebx", "edx";
^

patch branch gdc-4.8 commit 
8b43f71621673c4d0f3f0665c397a1d80d5b434e

and

.../gcc-4.9.4/libphobos/libdruntime/core/cpuid.d: In function 
'cpuidX86':
.../gcc-4.9.4/libphobos/libdruntime/core/cpuid.d:838:17: error: 
PIC register clobbered by 'ebx' in ' asm'
"cpuid" : "=a" a, "=c" c : "a" 0x8000_0008 : "ebx", "edx";
^

patch branch gdc-4.9 commit 
93a9105be173472a9e57aa12c43528ae15d1319c
Feb 19
parent reply Johannes Pfau <nospam example.com> writes:
Am Mon, 19 Feb 2018 19:43:49 +0000
schrieb kdevel <kdevel vogtner.de>:

 I do not get a confirmation email from bugzilla after entering my 
 e-mail address here: 
 https://bugzilla.gdcproject.org/createaccount.cgi
 
 I tried to build patched versions of GCC 4.8.5 and 4.9.4 but this 
 happened:
 
 .../gcc-4.8.5/libphobos/libdruntime/core/cpuid.d: In function 
 'cpuidX86':
 .../gcc-4.8.5/libphobos/libdruntime/core/cpuid.d:838:17: error: 
 PIC register clobbered by 'ebx' in ' asm'
 "cpuid" : "=a" a, "=c" c : "a" 0x8000_0008 : "ebx", "edx";
 ^
 
 patch branch gdc-4.8 commit 
 8b43f71621673c4d0f3f0665c397a1d80d5b434e
 
 and
 
 .../gcc-4.9.4/libphobos/libdruntime/core/cpuid.d: In function 
 'cpuidX86':
 .../gcc-4.9.4/libphobos/libdruntime/core/cpuid.d:838:17: error: 
 PIC register clobbered by 'ebx' in ' asm'
 "cpuid" : "=a" a, "=c" c : "a" 0x8000_0008 : "ebx", "edx";
 ^
 
 patch branch gdc-4.9 commit 
 93a9105be173472a9e57aa12c43528ae15d1319c
Thanks for the report. That's a bug which was for some reason not caught by the CI. I guess it's a i686 only bug and IIRC that isn't tested right now. I'll submit a fix later today or tomorrow. -- Johannes
Feb 20
parent reply kdevel <kdevel%% vogtner.de> writes:
On Wednesday, 21 February 2018 at 07:58:29 UTC, Johannes Pfau 
wrote:
 Am Mon, 19 Feb 2018 19:43:49 +0000
 schrieb kdevel <kdevel vogtner.de>:
[...]
 I'll submit a fix later today or tomorrow.
Great. But one question: Why did I receive an "noreply" notification email to my e-Mail-Address? From the header: From: D Programming Language Forum <no-reply forum.dlang.org> Return-Path: <no-reply forum.dlang.org> Received: from k3.1azy.net (k3.1azy.net [178.33.224.37]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) Subject: Johannes Pfau replied to your post in the thread "bugzilla.gdcproject.org: No confirmation mail; cpuid.d:838:17: error: PIC register clobbered by 'ebx' in ' asm'"
Feb 21
parent reply Johannes Pfau <nospam example.com> writes:
Am Wed, 21 Feb 2018 21:31:41 +0000
schrieb kdevel <kdevel%% vogtner.de>:

 On Wednesday, 21 February 2018 at 07:58:29 UTC, Johannes Pfau 
 wrote:
 Am Mon, 19 Feb 2018 19:43:49 +0000
 schrieb kdevel <kdevel vogtner.de>:  
[...]
 I'll submit a fix later today or tomorrow.  
I've pushed an update to the gdc-4.9 branch. Please report back whether this fixes the issue.
 Great. But one question: Why did I receive an "noreply" 
 notification email to my e-Mail-Address?
I think this has been answered on the D newsgroup. -- Johannes
Feb 22
parent reply kdevel <kdevel vogtner.de> writes:
On Thursday, 22 February 2018 at 19:52:12 UTC, Johannes Pfau 
wrote:
 I've pushed an update to the gdc-4.9 branch. Please report back 
 whether this fixes the issue.
Not really: checking for expf... /scratch/mockbuild1/bld-4.9.4/gcc-4.9.4/libphobos/libdruntime/ ore/cpuid.d:833:45: error: basic type expected, not { version(GNU) pure nothrow nogc { ^ /scratch/mockbuild1/bld-4.9.4/gcc-4.9.4/libphobos/libdruntime/ ore/cpuid.d:833:45: error: no identifier for declarator _error_ version(GNU) pure nothrow nogc { ^ /scratch/mockbuild1/bld-4.9.4/gcc-4.9.4/libphobos/libdruntime/ ore/cpuid.d:835:15: error: found 'else' instead of statement } else asm pure nothrow nogc { ^ /scratch/mockbuild1/bld-4.9.4/gcc-4.9.4/libphobos/libdruntime core/cpuid.d:844:5: error: declaration expected, not 'if' if (max_extended_cpuid >= 0x8000_0004) { ^ /scratch/mockbuild1/bld-4.9.4/gcc-4.9.4/libphobos/libdruntime/ ore/cpuid.d:848:21: error: unexpected ( in declarator gnuCpuid(0x8000_0002, pnb[0], pnb[1], pnb[ 2], pnb[ 3]); ^ /scratch/mockbuild1/bld-4.9.4/gcc-4.9.4/libphobos/libdruntime/ ore/cpuid.d:848:22: error: basic type expected, not 2147483650U gnuCpuid(0x8000_0002, pnb[0], pnb[1], pnb[ 2], pnb[ 3]); ^ /scratch/mockbuild1/bld-4.9.4/gcc-4.9.4/libphobos/libdruntime/ ore/cpuid.d:848:22: error: found '2147483650U' when expecting ')' gnuCpuid(0x8000_0002, pnb[0], pnb[1], pnb[ 2], pnb[ 3]); ...
Feb 22
parent reply Johannes Pfau <nospam example.com> writes:
Am Thu, 22 Feb 2018 21:34:34 +0000
schrieb kdevel <kdevel vogtner.de>:

 On Thursday, 22 February 2018 at 19:52:12 UTC, Johannes Pfau 
 wrote:
 I've pushed an update to the gdc-4.9 branch. Please report back 
 whether this fixes the issue.  
Not really:
Looks like you're at commit c8ccdcfd1abf15b95b64821d5173e79f76c9dafe, which is a broken version I accidentally committed. The next commit, 8a6b7a49ff9d4233e637a6a7e1ca4c1978540060, should fix this problem. -- Johannes
Feb 22
parent reply kdevel <kdevel vogtner.de> writes:
On Friday, 23 February 2018 at 07:48:47 UTC, Johannes Pfau wrote:
 Am Thu, 22 Feb 2018 21:34:34 +0000
 schrieb kdevel <kdevel vogtner.de>:

 On Thursday, 22 February 2018 at 19:52:12 UTC, Johannes Pfau 
 wrote:
 I've pushed an update to the gdc-4.9 branch. Please report 
 back whether this fixes the issue.
Not really:
Looks like you're at commit c8ccdcfd1abf15b95b64821d5173e79f76c9dafe, which is a broken version I accidentally committed. The next commit, 8a6b7a49ff9d4233e637a6a7e1ca4c1978540060, should fix this problem.
It does. Now I have an issue with a language feature. With dmd v2.078.2 this code compiles: void function () [string] disp; static this () { enum typenames = ["float", "double", "real", "short", "int", "long"]; static foreach (s; typenames) { pragma (msg, s); disp[s] = mixin ("&mymain!" ~ s); } } but gdc (GCC 4.9.4) complains: dotbench.d:65:11: Fehler: basic type expected, not foreach static foreach (s; typenames) { ^ dotbench.d:65:11: Fehler: no identifier for declarator _error_ static foreach (s; typenames) { ^
Feb 24
parent reply Johannes Pfau <nospam example.com> writes:
Am Sun, 25 Feb 2018 00:05:44 +0000 schrieb kdevel:
 
 but gdc (GCC 4.9.4) complains:
 
 dotbench.d:65:11: Fehler: basic type expected, not foreach
      static foreach (s; typenames) {
             ^
 dotbench.d:65:11: Fehler: no identifier for declarator _error_
      static foreach (s; typenames) {
             ^
Unfortunately, static foreach is not supported in GDC right now. Maybe we'll get a static foreach backport soon (https://dlang.slack.com/ archives/C6LTP6MV1/p1519419332000480 ), otherwise static foreach will only start working once we switch GDC to the D frontend (https:// github.com/D-Programming-GDC/GDC/pull/550 ). -- Johannes
Feb 25
parent Eugene Wissner <belka caraus.de> writes:
On Sunday, 25 February 2018 at 09:36:51 UTC, Johannes Pfau wrote:
 Am Sun, 25 Feb 2018 00:05:44 +0000 schrieb kdevel:
 
 but gdc (GCC 4.9.4) complains:
 
 dotbench.d:65:11: Fehler: basic type expected, not foreach
      static foreach (s; typenames) {
             ^
 dotbench.d:65:11: Fehler: no identifier for declarator _error_
      static foreach (s; typenames) {
             ^
Unfortunately, static foreach is not supported in GDC right now. Maybe we'll get a static foreach backport soon (https://dlang.slack.com/ archives/C6LTP6MV1/p1519419332000480 ), otherwise static foreach will only start working once we switch GDC to the D frontend (https:// github.com/D-Programming-GDC/GDC/pull/550 ).
I didn't come that far with the backport. Some bugs are very difficult to find (for me) and the D implementation uses some template features that aren't really translatable into pre-C++11 C++. So I'm not sure that I'll finish this. Especially I don't know if it is worth it. It depends how soon gdc will be merged with the upstream.
Feb 26