aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/print.c
AgeCommit message (Collapse)AuthorFilesLines
2019-08-30compile, runtime: permit anonymous and empty fields in C headerIan Lance Taylor1-1/+0
Permit putting structs with anonymous and empty fields in the C header file runtime.inc that is used to build the C runtime code. This is required for upcoming 1.13 support, as the m struct has picked up an anonymous field. Doing this lets the C header contain all the type descriptor structs, so start using those in the C code. This cuts the number of copies of type descriptor definitions from 3 to 2. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192343 From-SVN: r275227
2016-10-10runtime: copy print/println support from Go 1.7Ian Lance Taylor1-235/+66
Update the compiler to use the new names. Add calls to printlock and printunlock around print statements. Move expression evaluation before the call to printlock. Update g's writebuf field to a slice, and adjust C code accordingly. Reviewed-on: https://go-review.googlesource.com/30717 From-SVN: r240956
2014-07-20runtime: also disable split stacks for runtime_snprintf function under ClangIan Lance Taylor1-0/+6
From-SVN: r212862
2014-07-19libgo: Update to Go 1.3 release.Ian Lance Taylor1-0/+19
From-SVN: r212837
2014-07-12runtime: Merge master revision 19185.Ian Lance Taylor1-1/+1
This revision renames several files in the runtime directory from .c to .goc. From-SVN: r212472
2014-06-04libgo: Merge from revision 18783:00cce3a34d7e of master library.Ian Lance Taylor1-1/+4
This revision was committed January 7, 2014. The next revision deleted runtime/mfinal.c. That will be done in a subsequent merge. This merge changes type descriptors to add a zero field, pointing to a zero value for that type. This is implemented as a common variable. * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and alignment parameters. Permit init parameter to be NULL. From-SVN: r211249
2014-05-29runtime: disable split stacks for runtime_printf function under ClangIan Lance Taylor1-1/+21
LLVM's code generator does not currently support split stacks for vararg functions, so we disable split stacks for the only function that uses this feature under Clang. This appears to be OK as long as: - this function only calls non-inlined, internal-linkage (hence no dynamic loader) functions compiled with split stacks (i.e. go_vprintf), which can allocate more stack space as required; - this function itself does not occupy more than BACKOFF bytes of stack space (see libgcc/config/i386/morestack.S). These conditions are currently known to be satisfied by Clang on x86-32 and x86-64. Note that signal handlers receive slightly less stack space than they would normally do if they happen to be called while this function is being run. If this turns out to be a problem we could consider increasing BACKOFF. From-SVN: r211037
2014-05-28runtime: fix misc gcc-isms and undefined behaviorIan Lance Taylor1-11/+12
This includes the use of __complex and __builtin_ functions where unprefixed entities would suffice, and the use of a union for bit-casting between types. From-SVN: r211036
2013-11-06libgo: Update to October 24 version of master library.Ian Lance Taylor1-3/+2
From-SVN: r204466
2013-07-16libgo: Update to Go 1.1.1.Ian Lance Taylor1-0/+9
From-SVN: r200974
2012-12-04runtime: Fix build failures with -D_FORTIFY_SOURCE=2.Ian Lance Taylor1-1/+4
From-SVN: r194116
2012-11-01compiler, runtime: More steps toward separating int and intgo.Ian Lance Taylor1-2/+3
From-SVN: r193059
2012-10-23libgo: Update to current sources.Ian Lance Taylor1-5/+6
From-SVN: r192704
2012-10-03libgo: Update to Go 1.0.3.Ian Lance Taylor1-2/+2
From-SVN: r192025
2012-05-25runtime: Fix cast error in print.c on 32-bit systems.Ian Lance Taylor1-1/+1
From-SVN: r187889
2012-05-24runtime: Copy runtime_printf from other Go library.Ian Lance Taylor1-0/+310
From-SVN: r187850