Commit graph

2496 commits

Author SHA1 Message Date
Walter Bright
e132fb4d3a
more of AArch64 cdcvt implemented (#20814) 2025-02-03 14:35:54 +08:00
Walter Bright
6a51337ad0
detail work on double to integer conversion (#20810) 2025-02-02 15:57:54 +08:00
Walter Bright
f9f4048aed
add Arm conversions of double to integral (#20809) 2025-02-01 18:31:40 -08:00
Dennis
be8668e938
Shrink Loc from 12 to 4 bytes (#20777) 2025-02-01 07:45:36 +08:00
Dennis
d29e3eca45
Remove reference to _d_arrayassign in errors (#20808) 2025-01-31 00:08:38 +01:00
Dennis
0ecefd78ef
Improve error messages for missing opCmp / opEquals (#20806) 2025-01-30 23:31:36 +01:00
Dennis
193b71e546
Refactor opover.d to improve style (#20807) 2025-01-31 06:26:17 +08:00
Dennis
f4558fe0fd
Move toChars overrides to hdrgen.d (#20804) 2025-01-30 23:25:37 +01:00
Dennis
bfbac11136
Don't expose internal names in errors (#20803) 2025-01-30 21:49:50 +08:00
Dennis
a05ac96299
Remove dead debug/version level logic (#20802) 2025-01-30 21:04:33 +08:00
Dennis
06d0cfe2ba
Improve error messages for opUnary (#20801) 2025-01-30 19:44:05 +08:00
Dennis
06e0096aca
Improve opOpAssign error messages (#20800) 2025-01-30 15:04:17 +08:00
Dennis
28bc5c6e74
Fix #20763 - Inconsistent handling of type + value in typeof expressions (#20798)
* Fix #20763 - Inconsistent handling of type + value in typeof expressions

* Add supplemental error

---------

Co-authored-by: Dennis Korpel <dennis@sarc.nl>
2025-01-29 11:26:01 +01:00
Walter Bright
3b863b9c28 implement cdnot() for AArch64 2025-01-29 11:03:03 +01:00
Dennis
9709375650
Replace C pointer syntax with D (#20799) 2025-01-29 00:00:08 +01:00
Dennis
17ad9f98a1
Move Expression.checkValue to expressionsem.d (#20797) 2025-01-28 23:33:28 +01:00
Dennis
acaa88abee
Check array types with new isStaticOrDynamicArray function (#20795)
* Check array types with new `isStaticOrDynamicArray` function

* Make isStaticOrDynamicArray extern (D)
2025-01-28 19:45:36 +01:00
Dennis
84c7b040b0
expressionsem.d: Combine redundant branches (#20796)
Co-authored-by: Dennis Korpel <dennis@sarc.nl>
2025-01-28 15:35:17 +01:00
Dennis
c3da7f0747
opover.d: Refactor pattern matching with isXXX (#20794)
Co-authored-by: Dennis Korpel <dennis@sarc.nl>
2025-01-28 13:50:11 +01:00
Dennis
a55dff5f28
Improve opIndex/opSlice error messages (#20791) 2025-01-28 18:44:46 +08:00
Dennis
cfd2dde588
opover.d: refactor common DotTemplateInstanceExp creation logic (#20792) 2025-01-28 10:32:17 +01:00
Dennis
ea9ead9cae
Improve opBinary error messages (#20789) 2025-01-28 06:23:30 +08:00
Walter Bright
2ca7960029
implement cdpopcnt for AArch64 (#20787) 2025-01-27 22:33:15 +08:00
Dennis
b289b6a6dc
Refactor use of Loc/SourceLoc (#20785) 2025-01-26 14:06:14 +01:00
Walter Bright
b2c9da1337 add more instructions to INSTR 2025-01-26 11:56:14 +01:00
Dennis
0ce59518ed
Reduce size of StructLiteralExp (#20779) 2025-01-25 22:56:11 +01:00
Dennis
756e2153d8
Fix astbase.d deprecation warnings (#20778) 2025-01-26 05:42:01 +08:00
Walter Bright
128d56dd04
disassembler addv instruction (#20776) 2025-01-25 19:29:48 +08:00
Walter Bright
ab76473eb7
disassemble cnt, fmov and uaddlv (#20775) 2025-01-25 13:31:37 +08:00
Dennis
8fafb9c8bb
Remove BinExp.att fields (#20774) 2025-01-25 05:35:13 +08:00
Dennis
e576b8b38d
backend: remove unused C++ enums (#20773) 2025-01-25 05:34:29 +08:00
Dennis
cb31f45e15
Remove references to D1 opDot (#20772) 2025-01-24 12:00:29 +01:00
Dennis
e5bd2d06aa
Rename Id.index to Id.opIndex etc. (#20771) 2025-01-24 11:31:25 +01:00
Dennis
3166ce1646
opover.d: deduplicate tryAliasThisForLhs and checkAliasThisForLhs (#20766) 2025-01-23 23:53:21 +01:00
Dennis
be6a7bb529
Fix #20730 - print SymOff with unsigned offset (#20769) 2025-01-24 06:13:11 +08:00
Dennis
5f47410afc
opover.d: simplify opOverloadAssign and search_function (#20765) 2025-01-24 05:52:29 +08:00
Dennis
1a9848a5c3
Fix rebase of checkArithmetic (#20767) 2025-01-23 16:45:58 +01:00
Dennis
864b5747e6
Move Expression.checkXXX functions to expressionsem.d (#20764) 2025-01-23 21:48:47 +08:00
Dennis Korpel
279f3054bf Short-circuit checkArithmeticBin when lhs is an error 2025-01-23 20:59:30 +08:00
Dennis Korpel
8358e6d33f Move AddExp type check from typeCombine to expressionSemantic 2025-01-23 20:59:30 +08:00
Dennis
81fce27bed
Deduplicate binary overload function selection (#20759) 2025-01-23 15:41:38 +08:00
Walter Bright
91fb90932b
some reorganizing of instruction patterns (#20761) 2025-01-23 15:24:13 +08:00
Dennis
94b6c3223d
Perform binSemanticProp in opOverloadBinary (#20757) 2025-01-23 00:36:31 +01:00
Dennis
a12022b676
Remove redundant BinExp semantic type check (#20755) 2025-01-23 06:34:15 +08:00
Dennis
9d9056b717
Separate visit() functions from op_overload (#20754)
* Separate visit() functions from op_overload
2025-01-22 15:25:13 +01:00
Nicholas Wilson
c3510723c2
[expressionsem.d] factorise some commonalities of BinExp semantic (#17013)
* [expressionsem.d] factorise some commonalities of BinExp semantic

* Fix missing ModExp vector check

---------

Co-authored-by: Dennis Korpel <dkorpel@gmail.com>
2025-01-22 10:49:01 +01:00
Dennis
096c9c1528
Make delete an identifier instead of keyword (#20745) 2025-01-21 23:33:50 +01:00
Dennis
f60fc38312
opover.d: Separate and simplify BinExp/AssignExp cases (#20750) 2025-01-21 23:09:44 +01:00
Dennis
67f9847622
Move class __cmp lowering to opover.d (#20749)
* Move class __cmp lowering to opover.d

* Use early returns in opover.visitCmp

---------

Co-authored-by: Dennis Korpel <dennis@sarc.nl>
2025-01-22 05:05:48 +08:00
0-v-0
71213dfbf8
Remove redundant else (#20751) 2025-01-22 05:03:42 +08:00