-
Notifications
You must be signed in to change notification settings - Fork 192
Open
Description
(Yes, I know this issue is inherited from n64decomp/sm64, but I don't think that repo's maintained anymore)
I'm running Arch Linux with every package on the latest version. I have a MIPS64 toolchain and all of the sm64 dependencies installed. During the "building tools" part of the build, this happens:
Building tools...
armips.cpp:1924:22: error: ‘uint8_t’ has not been declared
1924 | bool writeU8(uint8_t data);
| ^~~~~~~
armips.cpp:1606:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
1605 | #include <list>
+++ |+#include <cstdint>
1606 |
armips.cpp:1925:23: error: ‘uint16_t’ has not been declared
1925 | bool writeU16(uint16_t data);
| ^~~~~~~~
armips.cpp:1925:23: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:1926:23: error: ‘uint32_t’ has not been declared
1926 | bool writeU32(uint32_t data);
| ^~~~~~~~
armips.cpp:1926:23: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:1927:23: error: ‘uint64_t’ has not been declared
1927 | bool writeU64(uint64_t data);
| ^~~~~~~~
armips.cpp:1927:23: note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:2332:9: error: ‘uint32_t’ does not name a type
2332 | uint32_t opcode;
| ^~~~~~~~
armips.cpp:2332:9: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:2349:42: error: ‘uint32_t’ has not been declared
2349 | RelocationAction(int64_t offset, uint32_t newValue) : offset(offset), newValue(newValue) {}
| ^~~~~~~~
armips.cpp:2349:42: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:2351:9: error: ‘uint32_t’ does not name a type
2351 | uint32_t newValue;
| ^~~~~~~~
armips.cpp:2351:9: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp: In constructor ‘RelocationAction::RelocationAction(int64_t, int)’:
armips.cpp:2349:79: error: class ‘RelocationAction’ does not have any field named ‘newValue’
2349 | RelocationAction(int64_t offset, uint32_t newValue) : offset(offset), newValue(newValue) {}
| ^~~~~~~~
armips.cpp: In member function ‘void CMipsInstruction::encodeNormal() const’:
armips.cpp:3958:34: error: ‘uint32_t’ was not declared in this scope
3958 | g_fileManager->writeU32((uint32_t)encoding);
| ^~~~~~~~
armips.cpp:3958:34: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp: In member function ‘void CMipsInstruction::encodeVfpu() const’:
armips.cpp:3990:34: error: ‘uint32_t’ was not declared in this scope
3990 | g_fileManager->writeU32((uint32_t)encoding);
| ^~~~~~~~
armips.cpp:3990:34: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp: At global scope:
armips.cpp:4041:33: error: ‘uint32_t’ has not been declared
4041 | bool processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors);
| ^~~~~~~~
armips.cpp:4041:33: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:4045:67: error: ‘uint32_t’ has not been declared
4045 | Hi16Entry(int64_t offset, int64_t relocationBase, uint32_t opcode) : offset(offset), relocationBase(relocationBase), opcode(opcode) {}
| ^~~~~~~~
armips.cpp:4045:67: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:4048:17: error: ‘uint32_t’ does not name a type
4048 | uint32_t opcode;
| ^~~~~~~~
armips.cpp:4048:17: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp: In constructor ‘MipsElfRelocator::Hi16Entry::Hi16Entry(int64_t, int64_t, int)’:
armips.cpp:4045:134: error: class ‘MipsElfRelocator::Hi16Entry’ does not have any field named ‘opcode’
4045 | Hi16Entry(int64_t offset, int64_t relocationBase, uint32_t opcode) : offset(offset), relocationBase(relocationBase), opcode(opcode) {}
| ^~~~~~
armips.cpp: At global scope:
armips.cpp:4675:6: error: ‘bool MipsElfRelocator::processHi16Entries’ is not a static data member of ‘class MipsElfRelocator’
4675 | bool MipsElfRelocator::processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors)
| ^~~~~~~~~~~~~~~~
armips.cpp:4675:43: error: ‘uint32_t’ was not declared in this scope
4675 | bool MipsElfRelocator::processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors)
| ^~~~~~~~
armips.cpp:4675:43: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:4675:72: error: expected primary-expression before ‘lo16RelocationBase’
4675 | bool MipsElfRelocator::processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors)
| ^~~~~~~~~~~~~~~~~~
armips.cpp:4675:121: error: expected primary-expression before ‘&’ token
4675 | bool MipsElfRelocator::processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors)
| ^
armips.cpp:4675:123: error: ‘actions’ was not declared in this scope
4675 | bool MipsElfRelocator::processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors)
| ^~~~~~~
armips.cpp:4675:157: error: expected primary-expression before ‘&’ token
4675 | bool MipsElfRelocator::processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors)
| ^
armips.cpp:4675:159: error: ‘errors’ was not declared in this scope; did you mean ‘perror’?
4675 | bool MipsElfRelocator::processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors)
| ^~~~~~
| perror
armips.cpp:4675:165: error: expression list treated as compound expression in initializer [-fpermissive]
4675 | bool MipsElfRelocator::processHi16Entries(uint32_t lo16Opcode, int64_t lo16RelocationBase, std::vector<RelocationAction>& actions, std::vector<std::wstring>& errors)
| ^
armips.cpp: In member function ‘virtual bool MipsElfRelocator::relocateOpcode(int, const RelocationData&, std::vector<RelocationAction>&, std::vector<std::__cxx11::basic_string<wchar_t> >&)’:
armips.cpp:4700:32: error: ‘const struct RelocationData’ has no member named ‘opcode’
4700 | unsigned int op = data.opcode;
| ^~~~~~
armips.cpp:4712:87: error: ‘const struct RelocationData’ has no member named ‘opcode’
4712 | hi16Entries.emplace_back(data.opcodeOffset, data.relocationBase, data.opcode);
| ^~~~~~
armips.cpp: In member function ‘bool MipsParser::parseVcstParameter(Parser&, int&)’:
armips.cpp:7464:35: error: ‘INT64_C’ was not declared in this scope
7464 | {L"sqrt", INT64_C(2)}
| ^~~~~~~
armips.cpp:7464:35: note: the macro ‘INT64_C’ had not yet been defined
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h:11,
from /usr/include/c++/15.2.1/cstdint:47,
from /usr/include/c++/15.2.1/ratio:42,
from /usr/include/c++/15.2.1/bits/chrono.h:39,
from /usr/include/c++/15.2.1/bits/this_thread_sleep.h:38,
from /usr/include/c++/15.2.1/thread:48,
from armips.cpp:16926:
/usr/include/stdint.h:241:11: note: it was later defined here
241 | # define INT64_C(c) c ## L
| ^~~~~~~
armips.cpp:7462:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7462 | sequenceParser.addEntry(2,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7463 | {TokenType::Identifier, TokenType::LParen, TokenType::Integer, TokenType::RParen},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7464 | {L"sqrt", INT64_C(2)}
| ~~~~~~~~~~~~~~~~~~~~~
7465 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7467:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7467 | sequenceParser.addEntry(3,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7468 | {TokenType::Identifier, TokenType::LParen, TokenType::Integer, TokenType::Div, TokenType::Integer, TokenType::RParen},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7469 | {L"sqrt", INT64_C(1), INT64_C(2)}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7470 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7477:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7477 | sequenceParser.addEntry(4,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7478 | {TokenType::Integer, TokenType::Div, TokenType::Identifier, TokenType::LParen, TokenType::Identifier, TokenType::RParen},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7479 | {INT64_C(2), L"sqrt", L"pi"}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7480 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7482:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7482 | sequenceParser.addEntry(5,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7483 | {TokenType::Integer, TokenType::Div, TokenType::Identifier},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7484 | {INT64_C(2), L"pi"}
| ~~~~~~~~~~~~~~~~~~~
7485 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7487:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7487 | sequenceParser.addEntry(6,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7488 | {TokenType::Integer, TokenType::Div, TokenType::Identifier},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7489 | {INT64_C(1), L"pi"}
| ~~~~~~~~~~~~~~~~~~~
7490 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7492:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7492 | sequenceParser.addEntry(7,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7493 | {TokenType::Identifier, TokenType::Div, TokenType::Integer},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7494 | {L"pi", INT64_C(4)}
| ~~~~~~~~~~~~~~~~~~~
7495 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7497:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7497 | sequenceParser.addEntry(8,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7498 | {TokenType::Identifier, TokenType::Div, TokenType::Integer},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7499 | {L"pi", INT64_C(2)}
| ~~~~~~~~~~~~~~~~~~~
7500 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7502:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7502 | sequenceParser.addEntry(16,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7503 | {TokenType::Identifier, TokenType::Div, TokenType::Integer},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7504 | {L"pi", INT64_C(6)}
| ~~~~~~~~~~~~~~~~~~~
7505 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7527:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7527 | sequenceParser.addEntry(13,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7528 | {TokenType::Identifier, TokenType::LParen, TokenType::Integer, TokenType::RParen},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7529 | {L"ln", INT64_C(2)}
| ~~~~~~~~~~~~~~~~~~~
7530 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7532:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7532 | sequenceParser.addEntry(14,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7533 | {TokenType::Identifier, TokenType::LParen, TokenType::Integer, TokenType::RParen},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7534 | {L"ln", INT64_C(10)}
| ~~~~~~~~~~~~~~~~~~~~
7535 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7537:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7537 | sequenceParser.addEntry(15,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7538 | {TokenType::Integer, TokenType::Mult, TokenType::Identifier},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7539 | {INT64_C(2), L"pi"}
| ~~~~~~~~~~~~~~~~~~~
7540 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7542:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7542 | sequenceParser.addEntry(17,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7543 | {TokenType::Identifier, TokenType::LParen, TokenType::Integer, TokenType::RParen},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7544 | {L"log10", INT64_C(2)}
| ~~~~~~~~~~~~~~~~~~~~~~
7545 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7547:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7547 | sequenceParser.addEntry(18,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7548 | {TokenType::Identifier, TokenType::LParen, TokenType::Integer, TokenType::RParen},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7549 | {L"log2", INT64_C(10)}
| ~~~~~~~~~~~~~~~~~~~~~~
7550 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7552:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7552 | sequenceParser.addEntry(19,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7553 | {TokenType::Identifier, TokenType::LParen, TokenType::Integer, TokenType::RParen, TokenType::Div, TokenType::Integer},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7554 | {L"sqrt", INT64_C(3), INT64_C(2)}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7555 | );
| ~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp: In member function ‘bool MipsParser::parseVpfxsParameter(Parser&, int&)’:
armips.cpp:7700:67: error: ‘INT64_C’ was not declared in this scope
7700 | sequenceParser.addEntry(0, {TokenType::Integer}, {INT64_C(0)} );
| ^~~~~~~
armips.cpp:7700:67: note: the macro ‘INT64_C’ had not yet been defined
/usr/include/stdint.h:241:11: note: it was later defined here
241 | # define INT64_C(c) c ## L
| ^~~~~~~
armips.cpp:7700:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7700 | sequenceParser.addEntry(0, {TokenType::Integer}, {INT64_C(0)} );
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7702:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7702 | sequenceParser.addEntry(1, {TokenType::Integer}, {INT64_C(1)} );
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7704:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7704 | sequenceParser.addEntry(2, {TokenType::Integer}, {INT64_C(2)} );
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7706:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7706 | sequenceParser.addEntry(3, {TokenType::Integer, TokenType::Div, TokenType::Integer}, {INT64_C(1), INT64_C(2)} );
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7708:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7708 | sequenceParser.addEntry(4, {TokenType::Integer}, {INT64_C(3)} );
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7710:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7710 | sequenceParser.addEntry(5, {TokenType::Integer, TokenType::Div, TokenType::Integer}, {INT64_C(1), INT64_C(3)} );
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7712:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7712 | sequenceParser.addEntry(6, {TokenType::Integer, TokenType::Div, TokenType::Integer}, {INT64_C(1), INT64_C(4)} );
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7714:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7714 | sequenceParser.addEntry(7, {TokenType::Integer, TokenType::Div, TokenType::Integer}, {INT64_C(1), INT64_C(6)} );
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp: In member function ‘bool MipsParser::parseVpfxdParameter(Parser&, int&)’:
armips.cpp:7792:26: error: ‘INT64_C’ was not declared in this scope
7792 | {INT64_C(0), INT64_C(1)} );
| ^~~~~~~
armips.cpp:7792:26: note: the macro ‘INT64_C’ had not yet been defined
/usr/include/stdint.h:241:11: note: it was later defined here
241 | # define INT64_C(c) c ## L
| ^~~~~~~
armips.cpp:7790:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7790 | sequenceParser.addEntry(1,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7791 | {TokenType::Integer, TokenType::Minus, TokenType::Integer},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7792 | {INT64_C(0), INT64_C(1)} );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7794:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7794 | sequenceParser.addEntry(-1,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7795 | {TokenType::Integer, TokenType::Minus, TokenType::NumberString},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7796 | {INT64_C(0), L"1m"} );
| ~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7798:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7798 | sequenceParser.addEntry(1,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7799 | {TokenType::Integer, TokenType::Colon, TokenType::Integer},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7800 | {INT64_C(0), INT64_C(1)} );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7802:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7802 | sequenceParser.addEntry(-1,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7803 | {TokenType::Integer, TokenType::Colon, TokenType::NumberString},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7804 | {INT64_C(0), L"1m"} );
| ~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7806:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7806 | sequenceParser.addEntry(3,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7807 | {TokenType::Minus, TokenType::Integer, TokenType::Minus, TokenType::Integer},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7808 | {INT64_C(1), INT64_C(1)} );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7810:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7810 | sequenceParser.addEntry(-3,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7811 | {TokenType::Minus, TokenType::Integer, TokenType::Minus, TokenType::NumberString},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7812 | {INT64_C(1), L"1m"} );
| ~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7814:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7814 | sequenceParser.addEntry(3,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
7815 | {TokenType::Minus, TokenType::Integer, TokenType::Colon, TokenType::Integer},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7816 | {INT64_C(1), INT64_C(1)} );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp:7818:40: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘TokenValueSequence’ {aka ‘std::initializer_list<TokenSequenceValue>’}
7818 | sequenceParser.addEntry(-3,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
7819 | {TokenType::Minus, TokenType::Integer, TokenType::Colon, TokenType::NumberString},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7820 | {INT64_C(1), L"1m"} );
| ~~~~~~~~~~~~~~~~~~~~~
armips.cpp:4654:76: note: initializing argument 3 of ‘void TokenSequenceParser::addEntry(int, TokenSequence, TokenValueSequence)’
4654 | void addEntry(int result, TokenSequence tokens, TokenValueSequence values);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
armips.cpp: In member function ‘bool PsxRelocator::relocateFile(PsxRelocatorFile&, int&)’:
armips.cpp:9005:33: error: ‘struct RelocationData’ has no member named ‘opcode’
9005 | relData.opcode = sectionData.getDoubleWord(pos);
| ^~~~~~
armips.cpp:9060:77: error: ‘const struct RelocationAction’ has no member named ‘newValue’
9060 | sectionData.replaceDoubleWord(action.offset, action.newValue);
| ^~~~~~~~
armips.cpp: In member function ‘virtual void CDirectiveData::Encode() const’:
armips.cpp:10092:49: error: ‘uint8_t’ was not declared in this scope
10092 | g_fileManager->writeU8((uint8_t)value);
| ^~~~~~~
armips.cpp:10092:49: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:10098:50: error: ‘uint16_t’ was not declared in this scope
10098 | g_fileManager->writeU16((uint16_t)value);
| ^~~~~~~~
armips.cpp:10098:50: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:10105:50: error: ‘uint32_t’ was not declared in this scope
10105 | g_fileManager->writeU32((uint32_t)value);
| ^~~~~~~~
armips.cpp:10105:50: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:10112:50: error: ‘uint64_t’ was not declared in this scope
10112 | g_fileManager->writeU64((uint64_t)value);
| ^~~~~~~~
armips.cpp:10112:50: note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp: In member function ‘virtual void CDirectiveData::writeTempData(TempData&) const’:
armips.cpp:10135:60: error: ‘uint8_t’ was not declared in this scope
10135 | str += swprintf(str,20,L"0x%02X,",(uint8_t)customData[i]);
| ^~~~~~~
armips.cpp:10135:60: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:10144:60: error: ‘uint8_t’ was not declared in this scope
10144 | str += swprintf(str,20,L"0x%02X,",(uint8_t)normalData[i]);
| ^~~~~~~
armips.cpp:10144:60: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:10152:60: error: ‘uint16_t’ was not declared in this scope
10152 | str += swprintf(str,20,L"0x%04X,",(uint16_t)normalData[i]);
| ^~~~~~~~
armips.cpp:10152:60: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:10161:60: error: ‘uint32_t’ was not declared in this scope
10161 | str += swprintf(str,20,L"0x%08X,",(uint32_t)normalData[i]);
| ^~~~~~~~
armips.cpp:10161:60: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp:10170:62: error: ‘uint64_t’ was not declared in this scope
10170 | str += swprintf(str,20,L"0x%16llX,",(uint64_t)normalData[i]);
| ^~~~~~~~
armips.cpp:10170:62: note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
armips.cpp: In function ‘std::unique_ptr<CAssemblerCommand> parseDirectiveAlignFill(Parser&, int)’:
armips.cpp:10984:59: error: ‘UINT64_C’ was not declared in this scope
10984 | return ::make_unique<CDirectiveAlignFill>(UINT64_C(4),mode);
| ^~~~~~~~
armips.cpp:10984:59: note: the macro ‘UINT64_C’ had not yet been defined
/usr/include/stdint.h:251:11: note: it was later defined here
251 | # define UINT64_C(c) c ## UL
| ^~~~~~~~
armips.cpp: In member function ‘bool ElfRelocator::relocateFile(ElfRelocatorFile&, int64_t&)’:
armips.cpp:16772:41: error: ‘struct RelocationData’ has no member named ‘opcode’
16772 | relData.opcode = sectionData.getDoubleWord(pos, elf->getEndianness());
| ^~~~~~
armips.cpp:16835:110: error: ‘const struct RelocationAction’ has no member named ‘newValue’
16835 | sectionData.replaceDoubleWord(action.offset-relocationOffsets[index], action.newValue, elf->getEndianness());
| ^~~~~~~~
armips.cpp: At global scope:
armips.cpp:19115:6: error: no declaration matches ‘bool FileManager::writeU8(uint8_t)’
19115 | bool FileManager::writeU8(uint8_t data)
| ^~~~~~~~~~~
armips.cpp:1924:14: note: candidate is: ‘bool FileManager::writeU8(int)’
1924 | bool writeU8(uint8_t data);
| ^~~~~~~
armips.cpp:1913:7: note: ‘class FileManager’ defined here
1913 | class FileManager
| ^~~~~~~~~~~
armips.cpp:19120:6: error: no declaration matches ‘bool FileManager::writeU16(uint16_t)’
19120 | bool FileManager::writeU16(uint16_t data)
| ^~~~~~~~~~~
armips.cpp:1925:14: note: candidate is: ‘bool FileManager::writeU16(int)’
1925 | bool writeU16(uint16_t data);
| ^~~~~~~~
armips.cpp:1913:7: note: ‘class FileManager’ defined here
1913 | class FileManager
| ^~~~~~~~~~~
armips.cpp:19128:6: error: no declaration matches ‘bool FileManager::writeU32(uint32_t)’
19128 | bool FileManager::writeU32(uint32_t data)
| ^~~~~~~~~~~
armips.cpp:1926:14: note: candidate is: ‘bool FileManager::writeU32(int)’
1926 | bool writeU32(uint32_t data);
| ^~~~~~~~
armips.cpp:1913:7: note: ‘class FileManager’ defined here
1913 | class FileManager
| ^~~~~~~~~~~
armips.cpp:19136:6: error: no declaration matches ‘bool FileManager::writeU64(uint64_t)’
19136 | bool FileManager::writeU64(uint64_t data)
| ^~~~~~~~~~~
armips.cpp:1927:14: note: candidate is: ‘bool FileManager::writeU64(int)’
1927 | bool writeU64(uint64_t data);
| ^~~~~~~~
armips.cpp:1913:7: note: ‘class FileManager’ defined here
1913 | class FileManager
| ^~~~~~~~~~~
make[1]: *** [Makefile:109: armips] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:348: *** Failed to build tools. Stop.
Absolutely no part of armips.cpp will compile without errors on the latest GCC. I have been able to compile this project before with a similar software and hardware configuration, but it seems like the latest Arch packages are simply too new to work with this project. I don't know how to fix this.
Metadata
Metadata
Assignees
Labels
No labels