<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinycc/tests/tests2/86-struct-init.c, branch main</title>
<subtitle>Tiny C Compiler by Fabrice Bellard Git mirror of the final release by Bellard, discarding all changes after. The repository at https://repo.or.cz/tinycc.git has become untrustworthy. Also the tcc sources have become tainted with AI slop.</subtitle>
<id>https://git.datenwolf.net/tinycc/atom/tests/tests2/86-struct-init.c?h=main</id>
<link rel='self' href='https://git.datenwolf.net/tinycc/atom/tests/tests2/86-struct-init.c?h=main'/>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/'/>
<updated>2017-02-13T18:03:29Z</updated>
<entry>
<title>updates &amp; cleanups (tcc-doc/Changelog/TODO ...)</title>
<updated>2017-02-13T18:03:29Z</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2017-02-13T18:03:29Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=43d9a7de9b83f437d55c2cbc6e9625e3fafa5102'/>
<id>urn:sha1:43d9a7de9b83f437d55c2cbc6e9625e3fafa5102</id>
<content type='text'>
- tcc-doc.texi: commandline option info update
- Changelog/TODO: update
- tests/tcctest.py: removed
- tests/Makefile: weaktest fixed
- tests/tests2: some files renamed and/or converted to unix LF
- configure/Makefile: --enable-static option (no dll on win32)
- win32/build-tcc.bat: msvc support
- win32/tcc-win32.txt: build info update
- win32/vs2015/: VS solution removed
- win32/include/tcc/tcc_libm.h: #include statement fixed
- tcc.c: -include &lt;file&gt; option help info
- .gitignore: cleanup
</content>
</entry>
<entry>
<title>Fix initializing members multiple times</title>
<updated>2016-12-15T16:49:53Z</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-10-08T00:44:17Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=ddd461dcc866d17f1c89137dc275ce1da95e7be2'/>
<id>urn:sha1:ddd461dcc866d17f1c89137dc275ce1da95e7be2</id>
<content type='text'>
When intializing members where the initializer needs relocations
and the member is initialized multiple times we can't allow
that to lead to multiple relocations to the same place.  The last
one must win.
</content>
</entry>
<entry>
<title>struct-init: Copy relocs for compound literals</title>
<updated>2016-12-15T16:47:12Z</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-10-03T17:21:10Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=7ab35c6265425a81c14bc313eb4c834985a73ddb'/>
<id>urn:sha1:7ab35c6265425a81c14bc313eb4c834985a73ddb</id>
<content type='text'>
When copying the content of compound literals we must
include relocations as well.
</content>
</entry>
<entry>
<title>struct-init: Support range inits for local vars</title>
<updated>2016-12-15T16:47:09Z</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-08-06T20:38:26Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=4e46c22d5ca4d03220e30fa524a5aba4b4df75f9'/>
<id>urn:sha1:4e46c22d5ca4d03220e30fa524a5aba4b4df75f9</id>
<content type='text'>
Implement missing support for range init for local variables.
</content>
</entry>
<entry>
<title>struct-init: Allow member initialization from qualified lvalues</title>
<updated>2016-12-15T16:47:09Z</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-08-01T20:55:07Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=b7ca74577b56190954eb6eeda8c22996b877f3c5'/>
<id>urn:sha1:b7ca74577b56190954eb6eeda8c22996b877f3c5</id>
<content type='text'>
See testcase.
</content>
</entry>
<entry>
<title>struct-init: Correctly parse unnamed member initializers</title>
<updated>2016-12-15T16:47:09Z</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-08-01T20:11:49Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=9e86ebee944e7fc480fe49bf4f4f406aab672200'/>
<id>urn:sha1:9e86ebee944e7fc480fe49bf4f4f406aab672200</id>
<content type='text'>
For
  union U { struct {int a,b}; int c; };
  union U u = {{ 1, 2, }};
The unnamed first member of union U needs to actually exist in the
structure so initializer parsing isn't confused about the double braces.
That means also the a and b members must be part of _that_, not of
union U directly.  Which in turn means we need to do a bit more work
for field lookup.

See the testcase extension for more things that need to work.
</content>
</entry>
<entry>
<title>struct-init: Cleanup</title>
<updated>2016-12-15T16:47:09Z</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-07-31T04:18:45Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=7bf323843ee2f59bcbdaa8e5dd7b060a2df4ea4d'/>
<id>urn:sha1:7bf323843ee2f59bcbdaa8e5dd7b060a2df4ea4d</id>
<content type='text'>
Remove dead code and variables.  Properly check for unions when
skipping fields in initializers.  Make tests2/*.expect depend
on the .c files so they are automatically rebuilt when the latter
change.
</content>
</entry>
<entry>
<title>struct-init: Implement initializing subaggregates</title>
<updated>2016-12-15T16:47:09Z</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-07-31T03:43:17Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=ed7d54651d2ef33dd6f644f23ba2fa64706e84db'/>
<id>urn:sha1:ed7d54651d2ef33dd6f644f23ba2fa64706e84db</id>
<content type='text'>
E.g. "struct { struct S s; int a;} = { others, 42 };"
if 'others' is also a 'struct S'.  Also when the value is a
compound literal.  See added testcases.
</content>
</entry>
</feed>
