User account creation filtered due to spam.

Bug 14204 - [tree-ssa] Bogus uninitialized warning for stack pointer register var
Summary: [tree-ssa] Bogus uninitialized warning for stack pointer register var
Alias: None
Product: gcc
Classification: Unclassified
Component: c (show other bugs)
Version: tree-ssa
: P2 normal
Target Milestone: tree-ssa
Assignee: Richard Henderson
Keywords: diagnostic
Depends on:
Blocks: Wuninitialized
  Show dependency treegraph
Reported: 2004-02-18 23:45 UTC by Falk Hueffner
Modified: 2005-11-02 19:17 UTC (History)
1 user (show)

See Also:
Host: alphaev68-unknown-linux-gnu
Target: alphaev68-unknown-linux-gnu
Build: alphaev68-unknown-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2004-02-19 00:31:21


Note You need to log in before you can comment on or make changes to this bug.
Description Falk Hueffner 2004-02-18 23:45:13 UTC
GNU C version 3.5-tree-ssa 20040217 (merged 20040211) (alphaev68-unknown-linux-gnu)
        compiled by GNU C version 3.5-tree-ssa 20040217 (merged 20040211).

% cat test.c
void *load_PCB (void)
        register void *sp __asm__("$30");
        return sp;

% gcc -O -c -W -Wall test.c 
test.c: In function `load_PCB':
test.c:4: warning: 'sp' is used uninitialized in this function

$30 is the stack pointer, which must be kept valid by gcc all the time,
so this shouldn't produce a warning.
Comment 1 Andrew Pinski 2004-02-19 00:31:20 UTC
Confirmed, basically now the warning is done at the tree level, the warning does not track registers but 
now just variables.
Comment 2 Andrew Pinski 2004-03-04 07:39:52 UTC
Here is the PPC equivent:
void *load_PCB (void)
        register void *sp __asm__("r1");
        return sp;
Comment 3 CVS Commits 2004-03-12 02:01:31 UTC
Subject: Bug 14204

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	tree-ssa-20020619-branch
Changes by:	2004-03-12 02:01:21

Modified files:
	gcc            : ChangeLog.tree-ssa tree-ssa.c 
Added files:
	gcc/testsuite/gcc.dg: uninit-H.c 

Log message:
	PR 14204
	* tree-ssa.c (warn_uninit): Don't warn for hard register variables.
	* gcc.dg/uninit-H.c: New.


Comment 4 Richard Henderson 2004-03-12 02:02:42 UTC