Skip to content

Commit 1e7e967

Browse files
committed
Merge pull request #14403 from drepper/warn-uninitialized-squashed
Mark variables as initialized [cleaned up version]
2 parents e88ee46 + 82e9118 commit 1e7e967

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

src/codegen.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4674,6 +4674,7 @@ static void emit_function(jl_lambda_info_t *lam, jl_llvm_functions_t *declaratio
46744674
ctx.debug_enabled = false;
46754675
do_coverage = false;
46764676
do_malloc_log = false;
4677+
JL_MARK_INITIALIZED(SP);
46774678
}
46784679
else {
46794680
// TODO: Fix when moving to new LLVM version

src/julia.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,16 @@ extern "C" {
4343
#if defined(__GNUC__)
4444
# define JL_NORETURN __attribute__ ((noreturn))
4545
# define JL_CONST_FUNC __attribute__((const))
46+
# define JL_MARK_INITIALIZED(var) asm("" : "=rm" (var))
4647
#elif defined(_COMPILER_MICROSOFT_)
4748
# define JL_NORETURN __declspec(noreturn)
4849
// This is the closest I can find for __attribute__((const))
4950
# define JL_CONST_FUNC __declspec(noalias)
51+
# define JL_MARK_INITIALIZED(var) do {} while (0)
5052
#else
5153
# define JL_NORETURN
5254
# define JL_CONST_FUNC
55+
# define JL_MARK_INITIALIZED(var) do {} while (0)
5356
#endif
5457

5558
#define container_of(ptr, type, member) \

0 commit comments

Comments
 (0)