*** empty log message ***

From-SVN: r1002
This commit is contained in:
Richard Stallman 1992-05-17 20:16:20 +00:00
parent 64309441e0
commit 6dbf678a01
2 changed files with 25 additions and 7 deletions

View File

@ -1069,6 +1069,18 @@ yylex ()
if (lastiddecl != 0 && TREE_CODE (lastiddecl) == TYPE_DECL)
value = TYPENAME;
/* A user-invisible read-only initialized variable
should be replaced by its value.
We handle only strings since that's the only case used in C. */
else if (lastiddecl != 0 && TREE_CODE (lastiddecl) == VAR_DECL
&& DECL_IGNORED_P (lastiddecl)
&& TREE_READONLY (lastiddecl)
&& DECL_INITIAL (lastiddecl) != 0
&& TREE_CODE (DECL_INITIAL (lastiddecl)) == STRING_CST)
{
yylval.ttype = DECL_INITIAL (lastiddecl);
value = STRING;
}
else if (doing_objc_thang)
{
tree objc_interface_decl = lookup_interface (yylval.ttype);

View File

@ -1906,13 +1906,19 @@ rest_of_decl_compilation (decl, asmspec, top_level, at_end)
TIMEVAR (varconst_time,
{
make_decl_rtl (decl, asmspec, top_level);
/* Don't output anything
when a tentative file-scope definition is seen.
But at end of compilation, do output code for them. */
if (! (! at_end && top_level
&& (DECL_INITIAL (decl) == 0
|| DECL_INITIAL (decl) == error_mark_node)))
assemble_variable (decl, top_level, at_end);
/* For a user-invisible decl that should be replaced
by its value when used, don't output anything. */
if (! (TREE_CODE (decl) == VAR_DECL
&& DECL_IGNORED_P (decl) && TREE_READONLY (decl)
&& DECL_INITIAL (decl) != 0))
/* Don't output anything
when a tentative file-scope definition is seen.
But at end of compilation, do output code for them. */
if (! (! at_end && top_level
&& (DECL_INITIAL (decl) == 0
|| DECL_INITIAL (decl) == error_mark_node
|| DECL_IGNORED_P (decl))))
assemble_variable (decl, top_level, at_end);
});
else if (TREE_REGDECL (decl) && asmspec != 0)
{