Hello, devs,
We currently have a recurring issue, which is the lack of a gem5 namespace.This generates collision with other libraries and user code. A Jira ticket has been created to point out the issue last year: https://gem5.atlassian.net/jira/software/c/projects/GEM5/issues/GEM5-730 And this topic has been brought up a few times: https://www.mail-archive.com/[email protected]/msg37770.html https://gem5-review.googlesource.com/c/public/gem5/+/40878 https://www.mail-archive.com/[email protected]/msg36453.html Finally, there were already patches that were consequences of lack of a gem5 namespace: https://gem5-review.googlesource.com/c/public/gem5/+/32175 https://gem5-review.googlesource.com/c/public/gem5/+/40878 A similar issue exists for macros, and an existing proposal to solve it alreadyexists, which is to add a "GEM5_" prefix. It follows the coding style, whichdictates that "preprocessor symbols (constants and macros) should be allcaps with underscores": https://gem5.atlassian.net/jira/software/c/projects/GEM5/issues/GEM5-912 It does not seem to be controversial to add this namespace; however, there is still one blocker to greenlight its creation: what will be its name. There are no explicit rules regarding namespace naming; however, they are typically declared starting with an uppercase letter followed by lowercase letters. So, theoretically, gem5's namespace should be "Gem5". This, however, conflicts with gem5's identity: "“gem5” should always have a lowercase “g”" (see http://www.gem5.org/getting_started/). We should decide as a community what is the best approach to take, so I'll list the options and will request you to cast your votes. If you would like to add remarks to the discussion, feel free to do so. NAMESPACE: 1 - namespace Gem5 {} 2 - namespace gem5 {} MACROS: A - GEM5_MACRO_NAME B - gem5_MACRO_NAME Personally, I think that identity precedes coding style, so *option 2* shouldbe taken. Yet, in a slightly inconsistent manner, I would vote for macro*option A*. My argument being that it would be more convenient to type itwith all caps, and that it would be implied from the identity that it refers toinstances of the identity containing lowercase letters, which is not the caseof "GEM5_". Best,Daniel
_______________________________________________ gem5-dev mailing list -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
