Closed Bug 513909 Opened 16 years ago Closed 14 years ago

Make JS build with VC7.1

Categories

(Core :: JavaScript Engine, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: neil, Assigned: neil)

Details

Attachments

(4 files, 1 obsolete file)

...by working around VC7.1's lack of support for varadic macros again. * In jscntxt.h, define and use LabelMap * In jsscan.cpp, fallback on getc * In jstracer.h, define js_LogController * In nanojit.h, define Nano* macros outside of the namespace * In nanojit.h, don't include commas in macro arguments
Attached patch Proposed patchSplinter Review
I considered making verbose_arg add the comma i.e. #define verbose_arg(x) , x compile(foo, bar, baz verbose_arg(x)); I also wasn't sure whether my changes from DEBUG to JS_JIT_SPEW were correct.
Assignee: general → neil
Status: NEW → ASSIGNED
Attachment #397855 - Flags: review?(graydon)
It turns out that VC7 can't explicitly construct arrays. This isn't a problem except in one edge case - compiling a completely empty function body (for instance, the body of the "fireActiveItemEvent" in richlistbox.xml). In this case the token stream never gets initialised which confuses the compiler.
Attachment #398212 - Flags: review?(graydon)
Sorry for extra patch... this affects VC7.1 debug only; the value is set in a debug_only_stmt (which is commented out for varadic macro reasons) and JS_ASSERT is compiled out in release builds which is why nobody else hits it.
Attachment #398219 - Flags: review?(graydon)
Attached patch proposed patch (obsolete) — Splinter Review
(with cygwin patch of Bug 456924 mixed but it should not affect those not using cygwin build environment, sorry about that.)
Attachment #408382 - Flags: review?(graydon)
(with cygwin patch of Bug 456924 mixed but it should not affect those not using cygwin build environment, sorry about that.)
Attachment #408382 - Attachment is obsolete: true
Attachment #408382 - Flags: review?(graydon)
Neil, are you still working on this?
(In reply to Ryan VanderMeulen from comment #6) > Neil, are you still working on this? This was only targeted at Gecko 1.9.x anyway.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
Comment on attachment 397855 [details] [diff] [review] Proposed patch Long dead, clearing out queue.
Attachment #397855 - Flags: review?(graydon)
Comment on attachment 398212 [details] [diff] [review] Fix compilation of empty functions Long dead, clearing out queue.
Attachment #398212 - Flags: review?(graydon)
Comment on attachment 398219 [details] [diff] [review] Don't test debug_only_stmt assertion Long dead, clearing out queue.
Attachment #398219 - Flags: review?(graydon)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: