2021-02-02 12:29:00 +00:00
|
|
|
{
|
|
|
|
"configurations": [
|
|
|
|
{
|
2021-03-09 18:12:39 +00:00
|
|
|
"name": "Win32",
|
2021-02-02 12:29:00 +00:00
|
|
|
"includePath": [
|
|
|
|
"${workspaceFolder}"
|
|
|
|
],
|
|
|
|
"cStandard": "c11",
|
|
|
|
"cppStandard": "c++11",
|
2021-02-02 16:14:45 +00:00
|
|
|
"forcedInclude": ["${workspaceFolder}/.vscode/vscode.h"],
|
2021-02-02 12:29:00 +00:00
|
|
|
"defines": [
|
|
|
|
"libcesque=",
|
|
|
|
"pureconst=",
|
|
|
|
"paramsnonnull(x)=",
|
|
|
|
"alignas(x)",
|
|
|
|
"alignof(x)",
|
|
|
|
"artificial=",
|
2023-09-06 10:54:42 +00:00
|
|
|
"__wur=",
|
2021-02-02 12:29:00 +00:00
|
|
|
"mayalias=",
|
|
|
|
"forceinline=",
|
|
|
|
"forcealign(x)=",
|
2021-02-02 16:14:45 +00:00
|
|
|
"scanfesque(x)=",
|
|
|
|
"strftimeesque(x)=",
|
2021-02-02 12:29:00 +00:00
|
|
|
"wontreturn=",
|
|
|
|
"textreal=",
|
2021-02-02 16:14:45 +00:00
|
|
|
"mallocesque=",
|
|
|
|
"callocesque=",
|
2021-02-02 12:29:00 +00:00
|
|
|
"vallocesque=",
|
2021-02-02 16:14:45 +00:00
|
|
|
"reallocesque=",
|
|
|
|
"strlenesque=",
|
|
|
|
"memcpyesque=",
|
|
|
|
"hasatleast=",
|
|
|
|
"noinline=",
|
|
|
|
"textexit=",
|
|
|
|
"returnstwice=",
|
|
|
|
"textwindows=",
|
|
|
|
"privileged=",
|
2023-06-09 13:41:34 +00:00
|
|
|
"dontinstrument=",
|
2021-02-02 16:14:45 +00:00
|
|
|
"nodebuginfo=",
|
|
|
|
"interruptfn=",
|
|
|
|
"optimizespeed=",
|
|
|
|
"forcealignargpointer=",
|
2023-07-26 20:54:49 +00:00
|
|
|
"dontasan=",
|
|
|
|
"dontubsan=",
|
2021-02-02 16:14:45 +00:00
|
|
|
"donothing=",
|
2021-02-02 12:29:00 +00:00
|
|
|
"nosideeffect=",
|
2022-09-04 03:35:31 +00:00
|
|
|
"unreachable=",,
|
|
|
|
"notpossible=",
|
2021-02-02 12:29:00 +00:00
|
|
|
"thatispacked=",
|
Import C++ Standard Template Library
You can now use the hardest fastest and most dangerous language there is
with Cosmopolitan. So far about 75% of LLVM libcxx has been added. A few
breaking changes needed to be made to help this go smoothly.
- Rename nothrow to dontthrow
- Rename nodiscard to dontdiscard
- Add some libm functions, e.g. lgamma, nan, etc.
- Change intmax_t from int128 to int64 like everything else
- Introduce %jjd formatting directive for int128_t
- Introduce strtoi128(), strtou128(), etc.
- Rename bsrmax() to bsr128()
Some of the templates that should be working currently are std::vector,
std::string, std::map, std::set, std::deque, etc.
2022-03-22 12:51:41 +00:00
|
|
|
"dontthrow=",
|
2021-02-02 12:29:00 +00:00
|
|
|
"nocallback=",
|
|
|
|
"relegated=",
|
|
|
|
"hidden=",
|
|
|
|
"textstartup=",
|
|
|
|
"initarray=",
|
|
|
|
"returnsnonnull=",
|
|
|
|
"returnspointerwithnoaliases=",
|
|
|
|
"printfesque(x)=",
|
|
|
|
"attributeallocsize(x)=",
|
|
|
|
"returnsaligned(x)=",
|
|
|
|
"attributeallocalign(x)=",
|
2021-02-02 16:14:45 +00:00
|
|
|
"nullterminated(x)="
|
2021-02-02 12:29:00 +00:00
|
|
|
]
|
2021-03-09 18:12:39 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "Linux",
|
|
|
|
"includePath": [
|
|
|
|
"${workspaceFolder}"
|
|
|
|
],
|
|
|
|
"cStandard": "gnu17",
|
|
|
|
"compilerPath": "${workspaceFolder}/o/third_party/gcc/bin/x86_64-linux-musl-gcc",
|
|
|
|
"compilerArgs": [
|
|
|
|
"-Wall",
|
|
|
|
"-Werror",
|
|
|
|
"-fdebug-prefix-map=${workspaceFolder}=",
|
|
|
|
"-frecord-gcc-switches",
|
|
|
|
"-Wa,-W",
|
|
|
|
"-Wa,-I.",
|
|
|
|
"-Wa,--noexecstack",
|
|
|
|
"-Og",
|
|
|
|
"-g",
|
|
|
|
"-gdescribe-dies",
|
|
|
|
"-msse3",
|
|
|
|
"-mno-red-zone",
|
|
|
|
"-fno-math-errno",
|
|
|
|
"-fno-trapping-math",
|
|
|
|
"-fno-fp-int-builtin-inexact",
|
|
|
|
"-fno-ident",
|
|
|
|
"-fno-common",
|
|
|
|
"-fno-gnu-unique",
|
|
|
|
"-fstrict-aliasing",
|
|
|
|
"-fstrict-overflow",
|
|
|
|
"-fno-semantic-interposition",
|
|
|
|
"-mno-omit-leaf-frame-pointer",
|
|
|
|
"-fno-jump-tables",
|
|
|
|
"-nostdinc",
|
|
|
|
"-iquote."
|
|
|
|
],
|
|
|
|
"forcedInclude": [
|
|
|
|
"libc/integral/normalize.inc"
|
|
|
|
],
|
|
|
|
"defines": [
|
|
|
|
"COSMO",
|
2023-09-12 08:21:36 +00:00
|
|
|
"MODE="
|
2021-03-09 18:12:39 +00:00
|
|
|
]
|
2021-02-02 12:29:00 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"version": 4
|
|
|
|
}
|