Rémy Oudompheng [Wed, 9 Nov 2011 21:01:55 +0000 (16:01 -0500)]
cgo: print error instead of panic on undeclared enums/structs
Types are left as nil if no DWARF information is found and
checking in the rewriting pass so that appropriate errors
with line numbers can be printed.
Fixes #2408.
Michał Derkacz [Wed, 9 Nov 2011 21:01:17 +0000 (16:01 -0500)]
6l: add MOVQ xmm_reg, xmm_reg
Added handler for:
MOVQ xmm_reg, xmm_reg/mem64
MOVQ xmm_reg/mem64, xmm_reg
using native MOVQ (it take precedence above REX.W MOVD)
I don't understood 6l code enough to be sure that my small changes
didn't broke it. But now 6l works with MOVQ xmm_reg, xmm_reg and
all.bash reports "0 unexpected bugs".
There is test assembly source:
MOVQ X0, X1
MOVQ AX, X1
MOVQ X1, AX
MOVQ xxx+8(FP), X2
MOVQ X2, xxx+8(FP)
Russ Cox [Wed, 9 Nov 2011 20:17:05 +0000 (15:17 -0500)]
runtime: add timer support, use for package time
This looks like it is just moving some code from
time to runtime (and translating it to C), but the
runtime can do a better job managing the goroutines,
and it needs this functionality for its own maintenance
(for example, for the garbage collector to hand back
unused memory to the OS on a time delay).
Might as well have just one copy of the timer logic,
and runtime can't depend on time, so vice versa.
It also unifies Sleep, NewTicker, and NewTimer behind
one mechanism, so that there are no claims that one
is more efficient than another. (For example, today
people recommend using time.After instead of time.Sleep
to avoid blocking an OS thread.)
Lucio De Re [Wed, 9 Nov 2011 18:24:36 +0000 (13:24 -0500)]
gopack: fixes for Plan 9 build
. removed an unnexessary initialisation.
. replaced 0 with 0L to match print format that in turn matched
the type of the original function return value.
Rob Pike [Tue, 8 Nov 2011 23:38:47 +0000 (15:38 -0800)]
renaming_1: hand-edited files for go 1 renaming
This contains the files that required handiwork, mostly
Makefiles with updated TARGs, plus the two packages
with modified package names.
html/template/doc.go needs a separate edit pass.
test/fixedbugs/bug358.go is not legal go so gofix fails on it.
Rob Pike [Tue, 8 Nov 2011 22:33:07 +0000 (14:33 -0800)]
text/template: make redefinition of a template in a set more consistent.
Also make it agree with the documentation. You get an error, unless you're
calling Add explicitly, in which case it panics since that's almost certainly
a bug. The discrepancy was caused by a panic that wasn't turned into
an error along one path; deleted the offending function for clarity.
Ron Minnich [Mon, 7 Nov 2011 16:42:13 +0000 (11:42 -0500)]
gc: use HEADER_IO macro from gopack
Use HEADER_IO macro from gopack to read archive header
The HEADER_IO macro portably reads archive headers. The
current arsize code fails in the case of archive headers produced
on plan 9 6c and read on other systems (it's not portable).
Modify lex.c to use the portable macro
Build tested (including tests) on OSX.
Mike Samuel [Fri, 4 Nov 2011 17:09:21 +0000 (13:09 -0400)]
html/template: wraps package template instead of exposing func Escape
This does escaping on first execution.
template.go defines the same interface elements as package template.
It requires rather more duplication of code than I'd like, but I'm
not clear how to avoid that.
we combine these into a fileset abstraction that can be wrapped
var fileset template.FileSet
fileset.Glob(...) // Load a few files by glob
fileset.Files(...) // Load a few {{define}}d files
fileset.TemplateFiles(...) // Load a few files as template bodies
fileset.Funcs(...) // Make the givens func available to templates
// Do the parsing.
set, err := fileset.ParseSet()
// or set, err := fileset.ParseInto(set)
or provide an interface that can receive filenames and functions and
parse messages:
type Bundle interface {
TemplateFile(string)
File(string)
Funcs(FuncMap)
}
and define template.Parse* to handle the file-system stuff and send
messages to a bundle:
func ParseFiles(b Bundle, filenames ...string)
R=r, r
CC=golang-dev
https://golang.org/cl/5270042
Gustavo Niemeyer [Fri, 4 Nov 2011 13:50:20 +0000 (09:50 -0400)]
html,bzip2,sql: rename Error methods that return error to Err
There are three classes of methods/functions called Error:
a) The Error method in the just introduced error interface
b) Error methods that create or report errors (http.Error, etc)
c) Error methods that return errors previously associated with
the receiver (Tokenizer.Error, rows.Error, etc).
This CL introduces the convention that methods in case (c)
should be named Err.
The reasoning for the change is:
- The change differentiates the two kinds of APIs based on
names rather than just on signature, unloading Error a bit
- Err is closer to the err variable name that is so commonly
used with the intent of verifying an error
- Err is shorter and thus more convenient to be used often
on error verifications, such as in iterators following the
convention of the sql package.
Brad Fitzpatrick [Fri, 4 Nov 2011 01:12:51 +0000 (18:12 -0700)]
httputil: move dump and chunking functions out of http
This moves DumpRequest, DumpResponse, NewChunkedReader,
and NewChunkedWriter out of http, as part of the continued
http diet plan.
Also, adds DumpRequestOut (for dumping outbound requests),
since DumpRequest's ambiguity (the "wire representation" in
what direction?) was often a source of confusion and bug
reports.
David Symonds [Thu, 3 Nov 2011 21:34:37 +0000 (08:34 +1100)]
gofix: make fix order implicit by date.
This partially undoes 8fd7e6d070c8, but preserves its semantics.
More importantly, it results in the data about each fix being
decentralised, which makes it easier for new fixes to be added,
and other gofix users to slot new fixes in.
It also adds some useful metadata that could be used in the future.
Rob Pike [Thu, 3 Nov 2011 21:18:06 +0000 (14:18 -0700)]
os,text,unicode: renamings
This is Go 1 package renaming CL #4.
This one merely moves the source; the import strings will be
changed after the next weekly release.
This one moves pieces into os, text, and unicode.
Rob Pike [Thu, 3 Nov 2011 20:26:43 +0000 (13:26 -0700)]
net: renamings
This is Go 1 package renaming CL #3.
This one merely moves the source; the import strings will be
changed after the next weekly release.
This one moves pieces into net.
Rob Pike [Thu, 3 Nov 2011 19:42:57 +0000 (12:42 -0700)]
html,log,math: renamings
This is Go 1 package renaming CL #2.
This one merely moves the source; the import strings will be
changed after the next weekly release.
Note that this CL moves exp/template/html out of exp. I decided
to do that so all the renamings can be done together, even though
the API (and that of template, for that matter) is still fluid.