{"id":17723873,"url":"https://github.com/nemequ/pre-defined-macros","last_synced_at":"2025-07-03T14:40:47.876Z","repository":{"id":146613460,"uuid":"129276075","full_name":"nemequ/pre-defined-macros","owner":"nemequ","description":"Lists of pre-defined macros for various C/C++ compilers","archived":false,"fork":false,"pushed_at":"2019-11-15T20:21:10.000Z","size":44,"stargazers_count":16,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-24T04:48:48.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nemequ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-12T15:52:37.000Z","updated_at":"2023-01-28T22:05:28.000Z","dependencies_parsed_at":"2023-05-30T06:15:42.372Z","dependency_job_id":null,"html_url":"https://github.com/nemequ/pre-defined-macros","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/nemequ/pre-defined-macros","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fpre-defined-macros","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fpre-defined-macros/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fpre-defined-macros/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fpre-defined-macros/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nemequ","download_url":"https://codeload.github.com/nemequ/pre-defined-macros/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fpre-defined-macros/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263343192,"owners_count":23452125,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-25T15:44:15.907Z","updated_at":"2025-07-03T14:40:47.847Z","avatar_url":"https://github.com/nemequ.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pre-defined C/C++ compiler macros\n\nLists of pre-defined macros for various compilers.\n\nYou should probably check the [Pre-defined C/C++ Compiler Macros\nwiki](https://sourceforge.net/p/predef/wiki/Home/) on SourceForge\nfirst. It's probably more useful for now; it has lots more compilers,\nand a more friendly presentation. This repo, OTOH, has more complete\ninformation (all of the pre-defined macros instead of just a select\nfew).\n\nIf you have access to compilers not listed, a PR would be appreciated!\n\n## Generating the files\n\n* GCC:\n  * C: `gcc -dM -E -o \"${OUTFILE}\" empty.c`\n  * C++: `g++ -dM -E -o \"${OUTFILE}\" empty.cpp`\n* clang:\n  * C: `clang -dM -E -o \"${OUTFILE}\" empty.c`\n  * C++: `clang++ -dM -E -o \"${OUTFILE}\" empty.cpp`\n* Intel C/C++ Compiler:\n  * C: `icc -dM -E -o \"${OUTFILE}\" empty.c`\n  * C++: `icpc -dM -E -o \"${OUTFILE}\" empty.cpp`\n* Oracle Developer Studio:\n  * C: `suncc -xdumpmacros=%all -E empty.c 2\u003e\u00261 | grep -oP '#define .+' \u003e \"${OUTFILE}\"`\n  * C++: `sunCC -xdumpmacros=%all -E empty.cpp 2\u003e\u00261 | grep -oP '#define .+' \u003e \"${OUTFILE}\"`\n* PGI C/C++ Compiler:\n  * C: `pgcc -dM -E /dev/null \u003e \"${OUTFILE}\"`\n  * C++: `pgc++ -dM -E /dev/null \u003e \"${OUTFILE}\"`\n* TI C/C++ Compiler:\n  * C: `cl6x --preproc_macros empty.\"$MODE\" --output_file=\"$OUTFILE\"`\n  * C++: `cl6x --preproc_macros empty.\"$MODE\" --output_file=\"$OUTFILE\"`\n* Emscripten:\n  * C: `emcc -dM -E -o \"${OUTFILE}\" empty.c`\n  * C++: `em++ -dM -E -o \"${OUTFILE}\" empty.cpp`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemequ%2Fpre-defined-macros","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemequ%2Fpre-defined-macros","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemequ%2Fpre-defined-macros/lists"}