diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-10-11 22:27:00 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-10-12 12:14:47 +0200 |
commit | 19f6b41a3a12c67ccbc51c5b729954c4ccaf1176 (patch) | |
tree | 03be9f76eee34dcd20a64ded2f171755d177a535 /gcc/d | |
parent | e1b4fbfea6ad24f47279b90aec27ef1512625c80 (diff) | |
download | gcc-19f6b41a3a12c67ccbc51c5b729954c4ccaf1176.zip gcc-19f6b41a3a12c67ccbc51c5b729954c4ccaf1176.tar.gz gcc-19f6b41a3a12c67ccbc51c5b729954c4ccaf1176.tar.bz2 |
d: Merge upstream dmd 3a9790525
Fixes the return codes to match the documentation of
Target::isVectorTypeSupported.
Reviewed-on: https://github.com/dlang/dmd/pull/11830
gcc/d/ChangeLog:
* dmd/MERGE: Merge upstream dmd 3a9790525
* d-target.cc (Target::isVectorTypeSupported): Adjust return codes for
invalid size and invalid base type.
Diffstat (limited to 'gcc/d')
-rw-r--r-- | gcc/d/d-target.cc | 6 | ||||
-rw-r--r-- | gcc/d/dmd/MERGE | 2 | ||||
-rw-r--r-- | gcc/d/dmd/mtype.c | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/gcc/d/d-target.cc b/gcc/d/d-target.cc index 4a38cca..78f1420 100644 --- a/gcc/d/d-target.cc +++ b/gcc/d/d-target.cc @@ -241,7 +241,7 @@ Target::isVectorTypeSupported (int sz, Type *type) { /* Size must be greater than zero, and a power of two. */ if (sz <= 0 || sz & (sz - 1)) - return 2; + return 3; /* __vector(void[]) is treated same as __vector(ubyte[]) */ if (type == Type::tvoid) @@ -249,7 +249,7 @@ Target::isVectorTypeSupported (int sz, Type *type) /* No support for non-trivial types, complex types, or booleans. */ if (!type->isTypeBasic () || type->iscomplex () || type->ty == Tbool) - return 3; + return 2; /* In [simd/vector extensions], which vector types are supported depends on the target. The implementation is expected to only support the vector @@ -258,7 +258,7 @@ Target::isVectorTypeSupported (int sz, Type *type) tree ctype = build_vector_type (build_ctype (type), nunits); if (!targetm.vector_mode_supported_p (TYPE_MODE (ctype))) - return 3; + return 2; return 0; } diff --git a/gcc/d/dmd/MERGE b/gcc/d/dmd/MERGE index 4676645..8a59cbd 100644 --- a/gcc/d/dmd/MERGE +++ b/gcc/d/dmd/MERGE @@ -1,4 +1,4 @@ -e49192807967c6f11252683a731c5a0159ef36da +3a979052509fff8170ba80e48817377a60e78eb3 The first line of this file holds the git revision number of the last merge done from the dlang/dmd repository. diff --git a/gcc/d/dmd/mtype.c b/gcc/d/dmd/mtype.c index 36471557..bc66be0 100644 --- a/gcc/d/dmd/mtype.c +++ b/gcc/d/dmd/mtype.c @@ -3824,12 +3824,12 @@ Type *TypeVector::semantic(Loc loc, Scope *sc) case 1: // no support at all error(loc, "SIMD vector types not supported on this platform"); return terror; - case 2: // invalid size - error(loc, "%d byte vector type %s is not supported on this platform", sz, toChars()); - return terror; - case 3: // invalid base type + case 2: // invalid base type error(loc, "vector type %s is not supported on this platform", toChars()); return terror; + case 3: // invalid size + error(loc, "%d byte vector type %s is not supported on this platform", sz, toChars()); + return terror; default: assert(0); } |