aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-io.h
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-08-07 20:48:23 +0000
committerGitHub <noreply@github.com>2021-08-07 20:48:23 +0000
commit6bd42365fa2f46430fe933deaecd879857415fc4 (patch)
tree35fd86815e299c395b22f7d8beb4abc75a3ed965 /gcc/gcov-io.h
parentf44e5cf628b6306ebbb305d80a025eb12b76ccca (diff)
parentd80f411c8ad4c19c9db4e03c3a7ceca8507dc391 (diff)
downloadgcc-6bd42365fa2f46430fe933deaecd879857415fc4.zip
gcc-6bd42365fa2f46430fe933deaecd879857415fc4.tar.gz
gcc-6bd42365fa2f46430fe933deaecd879857415fc4.tar.bz2
Merge #612
612: Turn Session Manager into basic singleton r=philberty a=CohenArthur This PR changes the behavior of the compiler's session manager: Instead of keeping a single static instance in `rust-lang.cc`, the class now exposes a static instance via a `get_instance()` method. This is important for external module parsing as a new lexer and parser need to be instantiated during macro expansion, and a lexer must rely on a linemap, of which a single instance exists and is contained in the `Session` instance. I ran into a few issues trying to make this a bit smarter (for example, by calling `init()` on the first `get_instance()` invocation) because I ran into a race condition. I haven't looked into it, but it seems that the calls to the various language hooks are sometimes multithreaded. Co-authored-by: CohenArthur <arthur.cohen@epita.fr>
Diffstat (limited to 'gcc/gcov-io.h')
0 files changed, 0 insertions, 0 deletions