Mingw build error in ../mozilla/js/src/jslock.c: syntax error

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
10 years ago
10 years ago

People

(Reporter: Bengt-Erik Soderstrom, Unassigned)

Tracking

Trunk
x86
Windows XP
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite -
in-litmus -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 3 obsolete attachments)

(Reporter)

Description

10 years ago
Mingw now reports syntax error in ../mozilla/js/src/jslock.c

I believe this is a regression from the check in for bug 417077. Backing out solves this build error, but exposes another in ../mozilla/js/src/jsregexp.c,
regression from fixing bug 417100


d/mozilla/mozilla/js/src/jslock.c
In file included from d:/mozilla/mozilla/js/src/jslock.c:51:
d:/mozilla/mozilla/js/src/jscntxt.h:755: warning: type of bit-field `operationCa
llbackIsSet' is a GCC extension
d:/mozilla/mozilla/js/src/jscntxt.h:756: warning: type of bit-field `operationLi
mit' is a GCC extension
d:/mozilla/mozilla/js/src/jslock.c:126: error: syntax error before "static"
d:/mozilla/mozilla/js/src/jslock.c:1006: error: syntax error before "void"
d:/mozilla/mozilla/js/src/jslock.c:1020: error: syntax error before "void"
make[4]: *** [jslock.o] Error 1
make[4]: Leaving directory `/cygdrive/d/mozilla/mozilla/object-mingw/js/src'
make[3]: *** [libs_tier_js] Error 2
make[3]: Leaving directory `/cygdrive/d/mozilla/mozilla/object-mingw'
make[2]: *** [tier_js] Error 2
make[2]: Leaving directory `/cygdrive/d/mozilla/mozilla/object-mingw'
make[1]: *** [alldep] Error 2
make[1]: Leaving directory `/cygdrive/d/mozilla/mozilla/object-mingw'
make: *** [alldep] Error 2


Partial error log from mozilla/js/src/jsregexp.c :

d:/mozilla/mozilla/js/src/jsregexp.c:3062: error: redefinition of 'result'
d:/mozilla/mozilla/js/src/jsregexp.c:3009: error: previous definition of 'result
' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3062: error: redefinition of 'result'
d:/mozilla/mozilla/js/src/jsregexp.c:2546: error: previous definition of 'result
' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3062: warning: initialization makes integer
 from pointer without a cast
d:/mozilla/mozilla/js/src/jsregexp.c:3062: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3063: error: syntax error before "goto"
d:/mozilla/mozilla/js/src/jsregexp.c:3065: warning: type defaults to `int' in de
claration of `result'
d:/mozilla/mozilla/js/src/jsregexp.c:3065: error: redefinition of 'result'
d:/mozilla/mozilla/js/src/jsregexp.c:3062: error: previous definition of 'result
' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3065: error: redefinition of 'result'
d:/mozilla/mozilla/js/src/jsregexp.c:2546: error: previous definition of 'result
' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3065: error: initializer element is not con
stant
d:/mozilla/mozilla/js/src/jsregexp.c:3065: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3066: error: syntax error before '}' token
d:/mozilla/mozilla/js/src/jsregexp.c:3078: warning: type defaults to `int' in de
claration of `pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3078: error: redefinition of 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3021: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3078: error: conflicting types for 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:2522: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3078: error: initializer element is not con
stant
d:/mozilla/mozilla/js/src/jsregexp.c:3078: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3079: warning: type defaults to `int' in de
claration of `op'
d:/mozilla/mozilla/js/src/jsregexp.c:3079: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:3026: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3079: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:2756: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3079: error: invalid type argument of `unar
y *'
d:/mozilla/mozilla/js/src/jsregexp.c:3079: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3080: warning: type defaults to `int' in de
claration of `parenSoFar'
d:/mozilla/mozilla/js/src/jsregexp.c:3080: error: conflicting types for 'parenSo
Far'
d:/mozilla/mozilla/js/src/jsregexp.c:2734: error: previous definition of 'parenS
oFar' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3080: error: initializer element is not con
stant
d:/mozilla/mozilla/js/src/jsregexp.c:3080: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3081: error: syntax error before "continue"

d:/mozilla/mozilla/js/src/jsregexp.c:3103: warning: type defaults to `int' in de
claration of `pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3103: error: redefinition of 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3078: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3103: error: conflicting types for 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:2522: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3103: error: initializer element is not con
stant
d:/mozilla/mozilla/js/src/jsregexp.c:3103: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3105: error: syntax error before '->' token

d:/mozilla/mozilla/js/src/jsregexp.c:3106: error: syntax error before "void"
d:/mozilla/mozilla/js/src/jsregexp.c:3117: warning: type defaults to `int' in de
claration of `op'
d:/mozilla/mozilla/js/src/jsregexp.c:3117: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:3079: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3117: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:2756: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3117: error: invalid type argument of `unar
y *'
d:/mozilla/mozilla/js/src/jsregexp.c:3117: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3118: error: syntax error before '}' token
d:/mozilla/mozilla/js/src/jsregexp.c:3124: warning: type defaults to `int' in de
claration of `pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3124: error: redefinition of 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3103: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3124: error: conflicting types for 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:2522: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3124: error: subscripted value is neither a
rray nor pointer
d:/mozilla/mozilla/js/src/jsregexp.c:3124: error: subscripted value is neither a
rray nor pointer
d:/mozilla/mozilla/js/src/jsregexp.c:3124: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3125: warning: type defaults to `int' in de
claration of `op'
d:/mozilla/mozilla/js/src/jsregexp.c:3125: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:3117: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3125: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:2756: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3125: error: invalid type argument of `unar
y *'
d:/mozilla/mozilla/js/src/jsregexp.c:3125: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3126: error: syntax error before '}' token
d:/mozilla/mozilla/js/src/jsregexp.c:3133: error: syntax error before string con
stant
d:/mozilla/mozilla/js/src/jsregexp.c:3134: warning: type defaults to `int' in de
claration of `re_debug'
d:/mozilla/mozilla/js/src/jsregexp.c:3134: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3155: warning: type defaults to `int' in de
claration of `op'
d:/mozilla/mozilla/js/src/jsregexp.c:3155: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:3125: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3155: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:2756: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3155: error: invalid type argument of `unar
y *'
d:/mozilla/mozilla/js/src/jsregexp.c:3155: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3155: error: syntax error before "void"
d:/mozilla/mozilla/js/src/jsregexp.c:3172: warning: type defaults to `int' in de
claration of `op'
d:/mozilla/mozilla/js/src/jsregexp.c:3172: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:3155: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3172: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:2756: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3172: error: invalid type argument of `unar
y *'
d:/mozilla/mozilla/js/src/jsregexp.c:3172: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3172: error: syntax error before "void"
d:/mozilla/mozilla/js/src/jsregexp.c:3185: warning: type defaults to `int' in de
claration of `pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3185: error: redefinition of 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3124: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3185: error: conflicting types for 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:2522: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3185: error: subscripted value is neither a
rray nor pointer
d:/mozilla/mozilla/js/src/jsregexp.c:3185: error: subscripted value is neither a
rray nor pointer
d:/mozilla/mozilla/js/src/jsregexp.c:3185: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3186: warning: type defaults to `int' in de
claration of `op'
d:/mozilla/mozilla/js/src/jsregexp.c:3186: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:3172: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3186: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:2756: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3186: error: invalid type argument of `unar
y *'
d:/mozilla/mozilla/js/src/jsregexp.c:3186: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3187: error: syntax error before "void"
d:/mozilla/mozilla/js/src/jsregexp.c:3191: warning: type defaults to `int' in de
claration of `result'
d:/mozilla/mozilla/js/src/jsregexp.c:3191: error: redefinition of 'result'
d:/mozilla/mozilla/js/src/jsregexp.c:3065: error: previous definition of 'result
' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3191: error: redefinition of 'result'
d:/mozilla/mozilla/js/src/jsregexp.c:2546: error: previous definition of 'result
' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3191: warning: initialization makes integer
 from pointer without a cast
d:/mozilla/mozilla/js/src/jsregexp.c:3191: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3192: error: syntax error before '}' token
d:/mozilla/mozilla/js/src/jsregexp.c:3218: warning: type defaults to `int' in de
claration of `backTrackData'
d:/mozilla/mozilla/js/src/jsregexp.c:3218: error: conflicting types for 'backTra
ckData'
d:/mozilla/mozilla/js/src/jsregexp.c:2727: error: previous declaration of 'backT
rackData' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3218: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3219: error: syntax error before '->' token

d:/mozilla/mozilla/js/src/jsregexp.c:3223: warning: type defaults to `int' in de
claration of `pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3223: error: redefinition of 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:3185: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3223: error: conflicting types for 'pc'
d:/mozilla/mozilla/js/src/jsregexp.c:2522: error: previous definition of 'pc' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3223: error: invalid type argument of `->'
d:/mozilla/mozilla/js/src/jsregexp.c:3223: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3224: warning: type defaults to `int' in de
claration of `op'
d:/mozilla/mozilla/js/src/jsregexp.c:3224: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:3186: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3224: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:2756: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3224: error: invalid type argument of `->'
d:/mozilla/mozilla/js/src/jsregexp.c:3224: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3225: error: syntax error before "void"
d:/mozilla/mozilla/js/src/jsregexp.c:3227: error: syntax error before "void"
d:/mozilla/mozilla/js/src/jsregexp.c:3229: error: syntax error before '->' token

d:/mozilla/mozilla/js/src/jsregexp.c:3231: warning: type defaults to `int' in de
claration of `curState'
d:/mozilla/mozilla/js/src/jsregexp.c:3231: error: conflicting types for 'curStat
e'
d:/mozilla/mozilla/js/src/jsregexp.c:2731: error: previous declaration of 'curSt
ate' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3231: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3233: error: syntax error before "if"
d:/mozilla/mozilla/js/src/jsregexp.c:3238: warning: type defaults to `int' in de
claration of `parenSoFar'
d:/mozilla/mozilla/js/src/jsregexp.c:3238: error: redefinition of 'parenSoFar'
d:/mozilla/mozilla/js/src/jsregexp.c:3080: error: previous definition of 'parenS
oFar' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3238: error: redefinition of 'parenSoFar'
d:/mozilla/mozilla/js/src/jsregexp.c:3080: error: previous definition of 'parenS
oFar' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3238: error: invalid type argument of `->'
d:/mozilla/mozilla/js/src/jsregexp.c:3238: error: invalid type argument of `->'
d:/mozilla/mozilla/js/src/jsregexp.c:3238: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3239: error: syntax error before '}' token
d:/mozilla/mozilla/js/src/jsregexp.c:3242: warning: type defaults to `int' in de
claration of `parenSoFar'
d:/mozilla/mozilla/js/src/jsregexp.c:3242: error: redefinition of 'parenSoFar'
d:/mozilla/mozilla/js/src/jsregexp.c:3238: error: previous definition of 'parenS
oFar' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3242: error: redefinition of 'parenSoFar'
d:/mozilla/mozilla/js/src/jsregexp.c:3080: error: previous definition of 'parenS
oFar' was here
d:/mozilla/mozilla/js/src/jsregexp.c:3242: error: invalid type argument of `->'
d:/mozilla/mozilla/js/src/jsregexp.c:3242: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3243: error: syntax error before '}' token
d:/mozilla/mozilla/js/src/jsregexp.c:3245: error: syntax error before string con
stant
d:/mozilla/mozilla/js/src/jsregexp.c:3250: warning: type defaults to `int' in de
claration of `x'
d:/mozilla/mozilla/js/src/jsregexp.c:3250: error: redefinition of 'x'
d:/mozilla/mozilla/js/src/jsregexp.c:2754: error: previous definition of 'x' was
 here
d:/mozilla/mozilla/js/src/jsregexp.c:3250: error: redefinition of 'x'
d:/mozilla/mozilla/js/src/jsregexp.c:2754: error: previous definition of 'x' was
 here
d:/mozilla/mozilla/js/src/jsregexp.c:3250: error: initializer element is not con
stant
d:/mozilla/mozilla/js/src/jsregexp.c:3250: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3255: warning: type defaults to `int' in de
claration of `op'
d:/mozilla/mozilla/js/src/jsregexp.c:3255: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:3224: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3255: error: redefinition of 'op'
d:/mozilla/mozilla/js/src/jsregexp.c:2756: error: previous definition of 'op' wa
s here
d:/mozilla/mozilla/js/src/jsregexp.c:3255: error: invalid type argument of `unar
y *'
d:/mozilla/mozilla/js/src/jsregexp.c:3255: error: ISO C forbids data definition
with no type or storage class
d:/mozilla/mozilla/js/src/jsregexp.c:3256: error: syntax error before "void"
d:/mozilla/mozilla/js/src/jsregexp.c: In function `MatchRegExp':
d:/mozilla/mozilla/js/src/jsregexp.c:3285: warning: implicit declaration of func
tion `ExecuteREBytecode'
d:/mozilla/mozilla/js/src/jsregexp.c:3285: warning: assignment makes pointer fro
m integer without a cast
make[4]: *** [jsregexp.o] Error 1
make[4]: Leaving directory `/cygdrive/d/mozilla/mozilla/object-mingw/js/src'
make[3]: *** [libs_tier_js] Error 2
make[3]: Leaving directory `/cygdrive/d/mozilla/mozilla/object-mingw'
make[2]: *** [tier_js] Error 2
make[2]: Leaving directory `/cygdrive/d/mozilla/mozilla/object-mingw'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/d/mozilla/mozilla/object-mingw'
make: *** [build] Error 2
Blocks: 417077, 417100

Comment 1

10 years ago
Please follow along in 417419 and help us make sure this gets fixed there.
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Depends on: 417419
Resolution: --- → DUPLICATE
Duplicate of bug: 417419

Comment 2

10 years ago
Backing out 417077 yields regression from 417100 because the one patch relies on the other, fwiw.

Comment 3

10 years ago
Reopening this to deal with the MinGW issue.

As crowder said in bug 417419, removing |extern| will probably solve this. Can someone with MinGW test?
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Assignee: nobody → general
Status: REOPENED → NEW
Component: Build Config → JavaScript Engine
Product: Firefox → Core
QA Contact: build.config → general

Comment 4

10 years ago
jstypes.h currently has this code:

#ifdef _WIN32
# define JS_INLINE(x) __forceinline x
#elif defined(__GNUC__)

but _forceinline is a feature of MSC, not Windows. Either test for GCC first or (the solution I'd prefer) replace _WIN32 with MSC_VER.
(Reporter)

Comment 5

10 years ago
(In reply to comment #4)
> jstypes.h currently has this code:
> 
> #ifdef _WIN32
> # define JS_INLINE(x) __forceinline x
> #elif defined(__GNUC__)
> 
> but _forceinline is a feature of MSC, not Windows. Either test for GCC first or
> (the solution I'd prefer) replace _WIN32 with MSC_VER.
> 

This seems true as Mingw does not recognize the JS_INLINE macro, hence the syntax errors in jslock.c
(Reporter)

Comment 6

10 years ago
(In reply to comment #4)
> jstypes.h currently has this code:
> 
> #ifdef _WIN32
> # define JS_INLINE(x) __forceinline x
> #elif defined(__GNUC__)
> 
> but _forceinline is a feature of MSC, not Windows. Either test for GCC first or
> (the solution I'd prefer) replace _WIN32 with MSC_VER.
> 

That will solve the Mingw issue. But do you mean MSC_VER or _MSC_VER ?

Comment 7

10 years ago
(In reply to comment #6)
> That will solve the Mingw issue. But do you mean MSC_VER or _MSC_VER ?

The rest of code in SpiderMonkey checks for _MSC_VER, not MSC_VER. A fix should do the same.

Comment 8

10 years ago
(In reply to comment #7)
> The rest of code in SpiderMonkey checks for _MSC_VER, not MSC_VER. A fix should
> do the same.

Yes, and MSC_VER doesn't even exist. Sorry about the confusion.
(Reporter)

Comment 9

10 years ago
I have now tested Mingw and VC8 Express with this code in jstypes.h :

#ifdef _MSC_VER
> # define JS_INLINE(x) __forceinline x
> #elif defined(__GNUC__)

And it works well in both cases

(Reporter)

Comment 10

10 years ago
Created attachment 303538 [details] [diff] [review]
Possible patch ver.1

Possible patch to make Mingw compile
(Reporter)

Updated

10 years ago
Attachment #303538 - Flags: review?(jag-mozbugs)

Comment 11

10 years ago
Comment on attachment 303538 [details] [diff] [review]
Possible patch ver.1

I suspected the _WIN32 bit would cause MinGW problems. Using _MSC_VER is better.

Can you use |#if defined(_MSC_VER)| to mirror the |#elif defined(...)|?

Change the comment to "// Excludes MinGW, which will use the __GNUC__ path".

r+, but please attach an updated patch.
Attachment #303538 - Flags: review?(jag-mozbugs) → review+

Comment 12

10 years ago
Please don't use C++ style comments in spidermonkey.  /* is better */

Comment 13

10 years ago
Better still, just leave that comment out.

Comment 14

10 years ago
Oops, yes, thanks Brian. /* ... */ please! I considered suggesting leaving the comment out, but I think it'll be useful.
(Reporter)

Comment 15

10 years ago
Created attachment 303547 [details] [diff] [review]
Possible patch ver 2

New patch attached. I prefer the comment to stay,  /* comment */.
Attachment #303538 - Attachment is obsolete: true
Attachment #303547 - Flags: review+

Comment 16

10 years ago
Comment on attachment 303547 [details] [diff] [review]
Possible patch ver 2

Well, now the comment is too long.  You mustn't spill past 80 columns in spidermonkey code.

Comment 17

10 years ago
Also comment should be a sentence fragment, no first-char-cap and no "." on the end (which you don't have now, but shouldn't add)

Comment 18

10 years ago
Comment on attachment 303547 [details] [diff] [review]
Possible patch ver 2

Requestion a1.9+. Simple MinGW build bustage fix.
Attachment #303547 - Flags: approval1.9?

Comment 19

10 years ago
Comment on attachment 303547 [details] [diff] [review]
Possible patch ver 2

Actually, the MSC bit of _MSC_VER makes it pretty clear that MinGW won't be using that path, so I think it's fine to drop the comment. No need for a new patch, but whoever checks this in should remember to remove it first.
(Reporter)

Comment 20

10 years ago
Created attachment 303614 [details] [diff] [review]
Patch ver 3

OK guys. I just wrote the comments as was requested. Personally I think it is good coding practice to make a comment whenever you propose to change, especially in someone else's code.  Anyhow I took out the comment. Hopefully everything is OK now and you (jag) can perhaps have it checked-in.
(Reporter)

Updated

10 years ago
Attachment #303547 - Attachment is obsolete: true
Attachment #303547 - Flags: approval1.9?
(Reporter)

Updated

10 years ago
Attachment #303614 - Flags: review+
Attachment #303614 - Flags: approval1.9?

Updated

10 years ago
Duplicate of this bug: 418211

Comment 22

10 years ago
I'll check this in as soon as it gets approved. If someone else wants to check it in, please remove the space between defined and ( before doing so.
(Reporter)

Comment 23

10 years ago
Created attachment 304048 [details] [diff] [review]
Patch ver 3.1 -beautified

Now then?
Attachment #304048 - Flags: review+
Attachment #304048 - Flags: approval1.9?
(Reporter)

Updated

10 years ago
Attachment #303614 - Attachment is obsolete: true
Attachment #303614 - Flags: approval1.9?

Comment 24

10 years ago
Bengt-Erik: thanks, though you didn't really need to. a1.9+ is taking a while because there's a big queue and only so many people who can approve these things.
Comment on attachment 304048 [details] [diff] [review]
Patch ver 3.1 -beautified

a=me (fixing MIME type too).

/be
Attachment #304048 - Attachment is patch: true
Attachment #304048 - Flags: approval1.9? → approval1.9+

Comment 26

10 years ago
Checking in jstypes.h;
/cvsroot/mozilla/js/src/jstypes.h,v  <--  jstypes.h
new revision: 3.46; previous revision: 3.45
done
Status: NEW → RESOLVED
Last Resolved: 10 years ago10 years ago
Resolution: --- → FIXED

Updated

10 years ago
Flags: in-testsuite-
Flags: in-litmus-
You need to log in before you can comment on or make changes to this bug.