]>
Cypherpunks repositories - gostls13.git/log
Russ Cox [Fri, 26 Sep 2008 18:44:20 +0000 (11:44 -0700)]
handle negative numeric constants in import.
(fixes bugs/bug106)
package bug0
export const A = -1
package bug1
import "bug0"
R=ken
DELTA=21 (19 added, 0 deleted, 2 changed)
OCL=15901
CL=15968
Robert Griesemer [Fri, 26 Sep 2008 18:15:14 +0000 (11:15 -0700)]
1) Fixed spec w/ respect to result types.
2) Added proposal for making "if" statements consistent with the
other control structures.
R=r
DELTA=59 (32 added, 6 deleted, 21 changed)
OCL=15583
CL=15964
Russ Cox [Fri, 26 Sep 2008 17:25:13 +0000 (10:25 -0700)]
fix ELF bugs found by iant
- .text begins at INITTEXT, not 0
and does not include HEADR
- .shstrtab, .gosymtab, .gopclntab have alignment 1
- .gosymtab, .gopclntab have type SHT_PROGBITS
R=r
DELTA=9 (0 added, 0 deleted, 9 changed)
OCL=15953
CL=15956
Russ Cox [Fri, 26 Sep 2008 17:13:57 +0000 (10:13 -0700)]
6ar: exit with error status if files cannot be opened.
R=r
DELTA=15 (8 added, 0 deleted, 7 changed)
OCL=15952
CL=15954
Ian Lance Taylor [Fri, 26 Sep 2008 03:31:03 +0000 (20:31 -0700)]
Add test case for 6g bug: result variable does not hide the
package name in the scope.
R=r
DELTA=12 (12 added, 0 deleted, 0 changed)
OCL=15913
CL=15926
Ian Lance Taylor [Fri, 26 Sep 2008 00:36:37 +0000 (17:36 -0700)]
Change the name of the result variable so that it does not
hide the package "ip".
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15914
CL=15914
Robert Griesemer [Fri, 26 Sep 2008 00:20:39 +0000 (17:20 -0700)]
Snapshot.
Added support for function literals, composite literals.
Bug fixes.
R=r
OCL=15911
CL=15911
Russ Cox [Fri, 26 Sep 2008 00:07:24 +0000 (17:07 -0700)]
prototype nit
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15906
CL=15909
Russ Cox [Fri, 26 Sep 2008 00:07:06 +0000 (17:07 -0700)]
gobuild -m: replace value of $GOARCH and $GOOS
in Makefile with $(GOARCH) and $(GOOS)
R=r
DELTA=40 (38 added, 0 deleted, 2 changed)
OCL=15905
CL=15908
Russ Cox [Thu, 25 Sep 2008 23:32:39 +0000 (16:32 -0700)]
6g misparses negative constants in imports
R=r
DELTA=8 (8 added, 0 deleted, 0 changed)
OCL=15893
CL=15898
Robert Griesemer [Thu, 25 Sep 2008 22:45:19 +0000 (15:45 -0700)]
bug: package identifier not visible
(should be in the scope chain like any other identifier)
R=r
DELTA=16 (16 added, 0 deleted, 0 changed)
OCL=15884
CL=15884
Robert Griesemer [Thu, 25 Sep 2008 22:14:26 +0000 (15:14 -0700)]
- more missing constructs added
- removed excessive ";"'s
- no ()'s around expressions where not needed
- parser.go now reproduced and parseable again
R=r
OCL=15881
CL=15881
Ian Lance Taylor [Thu, 25 Sep 2008 22:08:52 +0000 (15:08 -0700)]
6g currently accepts setting a string value to an integer
constant without an explicit conversion. I think that is a
bug. This adds a test case for it.
Also, change errchk to include the string BUG in error
messages, so that failures are included in the count reported
by the run shell script.
R=r,ken
DELTA=11 (7 added, 0 deleted, 4 changed)
OCL=15857
CL=15880
Robert Griesemer [Thu, 25 Sep 2008 18:50:34 +0000 (11:50 -0700)]
snapshot: more pretty printer stuff
R=r
OCL=15863
CL=15863
Ian Lance Taylor [Thu, 25 Sep 2008 17:51:23 +0000 (10:51 -0700)]
To get an empty string, return an empty string, not 0.
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15858
CL=15860
Robert Griesemer [Thu, 25 Sep 2008 05:01:52 +0000 (22:01 -0700)]
- added names to result signatures to make it compile with gccgo
- adjusted the makefile to explicitly compile flag.go and fmt.go for gccgo
R=r
OCL=15822
CL=15822
Ken Thompson [Wed, 24 Sep 2008 23:20:01 +0000 (16:20 -0700)]
export
R=r
OCL=15805
CL=15805
Robert Griesemer [Wed, 24 Sep 2008 22:50:28 +0000 (15:50 -0700)]
- more ast buidling and printing
- almost complete language reproduced
R=r
OCL=15801
CL=15801
Russ Cox [Wed, 24 Sep 2008 22:28:03 +0000 (15:28 -0700)]
cleanup; sys.sleep can go.
R=r
OCL=15786
CL=15792
Russ Cox [Wed, 24 Sep 2008 22:26:55 +0000 (15:26 -0700)]
early HTTP library and trivial server
R=r
OCL=15777
CL=15791
Russ Cox [Wed, 24 Sep 2008 21:13:07 +0000 (14:13 -0700)]
get rid of per-G Note, avoids per-G kernel semaphore on Mac.
2.14u 19.82s 22.17r 6.out 100000 # old
1.87u 0.43s 2.31r 6.out 100000 # new
R=r
OCL=15762
CL=15772
Ken Thompson [Wed, 24 Sep 2008 21:12:21 +0000 (14:12 -0700)]
more export
R=r
OCL=15771
CL=15771
Russ Cox [Wed, 24 Sep 2008 18:07:21 +0000 (11:07 -0700)]
make prof work on linux
R=r
DELTA=18 (11 added, 1 deleted, 6 changed)
OCL=15752
CL=15755
Rob Pike [Wed, 24 Sep 2008 17:35:59 +0000 (10:35 -0700)]
bug: updated wrong counter when combining values
R=rsc
OCL=15751
CL=15751
Russ Cox [Wed, 24 Sep 2008 17:25:28 +0000 (10:25 -0700)]
only use mach kernel semaphores for actual contention.
running rob's powser p.go:
3.21u 2.58s 5.80r 6.out # old
1.48u 0.05s 1.54r 6.out # new
R=r
OCL=15748
CL=15750
Rob Pike [Wed, 24 Sep 2008 01:45:44 +0000 (18:45 -0700)]
rudimentary real-time profiler.
tested on mac only.
output like this:
tubenose=% sudo go/src/cmd/prof/6prof -p 71839 -c -d 10
63.93% mach_semaphore_signal
4.64% sys·chansend1
3.93% chanrecv
2.86% semrelease
1.43% cas
1.43% sendchan
1.07% xadd
0.71% main·f
0.71% scheduler
0.71% sys·gosched
0.71% dequeue
...
R=rsc
DELTA=361 (361 added, 0 deleted, 0 changed)
OCL=15731
CL=15736
Robert Griesemer [Wed, 24 Sep 2008 01:34:17 +0000 (18:34 -0700)]
- added initial formatting: indentation
- more AST nodes built and printed
R=r
OCL=15735
CL=15735
Robert Griesemer [Tue, 23 Sep 2008 23:40:12 +0000 (16:40 -0700)]
- snapshot of pretty printer status
- parts of AST built and printed
- no formatting yet
R=r
OCL=15727
CL=15727
Rob Pike [Tue, 23 Sep 2008 22:08:39 +0000 (15:08 -0700)]
better debuggers:
- follow through segmented stacks
- a couple of fixes to db
R=rsc
DELTA=72 (62 added, 0 deleted, 10 changed)
OCL=15713
CL=15717
Ken Thompson [Tue, 23 Sep 2008 21:16:41 +0000 (14:16 -0700)]
more on export
R=r
OCL=15704
CL=15704
Ken Thompson [Tue, 23 Sep 2008 19:48:52 +0000 (12:48 -0700)]
fixed export sort for methods
R=r
OCL=15699
CL=15699
Robert Griesemer [Tue, 23 Sep 2008 18:17:44 +0000 (11:17 -0700)]
- added gccgo makefile
R=r
OCL=15693
CL=15695
Russ Cox [Tue, 23 Sep 2008 03:12:15 +0000 (20:12 -0700)]
change string([]byte) to pass array, rather than &a[0],
to string convert. if the byte array has length 0,
the computation of &a[0] throws an index bounds error.
for fixed size arrays, this ends up invoking arrays2d
unnecessarily, but it works.
R=ken
DELTA=304 (44 added, 28 deleted, 232 changed)
OCL=15674
CL=15678
Robert Griesemer [Tue, 23 Sep 2008 01:26:12 +0000 (18:26 -0700)]
- first cut at building and printing AST
R=r
OCL=15675
CL=15675
Rob Pike [Tue, 23 Sep 2008 00:31:41 +0000 (17:31 -0700)]
add os.Getenv()
R=rsc
DELTA=51 (50 added, 0 deleted, 1 changed)
OCL=15665
CL=15667
Ken Thompson [Tue, 23 Sep 2008 00:29:12 +0000 (17:29 -0700)]
remove extraneous print
R=r
OCL=15666
CL=15666
Ken Thompson [Mon, 22 Sep 2008 23:58:30 +0000 (16:58 -0700)]
vectors bug
R=r
OCL=15664
CL=15664
Russ Cox [Mon, 22 Sep 2008 23:41:14 +0000 (16:41 -0700)]
implement zoneinfo reader
R=r
DELTA=348 (338 added, 0 deleted, 10 changed)
OCL=15648
CL=15660
Russ Cox [Mon, 22 Sep 2008 23:26:57 +0000 (16:26 -0700)]
add "once" package
R=r
DELTA=79 (79 added, 0 deleted, 0 changed)
OCL=15656
CL=15656
Russ Cox [Mon, 22 Sep 2008 23:16:22 +0000 (16:16 -0700)]
re-fix bug067, update golden.out
R=r
DELTA=9 (4 added, 3 deleted, 2 changed)
OCL=15655
CL=15655
Russ Cox [Mon, 22 Sep 2008 20:47:59 +0000 (13:47 -0700)]
implement spec: when main.main returns, the program exits
R=r
DELTA=9 (7 added, 2 deleted, 0 changed)
OCL=15628
CL=15643
Russ Cox [Mon, 22 Sep 2008 20:47:53 +0000 (13:47 -0700)]
test cleanup
- do not print tracebacks if $GOTRACEBACK=0
- set GOTRACEBACK=0 during tests
- filter out pc numbers in errors
R=r
DELTA=70 (22 added, 30 deleted, 18 changed)
OCL=15618
CL=15642
Russ Cox [Mon, 22 Sep 2008 20:46:57 +0000 (13:46 -0700)]
time bug: darwin, linux return microseconds not nanoseconds
R=r
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=15626
CL=15641
Russ Cox [Mon, 22 Sep 2008 19:45:01 +0000 (12:45 -0700)]
compiler changes:
export.c:
- only expose explicitly exported types to importer
- fix behind your back
go.h:
- add deep() prototype (fixes 64-bit linux crash on time.go)
go.y:
- add a new syntax error case
walk.c:
- allow a,b = f() where f is func ptr (fixes bug088)
R=ken
OCL=15617
CL=15630
Ken Thompson [Mon, 22 Sep 2008 19:16:19 +0000 (12:16 -0700)]
now method/interface code
R=r
OCL=15627
CL=15627
Ian Lance Taylor [Mon, 22 Sep 2008 18:29:40 +0000 (11:29 -0700)]
Correct two web links, add missing semicolon after <.
R=r
DELTA=3 (0 added, 0 deleted, 3 changed)
OCL=15619
CL=15624
Russ Cox [Mon, 22 Sep 2008 17:56:54 +0000 (10:56 -0700)]
better yacc rule in Makefile
if y.tab.c is older than y.tab.h, make
interprets doing nothing as a failure,
because y.tab.c hasn't been updated.
so update it.
R=r
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=15615
CL=15622
Ken Thompson [Sun, 21 Sep 2008 02:56:40 +0000 (19:56 -0700)]
another async select bug
R=r
OCL=15599
CL=15599
Rob Pike [Sat, 20 Sep 2008 22:16:48 +0000 (15:16 -0700)]
fix some tests
R=ken
OCL=15598
CL=15598
Ken Thompson [Sat, 20 Sep 2008 21:59:15 +0000 (14:59 -0700)]
bug103 - but the fix caused other
things to break. hopefully all fixed
now.
R=r
OCL=15597
CL=15597
Ken Thompson [Sat, 20 Sep 2008 03:52:59 +0000 (20:52 -0700)]
channel test
R=r
OCL=15587
CL=15587
Ken Thompson [Sat, 20 Sep 2008 03:43:30 +0000 (20:43 -0700)]
fix bugs in asynch select
R=r
OCL=15586
CL=15586
Robert Griesemer [Sat, 20 Sep 2008 01:06:53 +0000 (18:06 -0700)]
- heuristics for parsing composite literals in some cases
- fixed result parsing of function types
R=r
OCL=15585
CL=15585
Robert Griesemer [Fri, 19 Sep 2008 22:49:55 +0000 (15:49 -0700)]
Updated spec:
- clarified constants and constant expressions
- clarified type of array composite literals (fixed vs open arrays)
- clarified type of map composite literals (need to use '&' to get
a map pointer)
- added proposal for "if-else" (TBD)
- added TODO w/ respect to "x, ok = <-ch" (and for arrays)
R=r
DELTA=51 (35 added, 0 deleted, 16 changed)
OCL=15573
CL=15575
Russ Cox [Fri, 19 Sep 2008 22:23:16 +0000 (15:23 -0700)]
export an os.Error constructor
R=r
DELTA=20 (6 added, 7 deleted, 7 changed)
OCL=15569
CL=15571
Ian Lance Taylor [Fri, 19 Sep 2008 21:39:49 +0000 (14:39 -0700)]
Check for specific error messages in the testsuite. This
permits testing that the compiler emits error messages for
specific lines that match egrep regexps. The desired error
messages are expressed using comments of the form
// ERROR "regexp"
R=r
DELTA=90 (73 added, 8 deleted, 9 changed)
OCL=15513
CL=15566
Rob Pike [Fri, 19 Sep 2008 19:52:00 +0000 (12:52 -0700)]
more nuanced handling of usage message to allow user control.
also print argv(0) in default message
R=gri
DELTA=37 (21 added, 9 deleted, 7 changed)
OCL=15540
CL=15554
Robert Griesemer [Fri, 19 Sep 2008 19:12:28 +0000 (12:12 -0700)]
- simplified parser by better factoring
R=r
OCL=15539
CL=15542
Russ Cox [Fri, 19 Sep 2008 18:55:46 +0000 (11:55 -0700)]
add gobuild.
use gobuild-generated Makefile for math and os.
other makefile tweaks.
move math/main.go to test/math.go
R=r
OCL=15529
CL=15537
Robert Griesemer [Fri, 19 Sep 2008 17:56:35 +0000 (10:56 -0700)]
- fix for out-of-bounds error found by rsc
- removed tests that may have wrong Go code from Makefile
R=r
OCL=15532
CL=15532
Russ Cox [Fri, 19 Sep 2008 16:39:09 +0000 (09:39 -0700)]
avoid dereferencing nil type on undefined name.
R=ken
DELTA=12 (12 added, 0 deleted, 0 changed)
OCL=15506
CL=15528
Robert Griesemer [Fri, 19 Sep 2008 06:30:32 +0000 (23:30 -0700)]
- fixed another parser bug, now correctly parse more tests
R=r
OCL=15518
CL=15518
Robert Griesemer [Fri, 19 Sep 2008 06:16:22 +0000 (23:16 -0700)]
- added item to TODO list in go_spec
- filed a bug
R=r
OCL=15517
CL=15517
Robert Griesemer [Fri, 19 Sep 2008 06:09:07 +0000 (23:09 -0700)]
- fixed old test cases with wrong syntax
- added more test cases to Makefile
- fixed another parser issue (possibly a 6g bug - to be tracked down)
R=r
OCL=15516
CL=15516
Robert Griesemer [Fri, 19 Sep 2008 05:53:54 +0000 (22:53 -0700)]
- fixed bug which prevented parser.go from compiling
(typo in ptr decl lead to an unresolved forward declaration)
- fixed parser bugs
- fixed Makefile
- now successfully parses most code
Issues:
- composite literals (cannot be identified easily from syntax alone)
- new(T, ...) (cannot be identified easily from syntax alone since
new is not a keyword and thus could be a different function then
the allocation function at which point "new((x + y))" is legal,
but the inner "(x" looks like the beginning of a function type)
R=r
OCL=15515
CL=15515
Robert Griesemer [Thu, 18 Sep 2008 23:58:37 +0000 (16:58 -0700)]
First cut at a Go pretty printer:
- code scavenged from Go-in-Go front-end (will merge back)
- using "symbol-table" free parsing to build AST
- no printing yet
R=r
OCL=15504
CL=15504
Russ Cox [Thu, 18 Sep 2008 22:56:46 +0000 (15:56 -0700)]
proper handling of signals.
do not run init on g0.
R=r
DELTA=161 (124 added, 23 deleted, 14 changed)
OCL=15490
CL=15497
Russ Cox [Thu, 18 Sep 2008 22:54:21 +0000 (15:54 -0700)]
whitespace
R=r
DELTA=0 (0 added, 0 deleted, 0 changed)
OCL=15492
CL=15494
Russ Cox [Thu, 18 Sep 2008 22:50:28 +0000 (15:50 -0700)]
clean blyacc
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15489
CL=15493
Russ Cox [Thu, 18 Sep 2008 22:41:20 +0000 (15:41 -0700)]
add -K flag to check stack underflow
R=ken
DELTA=38 (36 added, 0 deleted, 2 changed)
OCL=15482
CL=15491
Russ Cox [Thu, 18 Sep 2008 22:09:48 +0000 (15:09 -0700)]
make blyacc too
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15488
CL=15488
Russ Cox [Thu, 18 Sep 2008 22:06:43 +0000 (15:06 -0700)]
make Makefiles safe for parallel make
use -j4 (4-way parallel) in make.bash.
halves time for make.bash on r45
also add libregexp, acid to default build
R=r
DELTA=90 (39 added, 37 deleted, 14 changed)
OCL=15485
CL=15487
Russ Cox [Thu, 18 Sep 2008 22:06:14 +0000 (15:06 -0700)]
make acid build on linux.
recognize symbol table info again on 64-only linux.
R=r
DELTA=11 (9 added, 0 deleted, 2 changed)
OCL=15486
CL=15486
Russ Cox [Thu, 18 Sep 2008 20:32:14 +0000 (13:32 -0700)]
more helpful messages for name-related syntax errors.
R=ken
OCL=15477
CL=15479
Russ Cox [Wed, 17 Sep 2008 23:20:00 +0000 (16:20 -0700)]
time & date.
rename AddrToInt, StatToInt, etc -> BytePtr, StatPtr, ...
R=r
OCL=15450
CL=15456
Robert Griesemer [Wed, 17 Sep 2008 21:26:01 +0000 (14:26 -0700)]
- updated printing of chan types
R=r
OCL=15448
CL=15448
Russ Cox [Wed, 17 Sep 2008 21:09:44 +0000 (14:09 -0700)]
Linux bison rejects // comments outside { code snippets }
R=ken
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15444
CL=15446
Russ Cox [Wed, 17 Sep 2008 21:08:52 +0000 (14:08 -0700)]
fix printing of -(1<<63)
R=r
OCL=15441
CL=15445
Robert Griesemer [Wed, 17 Sep 2008 20:57:11 +0000 (13:57 -0700)]
adjusted doc to incorporate new channel notation
(still a couple of TODO's with respect to the new
notation).
R=r
DELTA=71 (10 added, 11 deleted, 50 changed)
OCL=15419
CL=15443
Russ Cox [Wed, 17 Sep 2008 20:49:23 +0000 (13:49 -0700)]
add network listening & tests
R=r,presotto
OCL=15410
CL=15440
Robert Griesemer [Wed, 17 Sep 2008 20:05:39 +0000 (13:05 -0700)]
- changed my scanner/parser to accept new channel syntax
R=r
OCL=15439
CL=15439
Rob Pike [Wed, 17 Sep 2008 19:14:52 +0000 (12:14 -0700)]
tutorial code:
tweak a program or two
delete unused programs
add shell script to run them all
R=gri
DELTA=213 (62 added, 147 deleted, 4 changed)
OCL=15435
CL=15437
Ken Thompson [Wed, 17 Sep 2008 03:51:50 +0000 (20:51 -0700)]
assignment in select
with new select operator
R=r
OCL=15418
CL=15418
Rob Pike [Wed, 17 Sep 2008 02:40:38 +0000 (19:40 -0700)]
update to new communications syntax
R=gri
OCL=15417
CL=15417
Rob Pike [Wed, 17 Sep 2008 02:33:40 +0000 (19:33 -0700)]
update tests to new communications syntax
powser1.go has not been tested - waiting for compiler to catch up
R=ken
OCL=15415
CL=15415
Rob Pike [Wed, 17 Sep 2008 02:14:33 +0000 (19:14 -0700)]
new grammar:
binary <- is send
unary <- is recv
-< is gone
case a := <-ch: works in select
case a = <-ch: works in select
support for new cases is not yet in the compiler but all non-select
code works
second CL will update affected go source
R=ken
OCL=15414
CL=15414
Russ Cox [Tue, 16 Sep 2008 21:15:54 +0000 (14:15 -0700)]
fix / work around bugs in bufio test
R=r
DELTA=11 (8 added, 0 deleted, 3 changed)
OCL=15405
CL=15405
Rob Pike [Tue, 16 Sep 2008 21:03:43 +0000 (14:03 -0700)]
fix some broken tests (tests themselves were wrong)
R=gri,rsc
OCL=15310
CL=15402
Rob Pike [Tue, 16 Sep 2008 21:02:41 +0000 (14:02 -0700)]
var bug is fixed
R=rsc
OCL=15400
CL=15400
Russ Cox [Tue, 16 Sep 2008 20:42:47 +0000 (13:42 -0700)]
preliminary network - just Dial for now
R=r,presotto
OCL=15393
CL=15399
Rob Pike [Tue, 16 Sep 2008 20:14:44 +0000 (13:14 -0700)]
section on service multiplexing
R=gri
DELTA=75 (57 added, 4 deleted, 14 changed)
OCL=15394
CL=15398
Russ Cox [Tue, 16 Sep 2008 19:33:00 +0000 (12:33 -0700)]
acid fixes etc. still not perfect.
R=r
DELTA=764 (694 added, 38 deleted, 32 changed)
OCL=15285
CL=15395
Rob Pike [Tue, 16 Sep 2008 18:00:11 +0000 (11:00 -0700)]
replace 235 with sieve - less problematic
add programs, not yet described, to demonstrate servers.
R=gri
DELTA=279 (177 added, 16 deleted, 86 changed)
OCL=15380
CL=15389
Ken Thompson [Tue, 16 Sep 2008 02:07:23 +0000 (19:07 -0700)]
redeclaring methods
R=r
OCL=15375
CL=15375
Ken Thompson [Mon, 15 Sep 2008 22:03:10 +0000 (15:03 -0700)]
bug - divide and mod of a byte
R=r
OCL=15370
CL=15370
Rob Pike [Mon, 15 Sep 2008 21:27:15 +0000 (14:27 -0700)]
update bugs
delete bug100.go since the compiler is doing what we agreed.
R=gri
OCL=15367
CL=15367
Rob Pike [Mon, 15 Sep 2008 18:48:37 +0000 (11:48 -0700)]
develop interfaces through cats
sort
2,3,5
R=gri
DELTA=648 (647 added, 0 deleted, 1 changed)
OCL=15315
CL=15352
Ken Thompson [Mon, 15 Sep 2008 00:29:50 +0000 (17:29 -0700)]
robs wednesday bug
R=r
OCL=15327
CL=15327
Ken Thompson [Sun, 14 Sep 2008 23:57:55 +0000 (16:57 -0700)]
methods on any type
-- but only *struct tested
R=r
OCL=15326
CL=15326
Ken Thompson [Sat, 13 Sep 2008 21:51:39 +0000 (14:51 -0700)]
package name on signatures thru rename
R=r
OCL=15314
CL=15314