Hi, > and was generating warning about it. The same was with > hb_spinlock_acquire_r(). Finally I converted the second > one to macro and introduced additional variable 'r' to > pacify the warnings. Anyhow maybe I'll change it to macro > to in the future so I left parenthesis encapsulating 'sl' > parameter. > BTW what pragma allows to disable this BCC warnings? > I do not like that I have to introduce such hacks so > I'd prefer to simply disable warnings in BCC builds.
Here is the full list of warning control options: Option Number (Alias) Warning Message -w-ali -w-8086 Incorrect use of #pragma alias “aliasName” = “substitutename” (Default ON) -wamb -w8000 Ambiguous operators need parentheses (Default OFF) -wamp -w8001 Superfluous & with function (Default OFF) -w-asc -w-8002 Restarting compile using assembly (Default ON) -wasm -w8003 Unknown assembler instruction (Default OFF) -w-aus -w-8004 'identifier' is assigned a value that is never used (Default ON) -wbbf -w8005 Bit fields must be signed or unsigned int (Default OFF) -w-bei -w-8006 Initializing 'identifier' with 'identifier' (Default ON) -w-big -w-8007 Hexadecimal value contains more than three digits (Default ON) -w-ccc -w-8008 Condition is always true OR Condition is always false (Default ON) -wcln -w8009 Constant is long (Default OFF) -w-cod -w-8093 Incorrect use of #pragma codeseg (Default ON) -w-com -w-8010 Continuation character \ found in // comment (Default ON) -w-cpt -w-8011 Nonportable pointer comparison (Default ON) -w-csu -w-8012 Comparing signed and unsigned values (Default ON) -wdef -w8013 Possible use of 'identifier' before definition (Default OFF) -w-dig -w-8014 Declaration ignored (Default ON) -w-dpu -w-8015 Declare 'type' prior to use in prototype (Default ON) -w-dsz -w-8016 Array size for 'delete' ignored (Default ON) -w-dup -w-8017 Redefinition of 'macro' is not identical (Default ON) -w-eas -w-8018 Assigning ‘type’ to ‘enum’ (Default ON) -w-eff -w-8019 Code has no effect (Default ON) -w-ext -w-8020 'identifier' is declared as both external and static (Default ON) -w-hch -w-8021 Handler for 'type1' Hidden by Previous Handler for 'type2' (Default ON) -w-hid -w-8022 'function1' hides virtual function 'function2' (Default ON) -w-ias -w-8023 Array variable 'identifier' is near (Default ON) -w-ibc -w-8024 Base class 'class1' is also a base class of 'class2' (Default ON) -w-ifr -w-8085 Function 'function' redefined as non-inline (Default ON) -w-ill -w-8025 Ill-formed pragma (Default ON) -w-inl -w-8026 Functions containing certain constructs are not expanded inline (Default ON) -w-inl -w-8027 Functions containing reserved words are not expanded inline (Default ON) -w-lin -w-8028 Temporary used to initialize 'identifier' (Default ON) -w-lvc -w-8029 Temporary used for parameter 'parameter' (Default ON) -w-lvc -w-8030 Temporary used for parameter 'parameter' in call to 'function' (Default ON) -w-lvc -w-8031 Temporary used for parameter number (Default ON) -w-lvc -w-8032 Temporary used for parameter number in call to 'function' (Default ON) -w-mcs -w-8096 Incorrect use of #pragma code_seg (Default ON) -w-mes -w-8095 Incorrect use of #pragma message (Default ON) -w-mpc -w-8033 Conversion to ‘type’ fails for members of virtual base ‘base’ (Default ON) -w-mpd -w-8034 Maximum precision used for member pointer type ‘type’ (Default ON) -w-msg -w-8035 User-defined warnings (Default ON) -wnak -w8036 Non-ANSI Keyword Used: 'keyword' (Default OFF) (Note: Use of this option is required for ANSI conformance) -w-ncf -w-8037 Non-const function ‘function’ called for const object (Default ON) -w-nci -w-8038 Constant member 'identifier' is not initialized (Default ON) -w-ncl -w-8039 Constructor initializer list ignored (Default ON) -w-nfd -w-8040 Function body ignored (Default ON) -w-ngu -w-8041 Negating unsigned value (Default ON) -w-nin -w-8042 Initializer for object 'identifier' ignored (Default ON) -w-nma -w-8043 Macro definition ignored (Default ON) -w-nmu -w-8044 #undef directive ignored (Default ON) -wnod -w8045 No declaration for function 'function' (Default OFF) -w-nop -w-8046 Pragma option pop with no matching option push (Default ON) -w-npp -w-8083 Pragma pack pop with no matching pack push (Default ON) -w-nsf -w-8047 Declaration of static function 'function(...)' ignored (Default ON) -w-nst -w-8048 Use qualified name to access nested type 'type' (Default ON) -w-ntd -w-8049 Use '> >' for nested templates instead of '>>' (Default ON) -w-nto -w-8050 No type OBJ file present. Disabling external types option. (Default ON) -w-nvf -w-8051 Non-volatile function ‘function’ called for volatile object (Default ON) -w-obi -w-8052 Base initialization without a class name is now obsolete (Default ON) -w-obs -w-8053 'identifier' is obsolete (Default ON) -w-ofp -w-8054 Style of function definition is now obsolete (Default ON) -w-onr -w-8097 Not all options can be restored at this time (Default ON) -w-osh -w-8055 Possible overflow in shift operation (Default ON) -w-ovf -w-8056 Integer arithmetic overflow (Default ON) -w-par -w-8057 Parameter 'parameter' is never used (Default ON) -w-pch -w-8058 Cannot create pre-compiled header: ‘header’ (Default ON) -w-pck -w-8059 Structure packing size has changed (Default ON) -w-pcm -w-8094 Incorrect use of #pragma comment (Default ON) -w-pia -w-8060 Possibly incorrect assignment (Default ON) -wpin -w8061 Initialization is only partially bracketed (Default OFF) -w-pow -w-8062 Previous options and warnings not restored (Default ON) -w-prc -w-8084 Suggest parentheses to clarify precedence (Default OFF) -w-pre -w-8063 Overloaded prefix operator 'operator' used as a postfix operator (Default ON) -w-pro -w-8064 Call to function 'function' with no prototype (Default ON) -w-pro -w-8065 Call to function 'function' with no prototype (Default ON) -w-rch -w-8066 Unreachable code (Default ON) -w-ret -w-8067 Both return and return of a value used (Default ON) -w-rng -w-8068 Constant out of range in comparison (Default ON) -w-rpt -w-8069 Nonportable pointer conversion (Default ON) -w-rvl -w-8070 Function should return a value (Default ON) -wsig -w8071 Conversion may lose significant digits (Default OFF) -w-spa -w-8072 Suspicious pointer arithmetic (Default ON) -w-stl -w-8087 ‘operator==’ must be publicly visible to be contained by a ‘name’ (Default OFF) -w-stl -w-8089 ‘operator<’ must be publicly visible to be contained by a ‘name’ (Default OFF) -w-stl -w-8090 ‘operator<’ must be publicly visible to be used by a ‘name’ (Default OFF) -w-stl -w-8091 ‘type’ argument ‘argument’ passed to ‘function’ is a ‘type’ iterator. ‘type’ iterator required (Default OFF) -w-stl -w-8092 ‘type’ argument ‘argument’ passed to ‘function’ is not an iterator. ‘type’ iterator required (Default OFF) -wstu -w8073 Undefined structure 'structure' (Default OFF) -wstv -w8074 Structure passed by value (Default OFF) -w-sus -w-8075 Suspicious pointer conversion (Default ON) -w-tai -w-8076 Template instance 'instance' is already instantiated (Default ON) -w-tes -w-8077 Explicitly specializing an explicitly specialized class member makes no sense (Default ON) -w-thr -w-8078 Throw expression violates exception specification (Default ON) -wucp -w8079 Mixing pointers to different 'char' types (Default OFF) -wuse -w8080 'identifier' declared but never used (Default OFF) -w-voi -w-8081 void functions may not return a value (Default ON) -w-zdi -w-8082 Division by zero (Default ON) Brgds, Viktor _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour