mamedev / mame

MAME
https://www.mamedev.org/
Other
7.75k stars 1.95k forks source link

z80dasm compilation error #12512

Closed cd4053 closed 4 days ago

cd4053 commented 4 days ago

MAME version

commit 6a702b8

System information

Windows 10.

INI configuration details

No response

Emulated system/software

No response

Incorrect behaviour

$ make clean && make OVERRIDE_CC=/clang64/bin/clang OVERRIDE_CXX=/clang64/bin/clang++ SYMBOLS=1 SYMLEVEL=1 STRIP_SYMBOLS=1 PTR64=1 SSE3=1 OPTIMIZE=3 OVERRIDE_AR=llvm-ar EMULATOR=1 -j8
Clang 18.1.6 detected
Compiling src/devices/cpu/z80/z80ndasm.cpp...
In file included from ../../../../../src/devices/cpu/z80/z80ndasm.cpp:8:
In file included from ../../../../../src/devices/cpu/z80/z80ndasm.h:13:
../../../../../src/devices/cpu/z80/z80dasm.h:15:33: error: use of undeclared identifier 'util'
   15 | class z80_disassembler : public util::disasm_interface
      |                                 ^
../../../../../src/devices/cpu/z80/z80dasm.h:15:39: error: expected class name
   15 | class z80_disassembler : public util::disasm_interface
      |                                       ^
../../../../../src/devices/cpu/z80/z80dasm.h:21:10: error: unknown type name 'u32'
   21 |         virtual u32 opcode_alignment() const override;
      |                 ^
../../../../../src/devices/cpu/z80/z80dasm.h:22:10: error: unknown type name 'offs_t'
   22 |         virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
      |                 ^
../../../../../src/devices/cpu/z80/z80dasm.h:22:29: error: use of undeclared identifier 'std'
   22 |         virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
      |                                    ^
../../../../../src/devices/cpu/z80/z80dasm.h:22:51: error: unknown type name 'offs_t'
   22 |         virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
      |                                                          ^
../../../../../src/devices/cpu/z80/z80dasm.h:22:68: error: unknown type name 'data_buffer'
   22 |         virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
      |                                                                           ^
../../../../../src/devices/cpu/z80/z80dasm.h:22:96: error: unknown type name 'data_buffer'
   22 |         virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
      |                                                                                                       ^
../../../../../src/devices/cpu/z80/z80dasm.h:27:3: error: unknown type name 'u8'
   27 |                 u8 mnemonic;
      |                 ^
../../../../../src/devices/cpu/z80/z80dasm.h:50:26: error: unknown type name 's8'
   50 |         static inline char sign(s8 offset);
      |                                 ^
../../../../../src/devices/cpu/z80/z80dasm.h:51:16: error: unknown type name 'u32'
   51 |         static inline u32 offs(s8 offset);
      |                       ^
../../../../../src/devices/cpu/z80/z80dasm.h:51:25: error: unknown type name 's8'
   51 |         static inline u32 offs(s8 offset);
      |                                ^
../../../../../src/devices/cpu/z80/z80dasm.h:53:15: error: unknown type name 'u32'
   53 |         static const u32 s_flags[];
      |                      ^
../../../../../src/devices/cpu/z80/z80dasm.h:60:41: error: unknown type name 'u8'
   60 |         virtual const z80dasm &get_mnemonic_ed(u8 opcode) { return mnemonic_ed[opcode]; }
      |                                                ^
In file included from ../../../../../src/devices/cpu/z80/z80ndasm.cpp:8:
../../../../../src/devices/cpu/z80/z80ndasm.h:20:41: error: unknown type name 'u8'
   20 |         virtual const z80dasm &get_mnemonic_ed(u8 opcode) override { return mnemonic_ed_n[opcode]; }
      |                                                ^
15 errors generated.
make[2]: *** [dasm.make:2744: ../../../../mingw-clang/obj/x64/Release/src/devices/cpu/z80/z80ndasm.o] Error 1
make[1]: *** [Makefile:106: dasm] Error 2
make: *** [makefile:1160: windows_x64_clang] Error 2

Expected behaviour

To conclude the compilation.

Steps to reproduce

  1. Download and install the dev tools.
  2. Update with pacman -Suy
  3. git pull the source and run make.

Additional details

No response

happppp commented 4 days ago

In z80ndasm.cpp, please try including emu.h before z80ndasm.h

cd4053 commented 4 days ago

Including emu.h before z80ndasm.h fix the issue, thanks!