zig/tools
Motiejus Jakštys 6b3f59c3a7 zig run/cc: recognize "-x language"
This commit adds support for "-x language" for a couple of hand-picked
supported languages. There is no reason the list of supported languages
to not grow (e.g. add "c-header"), but I'd like to keep it small at the
start.

Alternative 1
-------------

I first tried to add a new type "Language", and then add that to the
`CSourceFile`. But oh boy what a change it turns out to be. So I am
keeping myself tied to FileExt and see what you folks think.

Alternative 2
-------------

I tried adding `Language: ?[]const u8` to `CSourceFile`. However, the
language/ext, whatever we want to call it, still needs to be interpreted
in the main loop: one kind of handling for source files, other kind of
handling for everything else.

Test case
---------

*standalone.c*

    #include <iostream>

    int main() {
        std::cout << "elho\n";
    }

Compile and run:

    $ ./zig run -x c++ -lc++ standalone.c
    elho
    $ ./zig c++ -x c++ standalone.c -o standalone && ./standalone
    elho

Fixes #10915
2023-01-13 21:38:11 -05:00
..
spirv
extract-grammar.zig tools: build all tools in ci to prevent bitrot 2023-01-06 01:18:46 +02:00
gen_outline_atomics.zig outline atomics: ret instead of jump to ret 2022-11-21 17:17:02 -07:00
gen_spirv_spec.zig spirv: assembler 2022-11-23 19:17:58 +01:00
gen_stubs.zig tools: build all tools in ci to prevent bitrot 2023-01-06 01:18:46 +02:00
generate_linux_syscalls.zig
process_headers.zig all: rename i386 to x86 2022-11-04 00:09:27 +03:30
stage1_gdb_pretty_printers.py
stage2_gdb_pretty_printers.py add -fopt-bisect-limit 2023-01-03 13:05:09 +02:00
stage2_lldb_pretty_printers.py
stage2_pretty_printers_common.py
std_gdb_pretty_printers.py
update_clang_options.zig zig run/cc: recognize "-x language" 2023-01-13 21:38:11 -05:00
update_cpu_features.zig
update_glibc.zig
update_spirv_features.zig adapt update_spriv_features to changed std pattern 2022-11-23 19:17:58 +01:00
update-license-headers.zig
update-linux-headers.zig
zig_gdb_pretty_printers.py