[all-commits] [llvm/llvm-project] 6b1e2f: [FE] Manipulate the first byte of guard variable t...
xling-liao via All-commits
all-commits at lists.llvm.org
Mon Feb 8 08:16:41 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6b1e2fc89327a64c9300d543e00f12435c32dfcf
https://github.com/llvm/llvm-project/commit/6b1e2fc89327a64c9300d543e00f12435c32dfcf
Author: Xiangling Liao <Xiangling.Liao at ibm.com>
Date: 2021-02-08 (Mon, 08 Feb 2021)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp
M clang/test/CodeGenCXX/aix-static-init.cpp
M clang/test/CodeGenCXX/cxx11-thread-local.cpp
M clang/test/CodeGenCXX/global-init.cpp
M clang/test/CodeGenCXX/static-data-member.cpp
Log Message:
-----------
[FE] Manipulate the first byte of guard variable type in both load and store operation
As Itanium ABI[http://itanium-cxx-abi.github.io/cxx-abi/abi.html#once-ctor]
points out:
"The size of the guard variable is 64 bits. The first byte (i.e. the byte at
the address of the full variable) shall contain the value 0 prior to
initialization of the associated variable, and 1 after initialization is complete."
Differential Revision: https://reviews.llvm.org/D95822
More information about the All-commits
mailing list