aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2020-12-13Added location storage for struct expr fieldsSimplyTheOther2-28/+44
Fixed typo in an enum expr field class
2020-12-13Modified binding power used when parsing expression inside index exprSimplyTheOther1-4/+6
2020-12-13Fixed SimplePath's operator == not being constSimplyTheOther1-1/+1
2020-12-13Attempt to fix array parsing errorsSimplyTheOther4-5/+34
2020-12-10Enhanced dumping of expansionSimplyTheOther1-9/+8
2020-12-10Fixed BlockExpr not being allowed to be emptySimplyTheOther1-8/+8
2020-12-09Fixed formatting to fit gcc styleSimplyTheOther12-3540/+4622
2020-12-09Fixed rust-compile.cc compile errorSimplyTheOther1-2/+2
2020-12-09Merge branch 'master' of https://github.com/redbrain/gccrsSimplyTheOther24-92/+1559
2020-12-09Fixed rust-type-resolution.cc compile errorSimplyTheOther1-1/+1
2020-12-09Changed compiled files in makefile to be identical with upstream - hopefully ↵SimplyTheOther1-1/+2
prevents compile error
2020-12-08Added more cfg stripping codeSimplyTheOther9-84/+336
2020-12-08Added new pattern strippingSimplyTheOther13-270/+1377
Fixed get_locus_slow call in StructPatternField compile error Added and improved cfg stripping Fixed compilation errors
2020-12-08Added more expression cfg strippingSimplyTheOther4-70/+660
Fixed compile errors
2020-12-08Added more expr cfg strippingSimplyTheOther4-56/+409
Fixed compile errors Fixed compile errors relating to block expr visibility changes
2020-12-08Added more expr strippingSimplyTheOther8-83/+316
2020-12-08Added more expression strippingSimplyTheOther6-60/+264
Fixed compile errors and started on enum expr stripping
2020-12-08Added cfg stripping for some expressionsSimplyTheOther9-160/+951
Attempt to fix compile error
2020-12-08Added more cfg-strippingSimplyTheOther2-23/+97
2020-12-08Added more trait item strippingSimplyTheOther8-168/+498
Fixed lack of AST:: prepending in rust-parse-impl.h - should prevent compilation error Fixed expr renaming in Method as_string, should prevent compile error Fixed issue with changing location accessibility for AST nodes Fixed rust-compile.cc not using get_locus() instead of .locus
2020-12-08Added cfg stripping for ExternalItemsSimplyTheOther6-98/+303
Fixed non-renaming of has_variadic_outer_attrs() Fixed old as_string function for ExternalItem Fixed parse_named_function_param arguments
2020-12-08Added strip-marking to statements, items and expressions (to allow them to ↵SimplyTheOther11-852/+1153
be stripped from their parents) Fixed compile errors and added more stripping behaviour for extern blocks
2020-12-08Added cfg stripping code (will top-level strip currently)SimplyTheOther5-136/+184
Rearranged order of definitions in rust-ast.h, should fix compile error Attempted error fix for Attribute-AttrInput interaction and Crate stripping Fixed constructor arguments for MacroExpander
2020-12-08Added proper cfg_attr expansionSimplyTheOther5-34/+86
2020-12-03Type Resolve ReturnExpr's to ensure they match the function type.Philip Herron4-7/+63
This an implementation to check return types for functions it needs work to handle structs and other data structures later on.
2020-12-03We cannot lookup types to ensure they are known as AST::Type differsPhilip Herron1-14/+14
to how struct AST Types. We need to move to HIR to avoid this issue via name resolution.
2020-12-03Add failure tests to rust testsuitePhilip Herron6-25/+39
We need to have test cases for when the compilation should xfail this will help add more tests for name/type resolutions. This is needed as there is a large code changes on the horizon and this will help spot regressions.
2020-12-01GIMPLE coversions for ArrayIndexExpr and Arrays with valuesPhilip Herron6-6/+143
This compiles the ArrayIndexExpressions and Arrays such as: let x = [1,2,3]; let a = x[0]; Addresses: #55
2020-12-01Mark this as a FIXME memory leakPhilip Herron1-0/+1
2020-12-01Ensure the array index is of integer type.Philip Herron1-1/+9
The index expression must be validated to ensure it is an integer. Addresses: #27 #55
2020-12-01Resolve the type from an ArrayIndexExpressionPhilip Herron3-9/+290
Adds new TypeVisitor to resolve Types from the AST via Visitor Pattern, so the element type can be extracted. Addresses: #27 #55
2020-12-01Add Type resolution to Array expressionsPhilip Herron3-14/+180
This adds type inferencing and validation for arrays such as: let x: [i32, 5] = [1,2,3,4,5] ley y = [1,2,3]; It checks that each element is of a valid type and they line up correctly. There needs to be some refactoring of the type resolution to handle the array index expressions so this is a good save point for now. Addresses: #27 #55
2020-11-30Linemap and Backend are both singletonsPhilip Herron1-3/+7
We can only create on linemap instance to avoid missing locations in error diagnostics. We also only need one instance of the backend.
2020-11-28No need to declare Type as inferedType when it is already definedPhilip Herron1-7/+0
In the case where there is no init_expression for a variable declaration and the type was defined on the name we dont need to then assign that the variable was infered.
2020-11-28Use ifdef guards instead of pragma oncePhilip Herron1-1/+4
2020-11-28Fix formatting in MakefilePhilip Herron1-41/+42
2020-11-28Initial TestSuite setup for make check-rustPhilip Herron9-1/+832
This is an initial basic testsuite with one file with expected failures for now.
2020-11-28Remove unused and add FIXMEPhilip Herron2-18/+4
We need to ensure in type resolution pass we fix up the ordering for a struct initilization and give defaults to missing fields.
2020-11-28Added skeleton for macro expansion and added way to convert MetaItems back ↵SimplyTheOther9-193/+209
to Attributes (e.g. for cfg_attr use)
2020-11-28Improved parsing of MatchExpr (and AST structure)SimplyTheOther15-113/+231
Fixed compilation errors Fixed accidental break out of loop when expr_with_block when parsing match expr
2020-11-28Testing some more algorithmic changesSimplyTheOther2-102/+389
Fixed syntax errors
2020-11-28Test even more generic algorithm for parsing in for lifetimesSimplyTheOther2-19/+9
2020-11-28Added more error_at formatting fixesSimplyTheOther4-184/+190
Debug for parsing failure with partially consolidated lifetime parsing More debug for parsing failure Corrected the apparent lack of skip_token in parse_lifetime_param()
2020-11-28Attempt to significantly reduce warning count by modifying error message formatSimplyTheOther3-428/+457
2020-11-28Working on consolidating some other parsing functionsSimplyTheOther2-138/+241
2020-11-28Attempt to consolidate CompoundAssignmentExpr parsingSimplyTheOther2-20/+116
2020-11-28Attempt consolidation of ArithmeticOrLogicalExpr parsingSimplyTheOther2-32/+127
Fixed typo of MODULUS as MODULO
2020-11-28Attempt to fix the ExprWithoutBlock in ExprStmtWithoutBlock issueSimplyTheOther4-126/+191
First step toward consolidation of similar parsing functions (ComparisonExpr in this case) Debug output for apparent parsing failure Attempt to fix problem with non-digit character after 0 being mistaken as non-decimal int literal Attempt to fix incorrect tokenisation of a dot then a decimal Try new implementation of token splitting rather than token replacing
2020-11-28Converted Parser to template in preparation for macro expansionSimplyTheOther7-14106/+14220
2020-11-28Potential modifications to buffered_queue to move when resizing instead of ↵SimplyTheOther3-115/+60
copying - test if works properly Added messages to buffered_queue to debug assertion failure Attempt to fix the buffered_queue issue Removed some debug in buffered_queue