Closed Bug 238807 Opened 20 years ago Closed 20 years ago

Compilation error in txXPathTreeWalker.h when building txXMLParser

Categories

(Core :: XSLT, defect, P1)

HP
HP-UX
defect

Tracking

()

RESOLVED FIXED
mozilla1.8alpha1

People

(Reporter: kishan.thomas, Assigned: peterv)

Details

(Keywords: fixed1.7)

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; HP-UX 9000/785; en-US; rv:1.4) Gecko/20031022
Build Identifier: Mozilla/5.0 (X11; U; HP-UX ia64; en-US; rv:1.6) Gecko/20040227

Encountered the following compilation error when 
building Mozilla 1.6 on HP-UX platform with aCC compiler.

code
----

http://lxr.mozilla.org/mozilla/source/extensions/transformiix/source/xpath/txXPathTreeWalker.h

    73  class txXPathTreeWalker
    74  {
    75  public:
    76      explicit txXPathTreeWalker(const txXPathTreeWalker& aOther);
    77      explicit txXPathTreeWalker(const txXPathNode& aNode);
    78      ~txXPathTreeWalker();

compile
-------

http://lxr.mozilla.org/seamonkey/source/extensions/transformiix/source/xml/parser/txXMLParser.cpp

aCC -ext +DA1.1 +DS2.0 -o txXMLParser.o -c txXMLParser.cpp

error
-----

Error 513: "./../../xpath/txXPathTreeWalker.h", line 76 # 'explicit' may be used
only for convertin
g constructors.
        explicit txXPathTreeWalker(const txXPathTreeWalker& aOther);
                 ^^^^^^^^^^^^^^^^^

compiler
-------

aCC: HP ANSI C++ B3910B A.03.25

fix
--

The compiler error goes away on removing the 'explicit' 

    73  class txXPathTreeWalker
    74  {
    75  public:
    76      txXPathTreeWalker(const txXPathTreeWalker& aOther);
    77      txXPathTreeWalker(const txXPathNode& aNode);
    78      ~txXPathTreeWalker();





Reproducible: Always
Steps to Reproduce:
On HP-UX  platform using aCC compilers

1.  Build extensions/transformiix/source/xml/parser
2.  aCC -ext +DA1.1 +DS2.0 -o txXMLParser.o -c txXMLParser.cpp


Actual Results:  
Error 513: "./../../xpath/txXPathTreeWalker.h", line 76 # 'explicit' may be used
only for convertin
g constructors.
        explicit txXPathTreeWalker(const txXPathTreeWalker& aOther);

Expected Results:  
Expected no compilation error.
Yeah, the compiler looks correct.
Assignee: general → peterv
Component: DOM: Mozilla Extensions → XSLT
QA Contact: ian → keith
We still want to keep the explicit for signature taking an txXPathNode though.
Hmm.. another interesting question is if the copy-ctor is used at all? IIRC msvc
or gcc does fail when you try to actually call a copy-ctor that is marked as
explicit.
It would be good to check in the obvious one line patch so that it compiles, though.
The copy constructor is used (for example by txLocPathPattern::matches).
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → mozilla1.8alpha
Attached patch v1Splinter Review
Attachment #147449 - Flags: superreview?(jst)
Attachment #147449 - Flags: review?(axel)
Attachment #147449 - Flags: review?(axel) → review+
Comment on attachment 147449 [details] [diff] [review]
v1

sr=jst
Attachment #147449 - Flags: superreview?(jst) → superreview+
Comment on attachment 147449 [details] [diff] [review]
v1

Simple fix to make transformiix compile on HP-UX with the aCC compiler. No
risk.
Attachment #147449 - Flags: approval1.7?
Checked in on trunk and branch (forgot to mention a=dbaron in checkin comment :-/).
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Keywords: fixed1.7
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: