fixincl.x 286 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784
  1. /* -*- buffer-read-only: t -*- vi: set ro:
  2. *
  3. * DO NOT EDIT THIS FILE (fixincl.x)
  4. *
  5. * It has been AutoGen-ed May 21, 2015 at 02:48:12 AM by AutoGen 5.18.3
  6. * From the definitions inclhack.def
  7. * and the template file fixincl
  8. */
  9. /* DO NOT SVN-MERGE THIS FILE, EITHER Thu May 21 02:48:12 UTC 2015
  10. *
  11. * You must regenerate it. Use the ./genfixes script.
  12. *
  13. *
  14. * This is part of the fixincl program used to install modified versions of
  15. * certain ANSI-incompatible system header files which are fixed to work
  16. * correctly with ANSI C and placed in a directory that GNU C will search.
  17. *
  18. * This file contains 229 fixup descriptions.
  19. *
  20. * See README for more information.
  21. *
  22. * inclhack copyright (c) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
  23. * 2006, 2007, 2008
  24. * The Free Software Foundation, Inc.
  25. *
  26. * inclhack is free software: you can redistribute it and/or modify it
  27. * under the terms of the GNU General Public License as published by the
  28. * Free Software Foundation, either version 3 of the License, or
  29. * (at your option) any later version.
  30. *
  31. * inclhack is distributed in the hope that it will be useful, but
  32. * WITHOUT ANY WARRANTY; without even the implied warranty of
  33. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  34. * See the GNU General Public License for more details.
  35. *
  36. * You should have received a copy of the GNU General Public License along
  37. * with this program. If not, see <http://www.gnu.org/licenses/>.
  38. */
  39. #ifndef SED_PROGRAM
  40. #define SED_PROGRAM "/usr/bin/sed"
  41. #endif
  42. static char const sed_cmd_z[] = SED_PROGRAM;
  43. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  44. *
  45. * Description of Aab_Aix_Stdio fix
  46. */
  47. tSCC zAab_Aix_StdioName[] =
  48. "AAB_aix_stdio";
  49. /*
  50. * File name selection pattern
  51. */
  52. tSCC zAab_Aix_StdioList[] =
  53. "stdio.h\0";
  54. /*
  55. * Machine/OS name selection pattern
  56. */
  57. tSCC* apzAab_Aix_StdioMachs[] = {
  58. "*-*-aix*",
  59. (const char*)NULL };
  60. /*
  61. * content selection pattern - do fix if pattern found
  62. */
  63. tSCC zAab_Aix_StdioSelect0[] =
  64. "define fopen fopen64";
  65. #define AAB_AIX_STDIO_TEST_CT 1
  66. static tTestDesc aAab_Aix_StdioTests[] = {
  67. { TT_EGREP, zAab_Aix_StdioSelect0, (regex_t*)NULL }, };
  68. /*
  69. * Fix Command Arguments for Aab_Aix_Stdio
  70. */
  71. static const char* apzAab_Aix_StdioPatch[] = {
  72. "wrap",
  73. "",
  74. "\n\
  75. #if defined __GNUG__ && defined _LARGE_FILES && defined __cplusplus\n\
  76. #define __need__aix_stdio_h_fix\n\
  77. #ifdef __need__aix_stdio_h_fix\n\
  78. #undef fseeko\n\
  79. #undef ftello\n\
  80. #undef fgetpos\n\
  81. #undef fsetpos\n\
  82. #undef fopen\n\
  83. #undef freopen\n\
  84. /* Alias the symbols using asm */\n\
  85. extern \"C\" {\n\
  86. extern int fgetpos(FILE *, fpos64_t *) __asm__(\"fgetpos64\");\n\
  87. extern FILE *fopen(const char *, const char *) __asm__(\"fopen64\");\n\
  88. extern FILE *freopen(const char *, const char *, FILE *) __asm__(\"freopen64\");\n\
  89. extern int fseeko(FILE *, off64_t, int) __asm__(\"fseeko64\");\n\
  90. extern int fsetpos(FILE *, const fpos64_t *) __asm__(\"fsetpos64\");\n\
  91. extern off64_t ftello(FILE *) __asm__(\"ftello64\");\n\
  92. }\n\
  93. #endif\n\
  94. #endif\n",
  95. (char*)NULL };
  96. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  97. *
  98. * Description of Aab_Aix_Fcntl fix
  99. */
  100. tSCC zAab_Aix_FcntlName[] =
  101. "AAB_aix_fcntl";
  102. /*
  103. * File name selection pattern
  104. */
  105. tSCC zAab_Aix_FcntlList[] =
  106. "fcntl.h\0";
  107. /*
  108. * Machine/OS name selection pattern
  109. */
  110. tSCC* apzAab_Aix_FcntlMachs[] = {
  111. "*-*-aix*",
  112. (const char*)NULL };
  113. /*
  114. * content selection pattern - do fix if pattern found
  115. */
  116. tSCC zAab_Aix_FcntlSelect0[] =
  117. "define open[ \t]open64";
  118. #define AAB_AIX_FCNTL_TEST_CT 1
  119. static tTestDesc aAab_Aix_FcntlTests[] = {
  120. { TT_EGREP, zAab_Aix_FcntlSelect0, (regex_t*)NULL }, };
  121. /*
  122. * Fix Command Arguments for Aab_Aix_Fcntl
  123. */
  124. static const char* apzAab_Aix_FcntlPatch[] = {
  125. "wrap",
  126. "",
  127. "\n\
  128. #if defined __GNUG__ && defined _LARGE_FILES && defined __cplusplus\n\
  129. #define __need__aix_fcntl_h_fix\n\
  130. #ifdef __need__aix_fcntl_h_fix\n\
  131. #undef open\n\
  132. #undef creat\n\
  133. #undef openat\n\
  134. /* Alias the symbols using asm */\n\
  135. extern \"C\" {\n\
  136. extern int open(const char *, int, ...) __asm__(\"open64\");\n\
  137. extern int creat(const char *, mode_t) __asm__(\"creat64\");\n\
  138. #if (_XOPEN_SOURCE >= 700)\n\
  139. extern int openat(int, const char *, int, ...) __asm__(\"open64at\");\n\
  140. #endif\n\
  141. }\n\
  142. #endif\n\
  143. #endif\n",
  144. (char*)NULL };
  145. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  146. *
  147. * Description of Aab_Darwin7_9_Long_Double_Funcs fix
  148. */
  149. tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
  150. "AAB_darwin7_9_long_double_funcs";
  151. /*
  152. * File name selection pattern
  153. */
  154. tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
  155. "architecture/ppc/math.h\0";
  156. /*
  157. * Machine/OS name selection pattern
  158. */
  159. tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
  160. "*-*-darwin7.9*",
  161. (const char*)NULL };
  162. /*
  163. * content bypass pattern - skip fix if pattern found
  164. */
  165. tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
  166. "powl";
  167. #define AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT 1
  168. static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
  169. { TT_NEGREP, zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
  170. /*
  171. * Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
  172. */
  173. static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = {
  174. "/* This file prototypes the long double functions available on Mac OS\n\
  175. 10.3.9. */\n\
  176. #ifndef __MATH__\n\
  177. # undef __APPLE_CC__\n\
  178. # define __APPLE_CC__ 1345\n\
  179. # include_next <architecture/ppc/math.h>\n\
  180. # undef __APPLE_CC__\n\
  181. # define __APPLE_CC__ 1\n\
  182. # ifndef __LIBMLDBL_COMPAT\n\
  183. # ifdef __LONG_DOUBLE_128__\n\
  184. # define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\
  185. # else\n\
  186. # define __LIBMLDBL_COMPAT(sym)\n\
  187. # endif /* __LONG_DOUBLE_128__ */\n\
  188. # endif /* __LIBMLDBL_COMPAT */\n\
  189. # ifdef __cplusplus\n\
  190. extern \"C\" {\n\
  191. # endif\n\
  192. extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\
  193. extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\
  194. extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\
  195. extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\
  196. extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\
  197. extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\
  198. extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\
  199. extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\
  200. extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\
  201. extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\
  202. extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\
  203. extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\
  204. extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\
  205. extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\
  206. extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\
  207. extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\
  208. extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\
  209. extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\
  210. extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\
  211. extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\
  212. extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\
  213. extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\
  214. extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\
  215. extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\
  216. extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\
  217. extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\
  218. extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\
  219. extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\
  220. extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\
  221. extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\
  222. extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\
  223. extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\
  224. extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\
  225. extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\
  226. extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\
  227. extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\
  228. extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\
  229. extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\
  230. extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\
  231. extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\
  232. extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\
  233. extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\
  234. extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\
  235. extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\
  236. extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\
  237. extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\
  238. extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\
  239. extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\
  240. extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\
  241. extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\
  242. extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\
  243. extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\
  244. extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\
  245. extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\
  246. extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\
  247. extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\
  248. extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\
  249. # ifdef __cplusplus\n\
  250. }\n\
  251. # endif\n\
  252. #endif /* __MATH__ */",
  253. (char*)NULL };
  254. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  255. *
  256. * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
  257. */
  258. tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
  259. "AAB_fd_zero_asm_posix_types_h";
  260. /*
  261. * File name selection pattern
  262. */
  263. tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
  264. "asm/posix_types.h\0";
  265. /*
  266. * Machine/OS name selection pattern
  267. */
  268. tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
  269. "i[34567]86-*-linux*",
  270. (const char*)NULL };
  271. /*
  272. * content bypass pattern - skip fix if pattern found
  273. */
  274. tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
  275. "} while";
  276. tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass1[] =
  277. "x86_64";
  278. tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass2[] =
  279. "posix_types_64";
  280. #define AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT 3
  281. static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
  282. { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL },
  283. { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass1, (regex_t*)NULL },
  284. { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass2, (regex_t*)NULL }, };
  285. /*
  286. * Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
  287. */
  288. static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
  289. "/* This file fixes a bug in the __FD_ZERO macro\n\
  290. for older versions of the Linux kernel. */\n\
  291. #ifndef _POSIX_TYPES_H_WRAPPER\n\
  292. #include <features.h>\n\
  293. #include_next <asm/posix_types.h>\n\n\
  294. #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
  295. #undef __FD_ZERO\n\
  296. #define __FD_ZERO(fdsetp) \\\n\
  297. do { \\\n\
  298. int __d0, __d1; \\\n\
  299. __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
  300. : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
  301. : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
  302. \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
  303. } while (0)\n\
  304. #endif\n\n\
  305. #define _POSIX_TYPES_H_WRAPPER\n\
  306. #endif /* _POSIX_TYPES_H_WRAPPER */",
  307. (char*)NULL };
  308. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  309. *
  310. * Description of Aab_Fd_Zero_Gnu_Types_H fix
  311. */
  312. tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
  313. "AAB_fd_zero_gnu_types_h";
  314. /*
  315. * File name selection pattern
  316. */
  317. tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
  318. "gnu/types.h\0";
  319. /*
  320. * Machine/OS name selection pattern
  321. */
  322. tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
  323. "i[34567]86-*-linux*",
  324. (const char*)NULL };
  325. #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT 0
  326. #define aAab_Fd_Zero_Gnu_Types_HTests (tTestDesc*)NULL
  327. /*
  328. * Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
  329. */
  330. static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
  331. "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
  332. #ifndef _TYPES_H_WRAPPER\n\
  333. #include <features.h>\n\
  334. #include_next <gnu/types.h>\n\n\
  335. #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
  336. #undef __FD_ZERO\n\
  337. # define __FD_ZERO(fdsetp) \\\n\
  338. do { \\\n\
  339. int __d0, __d1; \\\n\
  340. __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
  341. : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
  342. : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
  343. \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
  344. } while (0)\n\
  345. #endif\n\n\
  346. #define _TYPES_H_WRAPPER\n\
  347. #endif /* _TYPES_H_WRAPPER */",
  348. (char*)NULL };
  349. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  350. *
  351. * Description of Aab_Fd_Zero_Selectbits_H fix
  352. */
  353. tSCC zAab_Fd_Zero_Selectbits_HName[] =
  354. "AAB_fd_zero_selectbits_h";
  355. /*
  356. * File name selection pattern
  357. */
  358. tSCC zAab_Fd_Zero_Selectbits_HList[] =
  359. "selectbits.h\0";
  360. /*
  361. * Machine/OS name selection pattern
  362. */
  363. tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
  364. "i[34567]86-*-linux*",
  365. (const char*)NULL };
  366. #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT 0
  367. #define aAab_Fd_Zero_Selectbits_HTests (tTestDesc*)NULL
  368. /*
  369. * Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
  370. */
  371. static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
  372. "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
  373. #ifndef _SELECTBITS_H_WRAPPER\n\
  374. #include <features.h>\n\
  375. #include_next <selectbits.h>\n\n\
  376. #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
  377. && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
  378. && __GLIBC_MINOR__ == 0\n\
  379. #undef __FD_ZERO\n\
  380. #define __FD_ZERO(fdsetp) \\\\\n\
  381. do { \\\\\n\
  382. int __d0, __d1; \\\\\n\
  383. __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
  384. : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
  385. : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
  386. / sizeof (__fd_mask)), \\\\\n\
  387. \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
  388. : \"memory\"); \\\\\n\
  389. } while (0)\n\
  390. #endif\n\n\
  391. #define _SELECTBITS_H_WRAPPER\n\
  392. #endif /* _SELECTBITS_H_WRAPPER */",
  393. (char*)NULL };
  394. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  395. *
  396. * Description of Aab_Solaris_Sys_Varargs_H fix
  397. */
  398. tSCC zAab_Solaris_Sys_Varargs_HName[] =
  399. "AAB_solaris_sys_varargs_h";
  400. /*
  401. * File name selection pattern
  402. */
  403. tSCC zAab_Solaris_Sys_Varargs_HList[] =
  404. "sys/varargs.h\0";
  405. /*
  406. * Machine/OS name selection pattern
  407. */
  408. tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
  409. "*-*-solaris*",
  410. (const char*)NULL };
  411. #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT 0
  412. #define aAab_Solaris_Sys_Varargs_HTests (tTestDesc*)NULL
  413. /*
  414. * Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
  415. */
  416. static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
  417. "#ifdef __STDC__\n\
  418. #include <stdarg.h>\n\
  419. #else\n\
  420. #include <varargs.h>\n\
  421. #endif",
  422. (char*)NULL };
  423. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  424. *
  425. * Description of Aab_Sun_Memcpy fix
  426. */
  427. tSCC zAab_Sun_MemcpyName[] =
  428. "AAB_sun_memcpy";
  429. /*
  430. * File name selection pattern
  431. */
  432. tSCC zAab_Sun_MemcpyList[] =
  433. "memory.h\0";
  434. /*
  435. * Machine/OS name selection pattern
  436. */
  437. #define apzAab_Sun_MemcpyMachs (const char**)NULL
  438. /*
  439. * content selection pattern - do fix if pattern found
  440. */
  441. tSCC zAab_Sun_MemcpySelect0[] =
  442. "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
  443. #define AAB_SUN_MEMCPY_TEST_CT 1
  444. static tTestDesc aAab_Sun_MemcpyTests[] = {
  445. { TT_EGREP, zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
  446. /*
  447. * Fix Command Arguments for Aab_Sun_Memcpy
  448. */
  449. static const char* apzAab_Sun_MemcpyPatch[] = {
  450. "/* This file was generated by fixincludes */\n\
  451. #ifndef __memory_h__\n\
  452. #define __memory_h__\n\n\
  453. #ifdef __STDC__\n\
  454. extern void *memccpy();\n\
  455. extern void *memchr();\n\
  456. extern void *memcpy();\n\
  457. extern void *memset();\n\
  458. #else\n\
  459. extern char *memccpy();\n\
  460. extern char *memchr();\n\
  461. extern char *memcpy();\n\
  462. extern char *memset();\n\
  463. #endif /* __STDC__ */\n\n\
  464. extern int memcmp();\n\n\
  465. #endif /* __memory_h__ */",
  466. (char*)NULL };
  467. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  468. *
  469. * Description of Aab_Vxworks_Assert fix
  470. */
  471. tSCC zAab_Vxworks_AssertName[] =
  472. "AAB_vxworks_assert";
  473. /*
  474. * File name selection pattern
  475. */
  476. tSCC zAab_Vxworks_AssertList[] =
  477. "assert.h\0";
  478. /*
  479. * Machine/OS name selection pattern
  480. */
  481. tSCC* apzAab_Vxworks_AssertMachs[] = {
  482. "*-*-vxworks*",
  483. (const char*)NULL };
  484. #define AAB_VXWORKS_ASSERT_TEST_CT 0
  485. #define aAab_Vxworks_AssertTests (tTestDesc*)NULL
  486. /*
  487. * Fix Command Arguments for Aab_Vxworks_Assert
  488. */
  489. static const char* apzAab_Vxworks_AssertPatch[] = {
  490. "#ifndef _ASSERT_H\n\
  491. #define _ASSERT_H\n\n\
  492. #ifdef assert\n\
  493. #undef assert\n\
  494. #endif\n\n\
  495. #if defined(__STDC__) || defined(__cplusplus)\n\
  496. extern void __assert (const char*);\n\
  497. #else\n\
  498. extern void __assert ();\n\
  499. #endif\n\n\
  500. #ifdef NDEBUG\n\
  501. #define assert(ign) ((void)0)\n\
  502. #else\n\n\
  503. #define ASSERT_STRINGIFY(str) ASSERT_STRINGIFY_HELPER(str)\n\
  504. #define ASSERT_STRINGIFY_HELPER(str) #str\n\n\
  505. #define assert(test) ((void) \\\n\
  506. ((test) ? ((void)0) : \\\n\
  507. __assert(\"Assertion failed: \" ASSERT_STRINGIFY(test) \", file \" \\\n\
  508. __FILE__ \", line \" ASSERT_STRINGIFY(__LINE__) \"\\n\")))\n\n\
  509. #endif\n\n\
  510. #endif",
  511. (char*)NULL };
  512. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  513. *
  514. * Description of Aab_Vxworks_Regs_Vxtypes fix
  515. */
  516. tSCC zAab_Vxworks_Regs_VxtypesName[] =
  517. "AAB_vxworks_regs_vxtypes";
  518. /*
  519. * File name selection pattern
  520. */
  521. tSCC zAab_Vxworks_Regs_VxtypesList[] =
  522. "regs.h\0";
  523. /*
  524. * Machine/OS name selection pattern
  525. */
  526. tSCC* apzAab_Vxworks_Regs_VxtypesMachs[] = {
  527. "*-*-vxworks*",
  528. (const char*)NULL };
  529. #define AAB_VXWORKS_REGS_VXTYPES_TEST_CT 0
  530. #define aAab_Vxworks_Regs_VxtypesTests (tTestDesc*)NULL
  531. /*
  532. * Fix Command Arguments for Aab_Vxworks_Regs_Vxtypes
  533. */
  534. static const char* apzAab_Vxworks_Regs_VxtypesPatch[] = {
  535. "#ifndef _REGS_H\n\
  536. #define _REGS_H\n\
  537. #include <types/vxTypesOld.h>\n\
  538. #include_next <arch/../regs.h>\n\
  539. #endif",
  540. (char*)NULL };
  541. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  542. *
  543. * Description of Aab_Vxworks_Stdint fix
  544. */
  545. tSCC zAab_Vxworks_StdintName[] =
  546. "AAB_vxworks_stdint";
  547. /*
  548. * File name selection pattern
  549. */
  550. tSCC zAab_Vxworks_StdintList[] =
  551. "stdint.h\0";
  552. /*
  553. * Machine/OS name selection pattern
  554. */
  555. tSCC* apzAab_Vxworks_StdintMachs[] = {
  556. "*-*-vxworks*",
  557. (const char*)NULL };
  558. #define AAB_VXWORKS_STDINT_TEST_CT 0
  559. #define aAab_Vxworks_StdintTests (tTestDesc*)NULL
  560. /*
  561. * Fix Command Arguments for Aab_Vxworks_Stdint
  562. */
  563. static const char* apzAab_Vxworks_StdintPatch[] = {
  564. "#ifndef _STDINT_H\n\
  565. #define _STDINT_H\n\
  566. /* get int*_t, uint*_t */\n\
  567. #include <types/vxTypes.h>\n\n\
  568. /* get legacy vxworks types for compatibility */\n\
  569. #include <types/vxTypesOld.h>\n\n\
  570. typedef long intptr_t;\n\
  571. typedef unsigned long uintptr_t;\n\n\
  572. typedef int64_t intmax_t;\n\
  573. typedef uint64_t uintmax_t;\n\n\
  574. typedef int8_t int_least8_t;\n\
  575. typedef int16_t int_least16_t;\n\
  576. typedef int32_t int_least32_t;\n\
  577. typedef int64_t int_least64_t;\n\n\
  578. typedef uint8_t uint_least8_t;\n\
  579. typedef uint16_t uint_least16_t;\n\
  580. typedef uint32_t uint_least32_t;\n\
  581. typedef uint64_t uint_least64_t;\n\n\
  582. typedef int8_t int_fast8_t;\n\
  583. typedef int int_fast16_t;\n\
  584. typedef int32_t int_fast32_t;\n\
  585. typedef int64_t int_fast64_t;\n\n\
  586. typedef uint8_t uint_fast8_t;\n\
  587. typedef unsigned int uint_fast16_t;\n\
  588. typedef uint32_t uint_fast32_t;\n\
  589. typedef uint64_t uint_fast64_t;\n\n\
  590. /* Ranges */\n\
  591. #define UINT8_MAX (~(uint8_t)0)\n\
  592. #define UINT8_MIN 0\n\
  593. #define UINT16_MAX (~(uint16_t)0)\n\
  594. #define UINT16_MIN 0\n\
  595. #define UINT32_MAX (~(uint32_t)0)\n\
  596. #define UINT32_MIN 0\n\
  597. #define UINT64_MAX (~(uint64_t)0)\n\
  598. #define UINT64_MIN 0\n\n\
  599. #define UINTPTR_MAX (~(uintptr_t)0)\n\
  600. #define UINTPTR_MIN 0\n\n\
  601. /* Need to do int_fast16_t as well, as type\n\
  602. size may be architecture dependent */\n\
  603. #define UINT_FAST16_MAX (~(uint_fast16_t)0)\n\
  604. #define UINT_FAST16_MAX 0\n\n\
  605. #define INT8_MAX (UINT8_MAX>>1)\n\
  606. #define INT8_MIN (INT8_MAX+1)\n\
  607. #define INT16_MAX (UINT16_MAX>>1)\n\
  608. #define INT16_MIN (INT16_MAX+1)\n\
  609. #define INT32_MAX (UINT32_MAX>>1)\n\
  610. #define INT32_MIN (INT32_MAX+1)\n\
  611. #define INT64_MAX (UINT64_MAX>>1)\n\
  612. #define INT64_MIN (INT64_MAX+1)\n\n\
  613. #define INTPTR_MAX (UINTPTR_MAX>>1)\n\
  614. #define INTPTR_MIN (INTPTR_MAX+1)\t\n\n\
  615. #define INT_FAST16_MAX (UINT_FAST16_MAX>>1)\n\
  616. #define INT_FAST16_MIN (INT_FAST16_MAX+1)\n\n\
  617. /* now define equiv. constants */\n\
  618. #define UINT_FAST8_MAX UINT8_MAX\n\
  619. #define UINT_FAST8_MIN UINT_FAST8_MIN\n\
  620. #define INT_FAST8_MAX INT8_MAX\n\
  621. #define INT_FAST8_MIN INT8_MIN\n\
  622. #define UINT_FAST32_MAX UINT32_MAX\n\
  623. #define UINT_FAST32_MIN UINT32_MIN\n\
  624. #define INT_FAST32_MAX INT32_MAX\n\
  625. #define INT_FAST32_MIN INT32_MIN\n\
  626. #define UINT_FAST64_MAX UINT64_MAX\n\
  627. #define UINT_FAST64_MIN UINT64_MIN\n\
  628. #define INT_FAST64_MAX INT64_MAX\n\
  629. #define INT_FAST64_MIN INT64_MIN\n\n\
  630. #define UINT_LEAST8_MAX UINT8_MAX\n\
  631. #define UINT_LEAST8_MIN UINT8_MIN\n\
  632. #define INT_LEAST8_MAX INT8_MAX\n\
  633. #define INT_LEAST8_MIN INT8_MIN\n\
  634. #define UINT_LEAST16_MAX UINT16_MAX\n\
  635. #define UINT_LEAST16_MIN UINT16_MIN\n\
  636. #define INT_LEAST16_MAX INT16_MAX\n\
  637. #define INT_LEAST16_MIN INT16_MIN\n\
  638. #define UINT_LEAST32_MAX UINT32_MAX\n\
  639. #define UINT_LEAST32_MIN UINT32_MIN\n\
  640. #define INT_LEAST32_MAX INT32_MAX\n\
  641. #define INT_LEAST32_MIN INT32_MIN\n\
  642. #define UINT_LEAST64_MAX UINT64_MAX\n\
  643. #define UINT_LEAST64_MIN UINT64_MIN\n\
  644. #define INT_LEAST64_MAX INT64_MAX\n\
  645. #define INT_LEAST64_MIN INT64_MIN\n\n\
  646. #define UINTMAX_MAX UINT64_MAX\n\
  647. #define UINTMAX_MIN UINT64_MIN\n\
  648. #define INTMAX_MAX INT64_MAX\n\
  649. #define INTMAX_MIN INT64_MIN\n\n\
  650. #endif",
  651. (char*)NULL };
  652. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  653. *
  654. * Description of Aab_Vxworks_Unistd fix
  655. */
  656. tSCC zAab_Vxworks_UnistdName[] =
  657. "AAB_vxworks_unistd";
  658. /*
  659. * File name selection pattern
  660. */
  661. tSCC zAab_Vxworks_UnistdList[] =
  662. "unistd.h\0";
  663. /*
  664. * Machine/OS name selection pattern
  665. */
  666. tSCC* apzAab_Vxworks_UnistdMachs[] = {
  667. "*-*-vxworks*",
  668. (const char*)NULL };
  669. #define AAB_VXWORKS_UNISTD_TEST_CT 0
  670. #define aAab_Vxworks_UnistdTests (tTestDesc*)NULL
  671. /*
  672. * Fix Command Arguments for Aab_Vxworks_Unistd
  673. */
  674. static const char* apzAab_Vxworks_UnistdPatch[] = {
  675. "#ifndef _UNISTD_H\n\
  676. #define _UNISTD_H\n\
  677. #include_next <unistd.h>\n\
  678. #include <ioLib.h>\n\
  679. #ifndef STDIN_FILENO\n\
  680. #define STDIN_FILENO 0\n\
  681. #endif\n\
  682. #ifndef STDOUT_FILENO\n\
  683. #define STDOUT_FILENO 1\n\
  684. #endif\n\
  685. #ifndef STDERR_FILENO\n\
  686. #define STDERR_FILENO 2\n\
  687. #endif\n\
  688. #endif /* _UNISTD_H */",
  689. (char*)NULL };
  690. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  691. *
  692. * Description of Aix_Assert fix
  693. */
  694. tSCC zAix_AssertName[] =
  695. "aix_assert";
  696. /*
  697. * File name selection pattern
  698. */
  699. tSCC zAix_AssertList[] =
  700. "assert.h\0";
  701. /*
  702. * Machine/OS name selection pattern
  703. */
  704. tSCC* apzAix_AssertMachs[] = {
  705. "*-*-aix*",
  706. (const char*)NULL };
  707. /*
  708. * content selection pattern - do fix if pattern found
  709. */
  710. tSCC zAix_AssertSelect0[] =
  711. "#define[ \t]static_assert[ \t]_Static_assert";
  712. #define AIX_ASSERT_TEST_CT 1
  713. static tTestDesc aAix_AssertTests[] = {
  714. { TT_EGREP, zAix_AssertSelect0, (regex_t*)NULL }, };
  715. /*
  716. * Fix Command Arguments for Aix_Assert
  717. */
  718. static const char* apzAix_AssertPatch[] = {
  719. "format",
  720. "#ifndef __cplusplus\n\
  721. %0\n\
  722. #endif",
  723. (char*)NULL };
  724. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  725. *
  726. * Description of Aix_Complex fix
  727. */
  728. tSCC zAix_ComplexName[] =
  729. "aix_complex";
  730. /*
  731. * File name selection pattern
  732. */
  733. tSCC zAix_ComplexList[] =
  734. "complex.h\0";
  735. /*
  736. * Machine/OS name selection pattern
  737. */
  738. tSCC* apzAix_ComplexMachs[] = {
  739. "*-*-aix*",
  740. (const char*)NULL };
  741. /*
  742. * content selection pattern - do fix if pattern found
  743. */
  744. tSCC zAix_ComplexSelect0[] =
  745. "#define[ \t]_Complex_I[ \t]__I";
  746. #define AIX_COMPLEX_TEST_CT 1
  747. static tTestDesc aAix_ComplexTests[] = {
  748. { TT_EGREP, zAix_ComplexSelect0, (regex_t*)NULL }, };
  749. /*
  750. * Fix Command Arguments for Aix_Complex
  751. */
  752. static const char* apzAix_ComplexPatch[] = {
  753. "format",
  754. "#define _Complex_I (__extension__ 1.0iF)",
  755. (char*)NULL };
  756. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  757. *
  758. * Description of Aix_Externc fix
  759. */
  760. tSCC zAix_ExterncName[] =
  761. "aix_externc";
  762. /*
  763. * File name selection pattern
  764. */
  765. tSCC zAix_ExterncList[] =
  766. "ctype.h\0fcntl.h\0langinfo.h\0ldfcn.h\0sys/localedef.h\0sys/times.h\0";
  767. /*
  768. * Machine/OS name selection pattern
  769. */
  770. tSCC* apzAix_ExterncMachs[] = {
  771. "*-*-aix*",
  772. (const char*)NULL };
  773. /*
  774. * content bypass pattern - skip fix if pattern found
  775. */
  776. tSCC zAix_ExterncBypass0[] =
  777. "extern \"C\"";
  778. #define AIX_EXTERNC_TEST_CT 1
  779. static tTestDesc aAix_ExterncTests[] = {
  780. { TT_NEGREP, zAix_ExterncBypass0, (regex_t*)NULL }, };
  781. /*
  782. * Fix Command Arguments for Aix_Externc
  783. */
  784. static const char* apzAix_ExterncPatch[] = {
  785. "wrap",
  786. "#ifdef __cplusplus\n\
  787. extern \"C\" {\n\
  788. #endif\n",
  789. "#ifdef __cplusplus\n\
  790. }\n\
  791. #endif\n",
  792. (char*)NULL };
  793. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  794. *
  795. * Description of Aix_Externcpp1 fix
  796. */
  797. tSCC zAix_Externcpp1Name[] =
  798. "aix_externcpp1";
  799. /*
  800. * File name selection pattern
  801. */
  802. tSCC zAix_Externcpp1List[] =
  803. "sys/socket.h\0";
  804. /*
  805. * Machine/OS name selection pattern
  806. */
  807. tSCC* apzAix_Externcpp1Machs[] = {
  808. "*-*-aix*",
  809. (const char*)NULL };
  810. /*
  811. * content selection pattern - do fix if pattern found
  812. */
  813. tSCC zAix_Externcpp1Select0[] =
  814. "#ifdef __cplusplus";
  815. #define AIX_EXTERNCPP1_TEST_CT 1
  816. static tTestDesc aAix_Externcpp1Tests[] = {
  817. { TT_EGREP, zAix_Externcpp1Select0, (regex_t*)NULL }, };
  818. /*
  819. * Fix Command Arguments for Aix_Externcpp1
  820. */
  821. static const char* apzAix_Externcpp1Patch[] = {
  822. "format",
  823. "#ifdef __cplusplus\n\
  824. extern \"C++\" {",
  825. (char*)NULL };
  826. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  827. *
  828. * Description of Aix_Externcpp2 fix
  829. */
  830. tSCC zAix_Externcpp2Name[] =
  831. "aix_externcpp2";
  832. /*
  833. * File name selection pattern
  834. */
  835. tSCC zAix_Externcpp2List[] =
  836. "sys/socket.h\0";
  837. /*
  838. * Machine/OS name selection pattern
  839. */
  840. tSCC* apzAix_Externcpp2Machs[] = {
  841. "*-*-aix*",
  842. (const char*)NULL };
  843. /*
  844. * content selection pattern - do fix if pattern found
  845. */
  846. tSCC zAix_Externcpp2Select0[] =
  847. "#else /\\* __cplusplus \\*/";
  848. #define AIX_EXTERNCPP2_TEST_CT 1
  849. static tTestDesc aAix_Externcpp2Tests[] = {
  850. { TT_EGREP, zAix_Externcpp2Select0, (regex_t*)NULL }, };
  851. /*
  852. * Fix Command Arguments for Aix_Externcpp2
  853. */
  854. static const char* apzAix_Externcpp2Patch[] = {
  855. "format",
  856. "} /* extern \"C++\" */\n\
  857. #else /* __cplusplus */",
  858. (char*)NULL };
  859. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  860. *
  861. * Description of Aix_Malloc fix
  862. */
  863. tSCC zAix_MallocName[] =
  864. "aix_malloc";
  865. /*
  866. * File name selection pattern
  867. */
  868. tSCC zAix_MallocList[] =
  869. "malloc.h\0";
  870. /*
  871. * Machine/OS name selection pattern
  872. */
  873. tSCC* apzAix_MallocMachs[] = {
  874. "*-*-aix*",
  875. (const char*)NULL };
  876. /*
  877. * content selection pattern - do fix if pattern found
  878. */
  879. tSCC zAix_MallocSelect0[] =
  880. "#ifdef __cplusplus";
  881. #define AIX_MALLOC_TEST_CT 1
  882. static tTestDesc aAix_MallocTests[] = {
  883. { TT_EGREP, zAix_MallocSelect0, (regex_t*)NULL }, };
  884. /*
  885. * Fix Command Arguments for Aix_Malloc
  886. */
  887. static const char* apzAix_MallocPatch[] = {
  888. "format",
  889. "#if (defined(__cplusplus) && defined(__IBMCPP__))",
  890. (char*)NULL };
  891. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  892. *
  893. * Description of Aix_Net_If_Arp fix
  894. */
  895. tSCC zAix_Net_If_ArpName[] =
  896. "aix_net_if_arp";
  897. /*
  898. * File name selection pattern
  899. */
  900. tSCC zAix_Net_If_ArpList[] =
  901. "net/if_arp.h\0";
  902. /*
  903. * Machine/OS name selection pattern
  904. */
  905. tSCC* apzAix_Net_If_ArpMachs[] = {
  906. "*-*-aix*",
  907. (const char*)NULL };
  908. /*
  909. * content selection pattern - do fix if pattern found
  910. */
  911. tSCC zAix_Net_If_ArpSelect0[] =
  912. "^struct fc_softc \\{";
  913. #define AIX_NET_IF_ARP_TEST_CT 1
  914. static tTestDesc aAix_Net_If_ArpTests[] = {
  915. { TT_EGREP, zAix_Net_If_ArpSelect0, (regex_t*)NULL }, };
  916. /*
  917. * Fix Command Arguments for Aix_Net_If_Arp
  918. */
  919. static const char* apzAix_Net_If_ArpPatch[] = {
  920. "format",
  921. "typedef struct _fc_softc {",
  922. (char*)NULL };
  923. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  924. *
  925. * Description of Aix_Null fix
  926. */
  927. tSCC zAix_NullName[] =
  928. "aix_null";
  929. /*
  930. * File name selection pattern
  931. */
  932. tSCC zAix_NullList[] =
  933. "curses.h\0dbm.h\0locale.h\0stdio.h\0stdlib.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/dir.h\0sys/param.h\0sys/types.h\0";
  934. /*
  935. * Machine/OS name selection pattern
  936. */
  937. tSCC* apzAix_NullMachs[] = {
  938. "*-*-aix*",
  939. (const char*)NULL };
  940. /*
  941. * content selection pattern - do fix if pattern found
  942. */
  943. tSCC zAix_NullSelect0[] =
  944. "#define[ \t]+NULL[ \t]+\\(*0L*\\)*";
  945. /*
  946. * content bypass pattern - skip fix if pattern found
  947. */
  948. tSCC zAix_NullBypass0[] =
  949. "__null";
  950. #define AIX_NULL_TEST_CT 2
  951. static tTestDesc aAix_NullTests[] = {
  952. { TT_NEGREP, zAix_NullBypass0, (regex_t*)NULL },
  953. { TT_EGREP, zAix_NullSelect0, (regex_t*)NULL }, };
  954. /*
  955. * Fix Command Arguments for Aix_Null
  956. */
  957. static const char* apzAix_NullPatch[] = {
  958. "format",
  959. "#ifndef NULL\n\
  960. #ifdef __cplusplus\n\
  961. #ifdef __GNUG__\n\
  962. #define NULL __null\n\
  963. #else /* ! __GNUG__ */\n\
  964. #define NULL 0L\n\
  965. #endif /* __GNUG__ */\n\
  966. #else /* ! __cplusplus */\n\
  967. #define NULL ((void *)0)\n\
  968. #endif /* __cplusplus */\n\
  969. #endif /* !NULL */",
  970. (char*)NULL };
  971. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  972. *
  973. * Description of Aix_Once_Init_1 fix
  974. */
  975. tSCC zAix_Once_Init_1Name[] =
  976. "aix_once_init_1";
  977. /*
  978. * File name selection pattern
  979. */
  980. tSCC zAix_Once_Init_1List[] =
  981. "pthread.h\0";
  982. /*
  983. * Machine/OS name selection pattern
  984. */
  985. tSCC* apzAix_Once_Init_1Machs[] = {
  986. "*-*-aix*",
  987. (const char*)NULL };
  988. /*
  989. * content selection pattern - do fix if pattern found
  990. */
  991. tSCC zAix_Once_Init_1Select0[] =
  992. "#define[ \t]PTHREAD_ONCE_INIT \\\\\n\
  993. \\{ \\\\\n";
  994. #define AIX_ONCE_INIT_1_TEST_CT 1
  995. static tTestDesc aAix_Once_Init_1Tests[] = {
  996. { TT_EGREP, zAix_Once_Init_1Select0, (regex_t*)NULL }, };
  997. /*
  998. * Fix Command Arguments for Aix_Once_Init_1
  999. */
  1000. static const char* apzAix_Once_Init_1Patch[] = {
  1001. "format",
  1002. "#define PTHREAD_ONCE_INIT \\\n\
  1003. {{ \\\n",
  1004. (char*)NULL };
  1005. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1006. *
  1007. * Description of Aix_Once_Init_2 fix
  1008. */
  1009. tSCC zAix_Once_Init_2Name[] =
  1010. "aix_once_init_2";
  1011. /*
  1012. * File name selection pattern
  1013. */
  1014. tSCC zAix_Once_Init_2List[] =
  1015. "pthread.h\0";
  1016. /*
  1017. * Machine/OS name selection pattern
  1018. */
  1019. tSCC* apzAix_Once_Init_2Machs[] = {
  1020. "*-*-aix*",
  1021. (const char*)NULL };
  1022. /*
  1023. * content selection pattern - do fix if pattern found
  1024. */
  1025. tSCC zAix_Once_Init_2Select0[] =
  1026. "[ \t]0 \\\\\n\
  1027. \\}\n";
  1028. #define AIX_ONCE_INIT_2_TEST_CT 1
  1029. static tTestDesc aAix_Once_Init_2Tests[] = {
  1030. { TT_EGREP, zAix_Once_Init_2Select0, (regex_t*)NULL }, };
  1031. /*
  1032. * Fix Command Arguments for Aix_Once_Init_2
  1033. */
  1034. static const char* apzAix_Once_Init_2Patch[] = {
  1035. "format",
  1036. "\t0 \\\n\
  1037. }}\n",
  1038. (char*)NULL };
  1039. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1040. *
  1041. * Description of Aix_Mutex_Initializer_1 fix
  1042. */
  1043. tSCC zAix_Mutex_Initializer_1Name[] =
  1044. "aix_mutex_initializer_1";
  1045. /*
  1046. * File name selection pattern
  1047. */
  1048. tSCC zAix_Mutex_Initializer_1List[] =
  1049. "pthread.h\0";
  1050. /*
  1051. * Machine/OS name selection pattern
  1052. */
  1053. tSCC* apzAix_Mutex_Initializer_1Machs[] = {
  1054. "*-*-aix*",
  1055. (const char*)NULL };
  1056. /*
  1057. * content selection pattern - do fix if pattern found
  1058. */
  1059. tSCC zAix_Mutex_Initializer_1Select0[] =
  1060. "#define[ \t]PTHREAD_MUTEX_INITIALIZER \\\\\n\
  1061. \\{ \\\\\n";
  1062. #define AIX_MUTEX_INITIALIZER_1_TEST_CT 1
  1063. static tTestDesc aAix_Mutex_Initializer_1Tests[] = {
  1064. { TT_EGREP, zAix_Mutex_Initializer_1Select0, (regex_t*)NULL }, };
  1065. /*
  1066. * Fix Command Arguments for Aix_Mutex_Initializer_1
  1067. */
  1068. static const char* apzAix_Mutex_Initializer_1Patch[] = {
  1069. "format",
  1070. "#define PTHREAD_MUTEX_INITIALIZER \\\n\
  1071. {{ \\\n",
  1072. (char*)NULL };
  1073. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1074. *
  1075. * Description of Aix_Cond_Initializer_1 fix
  1076. */
  1077. tSCC zAix_Cond_Initializer_1Name[] =
  1078. "aix_cond_initializer_1";
  1079. /*
  1080. * File name selection pattern
  1081. */
  1082. tSCC zAix_Cond_Initializer_1List[] =
  1083. "pthread.h\0";
  1084. /*
  1085. * Machine/OS name selection pattern
  1086. */
  1087. tSCC* apzAix_Cond_Initializer_1Machs[] = {
  1088. "*-*-aix*",
  1089. (const char*)NULL };
  1090. /*
  1091. * content selection pattern - do fix if pattern found
  1092. */
  1093. tSCC zAix_Cond_Initializer_1Select0[] =
  1094. "#define[ \t]PTHREAD_COND_INITIALIZER \\\\\n\
  1095. \\{ \\\\\n";
  1096. #define AIX_COND_INITIALIZER_1_TEST_CT 1
  1097. static tTestDesc aAix_Cond_Initializer_1Tests[] = {
  1098. { TT_EGREP, zAix_Cond_Initializer_1Select0, (regex_t*)NULL }, };
  1099. /*
  1100. * Fix Command Arguments for Aix_Cond_Initializer_1
  1101. */
  1102. static const char* apzAix_Cond_Initializer_1Patch[] = {
  1103. "format",
  1104. "#define PTHREAD_COND_INITIALIZER \\\n\
  1105. {{ \\\n",
  1106. (char*)NULL };
  1107. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1108. *
  1109. * Description of Aix_Rwlock_Initializer_1 fix
  1110. */
  1111. tSCC zAix_Rwlock_Initializer_1Name[] =
  1112. "aix_rwlock_initializer_1";
  1113. /*
  1114. * File name selection pattern
  1115. */
  1116. tSCC zAix_Rwlock_Initializer_1List[] =
  1117. "pthread.h\0";
  1118. /*
  1119. * Machine/OS name selection pattern
  1120. */
  1121. tSCC* apzAix_Rwlock_Initializer_1Machs[] = {
  1122. "*-*-aix*",
  1123. (const char*)NULL };
  1124. /*
  1125. * content selection pattern - do fix if pattern found
  1126. */
  1127. tSCC zAix_Rwlock_Initializer_1Select0[] =
  1128. "#define[ \t]PTHREAD_RWLOCK_INITIALIZER \\\\\n\
  1129. \\{ \\\\\n";
  1130. #define AIX_RWLOCK_INITIALIZER_1_TEST_CT 1
  1131. static tTestDesc aAix_Rwlock_Initializer_1Tests[] = {
  1132. { TT_EGREP, zAix_Rwlock_Initializer_1Select0, (regex_t*)NULL }, };
  1133. /*
  1134. * Fix Command Arguments for Aix_Rwlock_Initializer_1
  1135. */
  1136. static const char* apzAix_Rwlock_Initializer_1Patch[] = {
  1137. "format",
  1138. "#define PTHREAD_RWLOCK_INITIALIZER \\\n\
  1139. {{ \\\n",
  1140. (char*)NULL };
  1141. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1142. *
  1143. * Description of Aix_Pthread fix
  1144. */
  1145. tSCC zAix_PthreadName[] =
  1146. "aix_pthread";
  1147. /*
  1148. * File name selection pattern
  1149. */
  1150. tSCC zAix_PthreadList[] =
  1151. "pthread.h\0";
  1152. /*
  1153. * Machine/OS name selection pattern
  1154. */
  1155. #define apzAix_PthreadMachs (const char**)NULL
  1156. /*
  1157. * content selection pattern - do fix if pattern found
  1158. */
  1159. tSCC zAix_PthreadSelect0[] =
  1160. "(#define[\t ][A-Za-z_0-9]+)(\\\\\n\
  1161. [^A-Za-z_0-9 \t\n\
  1162. (])";
  1163. #define AIX_PTHREAD_TEST_CT 1
  1164. static tTestDesc aAix_PthreadTests[] = {
  1165. { TT_EGREP, zAix_PthreadSelect0, (regex_t*)NULL }, };
  1166. /*
  1167. * Fix Command Arguments for Aix_Pthread
  1168. */
  1169. static const char* apzAix_PthreadPatch[] = {
  1170. "format",
  1171. "%1 %2",
  1172. (char*)NULL };
  1173. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1174. *
  1175. * Description of Aix_Stdint_1 fix
  1176. */
  1177. tSCC zAix_Stdint_1Name[] =
  1178. "aix_stdint_1";
  1179. /*
  1180. * File name selection pattern
  1181. */
  1182. tSCC zAix_Stdint_1List[] =
  1183. "stdint-aix.h\0stdint.h\0";
  1184. /*
  1185. * Machine/OS name selection pattern
  1186. */
  1187. tSCC* apzAix_Stdint_1Machs[] = {
  1188. "*-*-aix*",
  1189. (const char*)NULL };
  1190. /*
  1191. * content selection pattern - do fix if pattern found
  1192. */
  1193. tSCC zAix_Stdint_1Select0[] =
  1194. "#define[ \t]UINT8_MAX[ \t]\\(255U\\)\n\
  1195. #define[ \t]UINT16_MAX[ \t]\\(65535U\\)";
  1196. #define AIX_STDINT_1_TEST_CT 1
  1197. static tTestDesc aAix_Stdint_1Tests[] = {
  1198. { TT_EGREP, zAix_Stdint_1Select0, (regex_t*)NULL }, };
  1199. /*
  1200. * Fix Command Arguments for Aix_Stdint_1
  1201. */
  1202. static const char* apzAix_Stdint_1Patch[] = {
  1203. "format",
  1204. "#define UINT8_MAX\t(255)\n\
  1205. #define UINT16_MAX\t(65535)",
  1206. (char*)NULL };
  1207. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1208. *
  1209. * Description of Aix_Stdint_2 fix
  1210. */
  1211. tSCC zAix_Stdint_2Name[] =
  1212. "aix_stdint_2";
  1213. /*
  1214. * File name selection pattern
  1215. */
  1216. tSCC zAix_Stdint_2List[] =
  1217. "stdint-aix.h\0stdint.h\0";
  1218. /*
  1219. * Machine/OS name selection pattern
  1220. */
  1221. tSCC* apzAix_Stdint_2Machs[] = {
  1222. "*-*-aix*",
  1223. (const char*)NULL };
  1224. /*
  1225. * content selection pattern - do fix if pattern found
  1226. */
  1227. tSCC zAix_Stdint_2Select0[] =
  1228. "#define[ \t]INTPTR_MIN[ \t]INT64_MIN\n\
  1229. #define[ \t]INTPTR_MAX[ \t]INT64_MAX\n\
  1230. #define[ \t]UINTPTR_MAX[ \t]UINT64_MAX\n\
  1231. #else\n\
  1232. #define[ \t]INTPTR_MIN[ \t]INT32_MIN\n\
  1233. #define[ \t]INTPTR_MAX[ \t]INT32_MAX\n\
  1234. #define[ \t]UINTPTR_MAX[ \t]UINT32_MAX";
  1235. #define AIX_STDINT_2_TEST_CT 1
  1236. static tTestDesc aAix_Stdint_2Tests[] = {
  1237. { TT_EGREP, zAix_Stdint_2Select0, (regex_t*)NULL }, };
  1238. /*
  1239. * Fix Command Arguments for Aix_Stdint_2
  1240. */
  1241. static const char* apzAix_Stdint_2Patch[] = {
  1242. "format",
  1243. "#define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
  1244. #define INTPTR_MAX\t9223372036854775807L\n\
  1245. #define UINTPTR_MAX\t18446744073709551615UL\n\
  1246. #else\n\
  1247. #define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
  1248. #define INTPTR_MAX\t2147483647L\n\
  1249. #define UINTPTR_MAX\t4294967295UL",
  1250. (char*)NULL };
  1251. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1252. *
  1253. * Description of Aix_Stdint_3 fix
  1254. */
  1255. tSCC zAix_Stdint_3Name[] =
  1256. "aix_stdint_3";
  1257. /*
  1258. * File name selection pattern
  1259. */
  1260. tSCC zAix_Stdint_3List[] =
  1261. "stdint-aix.h\0stdint.h\0";
  1262. /*
  1263. * Machine/OS name selection pattern
  1264. */
  1265. tSCC* apzAix_Stdint_3Machs[] = {
  1266. "*-*-aix*",
  1267. (const char*)NULL };
  1268. /*
  1269. * content selection pattern - do fix if pattern found
  1270. */
  1271. tSCC zAix_Stdint_3Select0[] =
  1272. "#define[ \t]PTRDIFF_MIN[ \t]INT64_MIN\n\
  1273. #define[ \t]PTRDIFF_MAX[ \t]INT64_MAX\n\
  1274. #else\n\
  1275. #define[ \t]PTRDIFF_MIN[ \t]*INT32_MIN\n\
  1276. #define[ \t]PTRDIFF_MAX[ \t]*INT32_MAX";
  1277. #define AIX_STDINT_3_TEST_CT 1
  1278. static tTestDesc aAix_Stdint_3Tests[] = {
  1279. { TT_EGREP, zAix_Stdint_3Select0, (regex_t*)NULL }, };
  1280. /*
  1281. * Fix Command Arguments for Aix_Stdint_3
  1282. */
  1283. static const char* apzAix_Stdint_3Patch[] = {
  1284. "format",
  1285. "#define PTRDIFF_MIN\t(-9223372036854775807L - 1)\n\
  1286. #define PTRDIFF_MAX\t9223372036854775807L\n\
  1287. #else\n\
  1288. #define PTRDIFF_MIN\t(-2147483647L - 1)\n\
  1289. #define PTRDIFF_MAX\t2147483647L",
  1290. (char*)NULL };
  1291. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1292. *
  1293. * Description of Aix_Stdint_4 fix
  1294. */
  1295. tSCC zAix_Stdint_4Name[] =
  1296. "aix_stdint_4";
  1297. /*
  1298. * File name selection pattern
  1299. */
  1300. tSCC zAix_Stdint_4List[] =
  1301. "stdint-aix.h\0stdint.h\0";
  1302. /*
  1303. * Machine/OS name selection pattern
  1304. */
  1305. tSCC* apzAix_Stdint_4Machs[] = {
  1306. "*-*-aix*",
  1307. (const char*)NULL };
  1308. /*
  1309. * content selection pattern - do fix if pattern found
  1310. */
  1311. tSCC zAix_Stdint_4Select0[] =
  1312. "#define[ \t]SIZE_MAX[ \t]UINT64_MAX\n\
  1313. #else\n\
  1314. #define[ \t]SIZE_MAX[ \t]*UINT32_MAX";
  1315. #define AIX_STDINT_4_TEST_CT 1
  1316. static tTestDesc aAix_Stdint_4Tests[] = {
  1317. { TT_EGREP, zAix_Stdint_4Select0, (regex_t*)NULL }, };
  1318. /*
  1319. * Fix Command Arguments for Aix_Stdint_4
  1320. */
  1321. static const char* apzAix_Stdint_4Patch[] = {
  1322. "format",
  1323. "#define SIZE_MAX\t18446744073709551615UL\n\
  1324. #else\n\
  1325. #define SIZE_MAX\t4294967295UL",
  1326. (char*)NULL };
  1327. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1328. *
  1329. * Description of Aix_Stdint_5 fix
  1330. */
  1331. tSCC zAix_Stdint_5Name[] =
  1332. "aix_stdint_5";
  1333. /*
  1334. * File name selection pattern
  1335. */
  1336. tSCC zAix_Stdint_5List[] =
  1337. "stdint-aix.h\0stdint.h\0";
  1338. /*
  1339. * Machine/OS name selection pattern
  1340. */
  1341. tSCC* apzAix_Stdint_5Machs[] = {
  1342. "*-*-aix*",
  1343. (const char*)NULL };
  1344. /*
  1345. * content selection pattern - do fix if pattern found
  1346. */
  1347. tSCC zAix_Stdint_5Select0[] =
  1348. "#define[ \t]UINT8_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)\n\
  1349. #define[ \t]UINT16_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)";
  1350. #define AIX_STDINT_5_TEST_CT 1
  1351. static tTestDesc aAix_Stdint_5Tests[] = {
  1352. { TT_EGREP, zAix_Stdint_5Select0, (regex_t*)NULL }, };
  1353. /*
  1354. * Fix Command Arguments for Aix_Stdint_5
  1355. */
  1356. static const char* apzAix_Stdint_5Patch[] = {
  1357. "format",
  1358. "#define UINT8_C(c)\tc\n\
  1359. #define UINT16_C(c)\tc",
  1360. (char*)NULL };
  1361. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1362. *
  1363. * Description of Aix_Strtof_Const fix
  1364. */
  1365. tSCC zAix_Strtof_ConstName[] =
  1366. "aix_strtof_const";
  1367. /*
  1368. * File name selection pattern
  1369. */
  1370. tSCC zAix_Strtof_ConstList[] =
  1371. "stdlib.h\0";
  1372. /*
  1373. * Machine/OS name selection pattern
  1374. */
  1375. #define apzAix_Strtof_ConstMachs (const char**)NULL
  1376. /*
  1377. * content selection pattern - do fix if pattern found
  1378. */
  1379. tSCC zAix_Strtof_ConstSelect0[] =
  1380. "((extern[ \t]+)?float[ \t]+strtof)\\(char \\*, char \\*\\*\\);";
  1381. #define AIX_STRTOF_CONST_TEST_CT 1
  1382. static tTestDesc aAix_Strtof_ConstTests[] = {
  1383. { TT_EGREP, zAix_Strtof_ConstSelect0, (regex_t*)NULL }, };
  1384. /*
  1385. * Fix Command Arguments for Aix_Strtof_Const
  1386. */
  1387. static const char* apzAix_Strtof_ConstPatch[] = {
  1388. "format",
  1389. "%1(const char *, char **);",
  1390. (char*)NULL };
  1391. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1392. *
  1393. * Description of Aix_Sysmachine fix
  1394. */
  1395. tSCC zAix_SysmachineName[] =
  1396. "aix_sysmachine";
  1397. /*
  1398. * File name selection pattern
  1399. */
  1400. tSCC zAix_SysmachineList[] =
  1401. "sys/machine.h\0";
  1402. /*
  1403. * Machine/OS name selection pattern
  1404. */
  1405. #define apzAix_SysmachineMachs (const char**)NULL
  1406. /*
  1407. * content selection pattern - do fix if pattern found
  1408. */
  1409. tSCC zAix_SysmachineSelect0[] =
  1410. "\\\\ +\n";
  1411. #define AIX_SYSMACHINE_TEST_CT 1
  1412. static tTestDesc aAix_SysmachineTests[] = {
  1413. { TT_EGREP, zAix_SysmachineSelect0, (regex_t*)NULL }, };
  1414. /*
  1415. * Fix Command Arguments for Aix_Sysmachine
  1416. */
  1417. static const char* apzAix_SysmachinePatch[] = {
  1418. "format",
  1419. "\\\n",
  1420. (char*)NULL };
  1421. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1422. *
  1423. * Description of Aix_Syswait_2 fix
  1424. */
  1425. tSCC zAix_Syswait_2Name[] =
  1426. "aix_syswait_2";
  1427. /*
  1428. * File name selection pattern
  1429. */
  1430. tSCC zAix_Syswait_2List[] =
  1431. "sys/wait.h\0";
  1432. /*
  1433. * Machine/OS name selection pattern
  1434. */
  1435. #define apzAix_Syswait_2Machs (const char**)NULL
  1436. /*
  1437. * content selection pattern - do fix if pattern found
  1438. */
  1439. tSCC zAix_Syswait_2Select0[] =
  1440. "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
  1441. #define AIX_SYSWAIT_2_TEST_CT 1
  1442. static tTestDesc aAix_Syswait_2Tests[] = {
  1443. { TT_EGREP, zAix_Syswait_2Select0, (regex_t*)NULL }, };
  1444. /*
  1445. * Fix Command Arguments for Aix_Syswait_2
  1446. */
  1447. static const char* apzAix_Syswait_2Patch[] = {
  1448. "format",
  1449. "? (int)%1",
  1450. (char*)NULL };
  1451. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1452. *
  1453. * Description of Aix_Volatile fix
  1454. */
  1455. tSCC zAix_VolatileName[] =
  1456. "aix_volatile";
  1457. /*
  1458. * File name selection pattern
  1459. */
  1460. tSCC zAix_VolatileList[] =
  1461. "sys/signal.h\0";
  1462. /*
  1463. * Machine/OS name selection pattern
  1464. */
  1465. #define apzAix_VolatileMachs (const char**)NULL
  1466. /*
  1467. * content selection pattern - do fix if pattern found
  1468. */
  1469. tSCC zAix_VolatileSelect0[] =
  1470. "typedef volatile int sig_atomic_t";
  1471. #define AIX_VOLATILE_TEST_CT 1
  1472. static tTestDesc aAix_VolatileTests[] = {
  1473. { TT_EGREP, zAix_VolatileSelect0, (regex_t*)NULL }, };
  1474. /*
  1475. * Fix Command Arguments for Aix_Volatile
  1476. */
  1477. static const char* apzAix_VolatilePatch[] = {
  1478. "format",
  1479. "typedef int sig_atomic_t",
  1480. (char*)NULL };
  1481. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1482. *
  1483. * Description of Alpha___Assert fix
  1484. */
  1485. tSCC zAlpha___AssertName[] =
  1486. "alpha___assert";
  1487. /*
  1488. * File name selection pattern
  1489. */
  1490. tSCC zAlpha___AssertList[] =
  1491. "assert.h\0";
  1492. /*
  1493. * Machine/OS name selection pattern
  1494. */
  1495. #define apzAlpha___AssertMachs (const char**)NULL
  1496. /*
  1497. * content selection pattern - do fix if pattern found
  1498. */
  1499. tSCC zAlpha___AssertSelect0[] =
  1500. "__assert\\(char \\*, char \\*, int\\)";
  1501. #define ALPHA___ASSERT_TEST_CT 1
  1502. static tTestDesc aAlpha___AssertTests[] = {
  1503. { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, };
  1504. /*
  1505. * Fix Command Arguments for Alpha___Assert
  1506. */
  1507. static const char* apzAlpha___AssertPatch[] = {
  1508. "format",
  1509. "__assert(const char *, const char *, int)",
  1510. (char*)NULL };
  1511. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1512. *
  1513. * Description of Alpha_Assert fix
  1514. */
  1515. tSCC zAlpha_AssertName[] =
  1516. "alpha_assert";
  1517. /*
  1518. * File name selection pattern
  1519. */
  1520. tSCC zAlpha_AssertList[] =
  1521. "assert.h\0";
  1522. /*
  1523. * Machine/OS name selection pattern
  1524. */
  1525. #define apzAlpha_AssertMachs (const char**)NULL
  1526. /*
  1527. * content selection pattern - do fix if pattern found
  1528. */
  1529. tSCC zAlpha_AssertSelect0[] =
  1530. "(#[ \t]*define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
  1531. #define ALPHA_ASSERT_TEST_CT 1
  1532. static tTestDesc aAlpha_AssertTests[] = {
  1533. { TT_EGREP, zAlpha_AssertSelect0, (regex_t*)NULL }, };
  1534. /*
  1535. * Fix Command Arguments for Alpha_Assert
  1536. */
  1537. static const char* apzAlpha_AssertPatch[] = {
  1538. "format",
  1539. "%1(EX)",
  1540. (char*)NULL };
  1541. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1542. *
  1543. * Description of Alpha_Getopt fix
  1544. */
  1545. tSCC zAlpha_GetoptName[] =
  1546. "alpha_getopt";
  1547. /*
  1548. * File name selection pattern
  1549. */
  1550. tSCC zAlpha_GetoptList[] =
  1551. "stdio.h\0stdlib.h\0";
  1552. /*
  1553. * Machine/OS name selection pattern
  1554. */
  1555. #define apzAlpha_GetoptMachs (const char**)NULL
  1556. /*
  1557. * content selection pattern - do fix if pattern found
  1558. */
  1559. tSCC zAlpha_GetoptSelect0[] =
  1560. "getopt\\(int, char \\*\\[\\], *char \\*\\)";
  1561. #define ALPHA_GETOPT_TEST_CT 1
  1562. static tTestDesc aAlpha_GetoptTests[] = {
  1563. { TT_EGREP, zAlpha_GetoptSelect0, (regex_t*)NULL }, };
  1564. /*
  1565. * Fix Command Arguments for Alpha_Getopt
  1566. */
  1567. static const char* apzAlpha_GetoptPatch[] = {
  1568. "format",
  1569. "getopt(int, char *const[], const char *)",
  1570. (char*)NULL };
  1571. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1572. *
  1573. * Description of Alpha_If_Semicolon fix
  1574. */
  1575. tSCC zAlpha_If_SemicolonName[] =
  1576. "alpha_if_semicolon";
  1577. /*
  1578. * File name selection pattern
  1579. */
  1580. tSCC zAlpha_If_SemicolonList[] =
  1581. "net/if.h\0";
  1582. /*
  1583. * Machine/OS name selection pattern
  1584. */
  1585. #define apzAlpha_If_SemicolonMachs (const char**)NULL
  1586. /*
  1587. * content selection pattern - do fix if pattern found
  1588. */
  1589. tSCC zAlpha_If_SemicolonSelect0[] =
  1590. "struct[ \t]+sockaddr[ \t]+vmif_paddr[ \t]+/\\*";
  1591. #define ALPHA_IF_SEMICOLON_TEST_CT 1
  1592. static tTestDesc aAlpha_If_SemicolonTests[] = {
  1593. { TT_EGREP, zAlpha_If_SemicolonSelect0, (regex_t*)NULL }, };
  1594. /*
  1595. * Fix Command Arguments for Alpha_If_Semicolon
  1596. */
  1597. static const char* apzAlpha_If_SemicolonPatch[] = {
  1598. "format",
  1599. "struct sockaddr vmif_paddr;\t/*",
  1600. (char*)NULL };
  1601. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1602. *
  1603. * Description of Alpha_Parens fix
  1604. */
  1605. tSCC zAlpha_ParensName[] =
  1606. "alpha_parens";
  1607. /*
  1608. * File name selection pattern
  1609. */
  1610. tSCC zAlpha_ParensList[] =
  1611. "sym.h\0";
  1612. /*
  1613. * Machine/OS name selection pattern
  1614. */
  1615. #define apzAlpha_ParensMachs (const char**)NULL
  1616. /*
  1617. * content selection pattern - do fix if pattern found
  1618. */
  1619. tSCC zAlpha_ParensSelect0[] =
  1620. "#ifndef\\(__mips64\\)";
  1621. #define ALPHA_PARENS_TEST_CT 1
  1622. static tTestDesc aAlpha_ParensTests[] = {
  1623. { TT_EGREP, zAlpha_ParensSelect0, (regex_t*)NULL }, };
  1624. /*
  1625. * Fix Command Arguments for Alpha_Parens
  1626. */
  1627. static const char* apzAlpha_ParensPatch[] = {
  1628. "format",
  1629. "#ifndef __mips64",
  1630. (char*)NULL };
  1631. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1632. *
  1633. * Description of Alpha_Sbrk fix
  1634. */
  1635. tSCC zAlpha_SbrkName[] =
  1636. "alpha_sbrk";
  1637. /*
  1638. * File name selection pattern
  1639. */
  1640. tSCC zAlpha_SbrkList[] =
  1641. "unistd.h\0";
  1642. /*
  1643. * Machine/OS name selection pattern
  1644. */
  1645. #define apzAlpha_SbrkMachs (const char**)NULL
  1646. /*
  1647. * content selection pattern - do fix if pattern found
  1648. */
  1649. tSCC zAlpha_SbrkSelect0[] =
  1650. "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
  1651. #define ALPHA_SBRK_TEST_CT 1
  1652. static tTestDesc aAlpha_SbrkTests[] = {
  1653. { TT_EGREP, zAlpha_SbrkSelect0, (regex_t*)NULL }, };
  1654. /*
  1655. * Fix Command Arguments for Alpha_Sbrk
  1656. */
  1657. static const char* apzAlpha_SbrkPatch[] = {
  1658. "format",
  1659. "void *sbrk(",
  1660. (char*)NULL };
  1661. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1662. *
  1663. * Description of Avoid_Bool_Define fix
  1664. */
  1665. tSCC zAvoid_Bool_DefineName[] =
  1666. "avoid_bool_define";
  1667. /*
  1668. * File name selection pattern
  1669. */
  1670. tSCC zAvoid_Bool_DefineList[] =
  1671. "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
  1672. /*
  1673. * Machine/OS name selection pattern
  1674. */
  1675. #define apzAvoid_Bool_DefineMachs (const char**)NULL
  1676. /*
  1677. * content selection pattern - do fix if pattern found
  1678. */
  1679. tSCC zAvoid_Bool_DefineSelect0[] =
  1680. "#[ \t]*define[ \t]+bool[ \t]";
  1681. /*
  1682. * content bypass pattern - skip fix if pattern found
  1683. */
  1684. tSCC zAvoid_Bool_DefineBypass0[] =
  1685. "__cplusplus";
  1686. #define AVOID_BOOL_DEFINE_TEST_CT 2
  1687. static tTestDesc aAvoid_Bool_DefineTests[] = {
  1688. { TT_NEGREP, zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
  1689. { TT_EGREP, zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
  1690. /*
  1691. * Fix Command Arguments for Avoid_Bool_Define
  1692. */
  1693. static const char* apzAvoid_Bool_DefinePatch[] = {
  1694. "format",
  1695. "#ifndef __cplusplus\n\
  1696. %0\n\
  1697. #endif",
  1698. "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
  1699. (char*)NULL };
  1700. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1701. *
  1702. * Description of Avoid_Bool_Type fix
  1703. */
  1704. tSCC zAvoid_Bool_TypeName[] =
  1705. "avoid_bool_type";
  1706. /*
  1707. * File name selection pattern
  1708. */
  1709. tSCC zAvoid_Bool_TypeList[] =
  1710. "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
  1711. /*
  1712. * Machine/OS name selection pattern
  1713. */
  1714. #define apzAvoid_Bool_TypeMachs (const char**)NULL
  1715. /*
  1716. * content selection pattern - do fix if pattern found
  1717. */
  1718. tSCC zAvoid_Bool_TypeSelect0[] =
  1719. "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
  1720. /*
  1721. * content bypass pattern - skip fix if pattern found
  1722. */
  1723. tSCC zAvoid_Bool_TypeBypass0[] =
  1724. "__cplusplus";
  1725. #define AVOID_BOOL_TYPE_TEST_CT 2
  1726. static tTestDesc aAvoid_Bool_TypeTests[] = {
  1727. { TT_NEGREP, zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
  1728. { TT_EGREP, zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
  1729. /*
  1730. * Fix Command Arguments for Avoid_Bool_Type
  1731. */
  1732. static const char* apzAvoid_Bool_TypePatch[] = {
  1733. "format",
  1734. "#ifndef __cplusplus\n\
  1735. %0\n\
  1736. #endif",
  1737. (char*)NULL };
  1738. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1739. *
  1740. * Description of Avoid_Wchar_T_Type fix
  1741. */
  1742. tSCC zAvoid_Wchar_T_TypeName[] =
  1743. "avoid_wchar_t_type";
  1744. /*
  1745. * File name selection pattern
  1746. */
  1747. #define zAvoid_Wchar_T_TypeList (char*)NULL
  1748. /*
  1749. * Machine/OS name selection pattern
  1750. */
  1751. #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
  1752. /*
  1753. * content selection pattern - do fix if pattern found
  1754. */
  1755. tSCC zAvoid_Wchar_T_TypeSelect0[] =
  1756. "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
  1757. /*
  1758. * content bypass pattern - skip fix if pattern found
  1759. */
  1760. tSCC zAvoid_Wchar_T_TypeBypass0[] =
  1761. "__cplusplus";
  1762. tSCC zAvoid_Wchar_T_TypeBypass1[] =
  1763. "_LINUX_NLS_H";
  1764. tSCC zAvoid_Wchar_T_TypeBypass2[] =
  1765. "XFree86: xc/lib/X11/Xlib\\.h";
  1766. #define AVOID_WCHAR_T_TYPE_TEST_CT 4
  1767. static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
  1768. { TT_NEGREP, zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
  1769. { TT_NEGREP, zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
  1770. { TT_NEGREP, zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
  1771. { TT_EGREP, zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
  1772. /*
  1773. * Fix Command Arguments for Avoid_Wchar_T_Type
  1774. */
  1775. static const char* apzAvoid_Wchar_T_TypePatch[] = {
  1776. "format",
  1777. "#ifndef __cplusplus\n\
  1778. %0\n\
  1779. #endif",
  1780. (char*)NULL };
  1781. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1782. *
  1783. * Description of Bad_Struct_Term fix
  1784. */
  1785. tSCC zBad_Struct_TermName[] =
  1786. "bad_struct_term";
  1787. /*
  1788. * File name selection pattern
  1789. */
  1790. tSCC zBad_Struct_TermList[] =
  1791. "curses.h\0";
  1792. /*
  1793. * Machine/OS name selection pattern
  1794. */
  1795. #define apzBad_Struct_TermMachs (const char**)NULL
  1796. /*
  1797. * content selection pattern - do fix if pattern found
  1798. */
  1799. tSCC zBad_Struct_TermSelect0[] =
  1800. "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
  1801. #define BAD_STRUCT_TERM_TEST_CT 1
  1802. static tTestDesc aBad_Struct_TermTests[] = {
  1803. { TT_EGREP, zBad_Struct_TermSelect0, (regex_t*)NULL }, };
  1804. /*
  1805. * Fix Command Arguments for Bad_Struct_Term
  1806. */
  1807. static const char* apzBad_Struct_TermPatch[] = {
  1808. "format",
  1809. "struct term;",
  1810. (char*)NULL };
  1811. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1812. *
  1813. * Description of Badquote fix
  1814. */
  1815. tSCC zBadquoteName[] =
  1816. "badquote";
  1817. /*
  1818. * File name selection pattern
  1819. */
  1820. tSCC zBadquoteList[] =
  1821. "sundev/vuid_event.h\0";
  1822. /*
  1823. * Machine/OS name selection pattern
  1824. */
  1825. #define apzBadquoteMachs (const char**)NULL
  1826. /*
  1827. * content selection pattern - do fix if pattern found
  1828. */
  1829. tSCC zBadquoteSelect0[] =
  1830. "doesn't";
  1831. #define BADQUOTE_TEST_CT 1
  1832. static tTestDesc aBadquoteTests[] = {
  1833. { TT_EGREP, zBadquoteSelect0, (regex_t*)NULL }, };
  1834. /*
  1835. * Fix Command Arguments for Badquote
  1836. */
  1837. static const char* apzBadquotePatch[] = {
  1838. "format",
  1839. "does not",
  1840. (char*)NULL };
  1841. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1842. *
  1843. * Description of Broken_Assert_Stdio fix
  1844. */
  1845. tSCC zBroken_Assert_StdioName[] =
  1846. "broken_assert_stdio";
  1847. /*
  1848. * File name selection pattern
  1849. */
  1850. tSCC zBroken_Assert_StdioList[] =
  1851. "assert.h\0";
  1852. /*
  1853. * Machine/OS name selection pattern
  1854. */
  1855. #define apzBroken_Assert_StdioMachs (const char**)NULL
  1856. /*
  1857. * content selection pattern - do fix if pattern found
  1858. */
  1859. tSCC zBroken_Assert_StdioSelect0[] =
  1860. "stderr";
  1861. /*
  1862. * content bypass pattern - skip fix if pattern found
  1863. */
  1864. tSCC zBroken_Assert_StdioBypass0[] =
  1865. "include.*stdio\\.h";
  1866. #define BROKEN_ASSERT_STDIO_TEST_CT 2
  1867. static tTestDesc aBroken_Assert_StdioTests[] = {
  1868. { TT_NEGREP, zBroken_Assert_StdioBypass0, (regex_t*)NULL },
  1869. { TT_EGREP, zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
  1870. /*
  1871. * Fix Command Arguments for Broken_Assert_Stdio
  1872. */
  1873. static const char* apzBroken_Assert_StdioPatch[] = {
  1874. "wrap",
  1875. "#include <stdio.h>\n",
  1876. (char*)NULL };
  1877. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1878. *
  1879. * Description of Broken_Assert_Stdlib fix
  1880. */
  1881. tSCC zBroken_Assert_StdlibName[] =
  1882. "broken_assert_stdlib";
  1883. /*
  1884. * File name selection pattern
  1885. */
  1886. tSCC zBroken_Assert_StdlibList[] =
  1887. "assert.h\0";
  1888. /*
  1889. * Machine/OS name selection pattern
  1890. */
  1891. #define apzBroken_Assert_StdlibMachs (const char**)NULL
  1892. /*
  1893. * content selection pattern - do fix if pattern found
  1894. */
  1895. tSCC zBroken_Assert_StdlibSelect0[] =
  1896. "exit *\\(|abort *\\(";
  1897. /*
  1898. * content bypass pattern - skip fix if pattern found
  1899. */
  1900. tSCC zBroken_Assert_StdlibBypass0[] =
  1901. "include.*stdlib\\.h";
  1902. #define BROKEN_ASSERT_STDLIB_TEST_CT 2
  1903. static tTestDesc aBroken_Assert_StdlibTests[] = {
  1904. { TT_NEGREP, zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
  1905. { TT_EGREP, zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
  1906. /*
  1907. * Fix Command Arguments for Broken_Assert_Stdlib
  1908. */
  1909. static const char* apzBroken_Assert_StdlibPatch[] = {
  1910. "wrap",
  1911. "#ifdef __cplusplus\n\
  1912. #include <stdlib.h>\n\
  1913. #endif\n",
  1914. (char*)NULL };
  1915. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1916. *
  1917. * Description of Broken_Cabs fix
  1918. */
  1919. tSCC zBroken_CabsName[] =
  1920. "broken_cabs";
  1921. /*
  1922. * File name selection pattern
  1923. */
  1924. tSCC zBroken_CabsList[] =
  1925. "math.h\0architecture/*/math.h\0";
  1926. /*
  1927. * Machine/OS name selection pattern
  1928. */
  1929. #define apzBroken_CabsMachs (const char**)NULL
  1930. /*
  1931. * content selection pattern - do fix if pattern found
  1932. */
  1933. tSCC zBroken_CabsSelect0[] =
  1934. "^extern[ \t]+double[ \t]+cabs";
  1935. #define BROKEN_CABS_TEST_CT 1
  1936. static tTestDesc aBroken_CabsTests[] = {
  1937. { TT_EGREP, zBroken_CabsSelect0, (regex_t*)NULL }, };
  1938. /*
  1939. * Fix Command Arguments for Broken_Cabs
  1940. */
  1941. static const char* apzBroken_CabsPatch[] = { sed_cmd_z,
  1942. "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
  1943. "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
  1944. (char*)NULL };
  1945. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1946. *
  1947. * Description of Broken_Nan fix
  1948. */
  1949. tSCC zBroken_NanName[] =
  1950. "broken_nan";
  1951. /*
  1952. * File name selection pattern
  1953. */
  1954. tSCC zBroken_NanList[] =
  1955. "architecture/ppc/math.h\0architecture/*/math.h\0";
  1956. /*
  1957. * Machine/OS name selection pattern
  1958. */
  1959. #define apzBroken_NanMachs (const char**)NULL
  1960. /*
  1961. * content selection pattern - do fix if pattern found
  1962. */
  1963. tSCC zBroken_NanSelect0[] =
  1964. "#if defined\\(__APPLE_CC__\\) && \\(__APPLE_CC__ >= 1345\\)";
  1965. /*
  1966. * content bypass pattern - skip fix if pattern found
  1967. */
  1968. tSCC zBroken_NanBypass0[] =
  1969. "powl";
  1970. #define BROKEN_NAN_TEST_CT 2
  1971. static tTestDesc aBroken_NanTests[] = {
  1972. { TT_NEGREP, zBroken_NanBypass0, (regex_t*)NULL },
  1973. { TT_EGREP, zBroken_NanSelect0, (regex_t*)NULL }, };
  1974. /*
  1975. * Fix Command Arguments for Broken_Nan
  1976. */
  1977. static const char* apzBroken_NanPatch[] = {
  1978. "format",
  1979. "#if 1",
  1980. (char*)NULL };
  1981. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  1982. *
  1983. * Description of Bsd_Stdio_Attrs_Conflict fix
  1984. */
  1985. tSCC zBsd_Stdio_Attrs_ConflictName[] =
  1986. "bsd_stdio_attrs_conflict";
  1987. /*
  1988. * File name selection pattern
  1989. */
  1990. tSCC zBsd_Stdio_Attrs_ConflictList[] =
  1991. "stdio.h\0";
  1992. /*
  1993. * Machine/OS name selection pattern
  1994. */
  1995. tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
  1996. "*-*-*bsd*",
  1997. "*-*-*darwin*",
  1998. (const char*)NULL };
  1999. /*
  2000. * content selection pattern - do fix if pattern found
  2001. */
  2002. tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
  2003. "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
  2004. #define BSD_STDIO_ATTRS_CONFLICT_TEST_CT 1
  2005. static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
  2006. { TT_EGREP, zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
  2007. /*
  2008. * Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
  2009. */
  2010. static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
  2011. "format",
  2012. "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
  2013. #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
  2014. int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
  2015. (char*)NULL };
  2016. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2017. *
  2018. * Description of Ctrl_Quotes_Def fix
  2019. */
  2020. tSCC zCtrl_Quotes_DefName[] =
  2021. "ctrl_quotes_def";
  2022. /*
  2023. * File name selection pattern
  2024. */
  2025. #define zCtrl_Quotes_DefList (char*)NULL
  2026. /*
  2027. * Machine/OS name selection pattern
  2028. */
  2029. #define apzCtrl_Quotes_DefMachs (const char**)NULL
  2030. /*
  2031. * content selection pattern - do fix if pattern found
  2032. */
  2033. tSCC zCtrl_Quotes_DefSelect0[] =
  2034. "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
  2035. #define CTRL_QUOTES_DEF_TEST_CT 1
  2036. static tTestDesc aCtrl_Quotes_DefTests[] = {
  2037. { TT_EGREP, zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
  2038. /*
  2039. * Fix Command Arguments for Ctrl_Quotes_Def
  2040. */
  2041. static const char* apzCtrl_Quotes_DefPatch[] = {
  2042. "char_macro_def",
  2043. "CTRL",
  2044. (char*)NULL };
  2045. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2046. *
  2047. * Description of Ctrl_Quotes_Use fix
  2048. */
  2049. tSCC zCtrl_Quotes_UseName[] =
  2050. "ctrl_quotes_use";
  2051. /*
  2052. * File name selection pattern
  2053. */
  2054. #define zCtrl_Quotes_UseList (char*)NULL
  2055. /*
  2056. * Machine/OS name selection pattern
  2057. */
  2058. #define apzCtrl_Quotes_UseMachs (const char**)NULL
  2059. /*
  2060. * content selection pattern - do fix if pattern found
  2061. */
  2062. tSCC zCtrl_Quotes_UseSelect0[] =
  2063. "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
  2064. #define CTRL_QUOTES_USE_TEST_CT 1
  2065. static tTestDesc aCtrl_Quotes_UseTests[] = {
  2066. { TT_EGREP, zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
  2067. /*
  2068. * Fix Command Arguments for Ctrl_Quotes_Use
  2069. */
  2070. static const char* apzCtrl_Quotes_UsePatch[] = {
  2071. "char_macro_use",
  2072. "CTRL",
  2073. (char*)NULL };
  2074. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2075. *
  2076. * Description of Cxx_Unready fix
  2077. */
  2078. tSCC zCxx_UnreadyName[] =
  2079. "cxx_unready";
  2080. /*
  2081. * File name selection pattern
  2082. */
  2083. tSCC zCxx_UnreadyList[] =
  2084. "sys/mman.h\0rpc/types.h\0";
  2085. /*
  2086. * Machine/OS name selection pattern
  2087. */
  2088. #define apzCxx_UnreadyMachs (const char**)NULL
  2089. /*
  2090. * content selection pattern - do fix if pattern found
  2091. */
  2092. tSCC zCxx_UnreadySelect0[] =
  2093. "[^#]+malloc.*;";
  2094. /*
  2095. * content bypass pattern - skip fix if pattern found
  2096. */
  2097. tSCC zCxx_UnreadyBypass0[] =
  2098. "\"C\"|__BEGIN_DECLS";
  2099. #define CXX_UNREADY_TEST_CT 2
  2100. static tTestDesc aCxx_UnreadyTests[] = {
  2101. { TT_NEGREP, zCxx_UnreadyBypass0, (regex_t*)NULL },
  2102. { TT_EGREP, zCxx_UnreadySelect0, (regex_t*)NULL }, };
  2103. /*
  2104. * Fix Command Arguments for Cxx_Unready
  2105. */
  2106. static const char* apzCxx_UnreadyPatch[] = {
  2107. "wrap",
  2108. "#ifdef __cplusplus\n\
  2109. extern \"C\" {\n\
  2110. #endif\n",
  2111. "#ifdef __cplusplus\n\
  2112. }\n\
  2113. #endif\n",
  2114. (char*)NULL };
  2115. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2116. *
  2117. * Description of Darwin_9_Long_Double_Funcs_2 fix
  2118. */
  2119. tSCC zDarwin_9_Long_Double_Funcs_2Name[] =
  2120. "darwin_9_long_double_funcs_2";
  2121. /*
  2122. * File name selection pattern
  2123. */
  2124. tSCC zDarwin_9_Long_Double_Funcs_2List[] =
  2125. "math.h\0";
  2126. /*
  2127. * Machine/OS name selection pattern
  2128. */
  2129. tSCC* apzDarwin_9_Long_Double_Funcs_2Machs[] = {
  2130. "*-*-darwin7.9*",
  2131. (const char*)NULL };
  2132. /*
  2133. * content selection pattern - do fix if pattern found
  2134. */
  2135. tSCC zDarwin_9_Long_Double_Funcs_2Select0[] =
  2136. "#include[ \\t]+\\\"";
  2137. #define DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT 1
  2138. static tTestDesc aDarwin_9_Long_Double_Funcs_2Tests[] = {
  2139. { TT_EGREP, zDarwin_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
  2140. /*
  2141. * Fix Command Arguments for Darwin_9_Long_Double_Funcs_2
  2142. */
  2143. static const char* apzDarwin_9_Long_Double_Funcs_2Patch[] = {
  2144. "format",
  2145. "%1<%2.h>",
  2146. "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
  2147. (char*)NULL };
  2148. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2149. *
  2150. * Description of Darwin_Externc fix
  2151. */
  2152. tSCC zDarwin_ExterncName[] =
  2153. "darwin_externc";
  2154. /*
  2155. * File name selection pattern
  2156. */
  2157. tSCC zDarwin_ExterncList[] =
  2158. "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0";
  2159. /*
  2160. * Machine/OS name selection pattern
  2161. */
  2162. tSCC* apzDarwin_ExterncMachs[] = {
  2163. "*-*-darwin*",
  2164. (const char*)NULL };
  2165. /*
  2166. * content bypass pattern - skip fix if pattern found
  2167. */
  2168. tSCC zDarwin_ExterncBypass0[] =
  2169. "extern \"C\"";
  2170. tSCC zDarwin_ExterncBypass1[] =
  2171. "__BEGIN_DECLS";
  2172. #define DARWIN_EXTERNC_TEST_CT 2
  2173. static tTestDesc aDarwin_ExterncTests[] = {
  2174. { TT_NEGREP, zDarwin_ExterncBypass0, (regex_t*)NULL },
  2175. { TT_NEGREP, zDarwin_ExterncBypass1, (regex_t*)NULL }, };
  2176. /*
  2177. * Fix Command Arguments for Darwin_Externc
  2178. */
  2179. static const char* apzDarwin_ExterncPatch[] = {
  2180. "wrap",
  2181. "#ifdef __cplusplus\n\
  2182. extern \"C\" {\n\
  2183. #endif\n",
  2184. "#ifdef __cplusplus\n\
  2185. }\n\
  2186. #endif\n",
  2187. (char*)NULL };
  2188. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2189. *
  2190. * Description of Darwin_Gcc4_Breakage fix
  2191. */
  2192. tSCC zDarwin_Gcc4_BreakageName[] =
  2193. "darwin_gcc4_breakage";
  2194. /*
  2195. * File name selection pattern
  2196. */
  2197. tSCC zDarwin_Gcc4_BreakageList[] =
  2198. "AvailabilityMacros.h\0";
  2199. /*
  2200. * Machine/OS name selection pattern
  2201. */
  2202. tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
  2203. "*-*-darwin*",
  2204. (const char*)NULL };
  2205. /*
  2206. * content selection pattern - do fix if pattern found
  2207. */
  2208. tSCC zDarwin_Gcc4_BreakageSelect0[] =
  2209. "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
  2210. #define DARWIN_GCC4_BREAKAGE_TEST_CT 1
  2211. static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
  2212. { TT_EGREP, zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
  2213. /*
  2214. * Fix Command Arguments for Darwin_Gcc4_Breakage
  2215. */
  2216. static const char* apzDarwin_Gcc4_BreakagePatch[] = {
  2217. "format",
  2218. "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
  2219. (char*)NULL };
  2220. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2221. *
  2222. * Description of Darwin_Private_Extern fix
  2223. */
  2224. tSCC zDarwin_Private_ExternName[] =
  2225. "darwin_private_extern";
  2226. /*
  2227. * File name selection pattern
  2228. */
  2229. tSCC zDarwin_Private_ExternList[] =
  2230. "mach-o/dyld.h\0";
  2231. /*
  2232. * Machine/OS name selection pattern
  2233. */
  2234. tSCC* apzDarwin_Private_ExternMachs[] = {
  2235. "*-*-darwin*",
  2236. (const char*)NULL };
  2237. /*
  2238. * content selection pattern - do fix if pattern found
  2239. */
  2240. tSCC zDarwin_Private_ExternSelect0[] =
  2241. "__private_extern__ [a-z_]+ _dyld_";
  2242. #define DARWIN_PRIVATE_EXTERN_TEST_CT 1
  2243. static tTestDesc aDarwin_Private_ExternTests[] = {
  2244. { TT_EGREP, zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
  2245. /*
  2246. * Fix Command Arguments for Darwin_Private_Extern
  2247. */
  2248. static const char* apzDarwin_Private_ExternPatch[] = {
  2249. "format",
  2250. "extern",
  2251. "__private_extern__",
  2252. (char*)NULL };
  2253. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2254. *
  2255. * Description of Darwin_Stdint_1 fix
  2256. */
  2257. tSCC zDarwin_Stdint_1Name[] =
  2258. "darwin_stdint_1";
  2259. /*
  2260. * File name selection pattern
  2261. */
  2262. tSCC zDarwin_Stdint_1List[] =
  2263. "stdint-darwin.h\0stdint.h\0";
  2264. /*
  2265. * Machine/OS name selection pattern
  2266. */
  2267. tSCC* apzDarwin_Stdint_1Machs[] = {
  2268. "*-*-darwin*",
  2269. (const char*)NULL };
  2270. /*
  2271. * content selection pattern - do fix if pattern found
  2272. */
  2273. tSCC zDarwin_Stdint_1Select0[] =
  2274. "#define UINT8_C\\(v\\)[ \t]+\\(v ## U\\)\n\
  2275. #define UINT16_C\\(v\\)[ \t]+\\(v ## U\\)";
  2276. #define DARWIN_STDINT_1_TEST_CT 1
  2277. static tTestDesc aDarwin_Stdint_1Tests[] = {
  2278. { TT_EGREP, zDarwin_Stdint_1Select0, (regex_t*)NULL }, };
  2279. /*
  2280. * Fix Command Arguments for Darwin_Stdint_1
  2281. */
  2282. static const char* apzDarwin_Stdint_1Patch[] = {
  2283. "format",
  2284. "#define UINT8_C(v)\tv\n\
  2285. #define UINT16_C(v)\tv",
  2286. (char*)NULL };
  2287. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2288. *
  2289. * Description of Darwin_Stdint_2 fix
  2290. */
  2291. tSCC zDarwin_Stdint_2Name[] =
  2292. "darwin_stdint_2";
  2293. /*
  2294. * File name selection pattern
  2295. */
  2296. tSCC zDarwin_Stdint_2List[] =
  2297. "stdint-darwin.h\0stdint.h\0";
  2298. /*
  2299. * Machine/OS name selection pattern
  2300. */
  2301. tSCC* apzDarwin_Stdint_2Machs[] = {
  2302. "*-*-darwin*",
  2303. (const char*)NULL };
  2304. /*
  2305. * content selection pattern - do fix if pattern found
  2306. */
  2307. tSCC zDarwin_Stdint_2Select0[] =
  2308. "#if __WORDSIZE == 64\n\
  2309. #define INTPTR_MIN[ \t]+INT64_MIN\n\
  2310. #define INTPTR_MAX[ \t]+INT64_MAX\n\
  2311. #else\n\
  2312. #define INTPTR_MIN[ \t]+INT32_MIN\n\
  2313. #define INTPTR_MAX[ \t]+INT32_MAX\n\
  2314. #endif";
  2315. #define DARWIN_STDINT_2_TEST_CT 1
  2316. static tTestDesc aDarwin_Stdint_2Tests[] = {
  2317. { TT_EGREP, zDarwin_Stdint_2Select0, (regex_t*)NULL }, };
  2318. /*
  2319. * Fix Command Arguments for Darwin_Stdint_2
  2320. */
  2321. static const char* apzDarwin_Stdint_2Patch[] = {
  2322. "format",
  2323. "#if __WORDSIZE == 64\n\
  2324. #define INTPTR_MAX 9223372036854775807L\n\
  2325. #define INTPTR_MIN (-INTPTR_MAX-1)\n\
  2326. #else\n\
  2327. #define INTPTR_MAX 2147483647L\n\
  2328. #define INTPTR_MIN (-INTPTR_MAX-1)\n\
  2329. #endif",
  2330. (char*)NULL };
  2331. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2332. *
  2333. * Description of Darwin_Stdint_3 fix
  2334. */
  2335. tSCC zDarwin_Stdint_3Name[] =
  2336. "darwin_stdint_3";
  2337. /*
  2338. * File name selection pattern
  2339. */
  2340. tSCC zDarwin_Stdint_3List[] =
  2341. "stdint-darwin.h\0stdint.h\0";
  2342. /*
  2343. * Machine/OS name selection pattern
  2344. */
  2345. tSCC* apzDarwin_Stdint_3Machs[] = {
  2346. "*-*-darwin*",
  2347. (const char*)NULL };
  2348. /*
  2349. * content selection pattern - do fix if pattern found
  2350. */
  2351. tSCC zDarwin_Stdint_3Select0[] =
  2352. "#if __WORDSIZE == 64\n\
  2353. #define UINTPTR_MAX[ \t]+UINT64_MAX\n\
  2354. #else\n\
  2355. #define UINTPTR_MAX[ \t]+UINT32_MAX\n\
  2356. #endif";
  2357. #define DARWIN_STDINT_3_TEST_CT 1
  2358. static tTestDesc aDarwin_Stdint_3Tests[] = {
  2359. { TT_EGREP, zDarwin_Stdint_3Select0, (regex_t*)NULL }, };
  2360. /*
  2361. * Fix Command Arguments for Darwin_Stdint_3
  2362. */
  2363. static const char* apzDarwin_Stdint_3Patch[] = {
  2364. "format",
  2365. "#if __WORDSIZE == 64\n\
  2366. #define UINTPTR_MAX 18446744073709551615UL\n\
  2367. #else\n\
  2368. #define UINTPTR_MAX 4294967295UL\n\
  2369. #endif",
  2370. (char*)NULL };
  2371. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2372. *
  2373. * Description of Darwin_Stdint_4 fix
  2374. */
  2375. tSCC zDarwin_Stdint_4Name[] =
  2376. "darwin_stdint_4";
  2377. /*
  2378. * File name selection pattern
  2379. */
  2380. tSCC zDarwin_Stdint_4List[] =
  2381. "stdint-darwin.h\0stdint.h\0";
  2382. /*
  2383. * Machine/OS name selection pattern
  2384. */
  2385. tSCC* apzDarwin_Stdint_4Machs[] = {
  2386. "*-*-darwin*",
  2387. (const char*)NULL };
  2388. /*
  2389. * content selection pattern - do fix if pattern found
  2390. */
  2391. tSCC zDarwin_Stdint_4Select0[] =
  2392. "#if __WORDSIZE == 64\n\
  2393. #define SIZE_MAX[ \t]+UINT64_MAX\n\
  2394. #else\n\
  2395. #define SIZE_MAX[ \t]+UINT32_MAX\n\
  2396. #endif";
  2397. #define DARWIN_STDINT_4_TEST_CT 1
  2398. static tTestDesc aDarwin_Stdint_4Tests[] = {
  2399. { TT_EGREP, zDarwin_Stdint_4Select0, (regex_t*)NULL }, };
  2400. /*
  2401. * Fix Command Arguments for Darwin_Stdint_4
  2402. */
  2403. static const char* apzDarwin_Stdint_4Patch[] = {
  2404. "format",
  2405. "#if __WORDSIZE == 64\n\
  2406. #define SIZE_MAX 18446744073709551615UL\n\
  2407. #else\n\
  2408. #define SIZE_MAX 4294967295UL\n\
  2409. #endif",
  2410. (char*)NULL };
  2411. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2412. *
  2413. * Description of Darwin_Stdint_5 fix
  2414. */
  2415. tSCC zDarwin_Stdint_5Name[] =
  2416. "darwin_stdint_5";
  2417. /*
  2418. * File name selection pattern
  2419. */
  2420. tSCC zDarwin_Stdint_5List[] =
  2421. "stdint-darwin.h\0stdint.h\0";
  2422. /*
  2423. * Machine/OS name selection pattern
  2424. */
  2425. tSCC* apzDarwin_Stdint_5Machs[] = {
  2426. "*-*-darwin*",
  2427. (const char*)NULL };
  2428. /*
  2429. * content selection pattern - do fix if pattern found
  2430. */
  2431. tSCC zDarwin_Stdint_5Select0[] =
  2432. "#define INTMAX_MIN[ \t]+INT64_MIN\n\
  2433. #define INTMAX_MAX[ \t]+INT64_MAX\n\n\
  2434. #define UINTMAX_MAX[ \t]+UINT64_MAX";
  2435. #define DARWIN_STDINT_5_TEST_CT 1
  2436. static tTestDesc aDarwin_Stdint_5Tests[] = {
  2437. { TT_EGREP, zDarwin_Stdint_5Select0, (regex_t*)NULL }, };
  2438. /*
  2439. * Fix Command Arguments for Darwin_Stdint_5
  2440. */
  2441. static const char* apzDarwin_Stdint_5Patch[] = {
  2442. "format",
  2443. "#if __WORDSIZE == 64\n\
  2444. #define INTMAX_MIN (-9223372036854775807L - 1)\n\
  2445. #define INTMAX_MAX 9223372036854775807L\n\
  2446. #define UINTMAX_MAX 18446744073709551615UL\n\
  2447. #else\n\
  2448. #define INTMAX_MIN (-9223372036854775807LL - 1)\n\
  2449. #define INTMAX_MAX 9223372036854775807LL\n\
  2450. #define UINTMAX_MAX 18446744073709551615ULL\n\
  2451. #endif",
  2452. (char*)NULL };
  2453. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2454. *
  2455. * Description of Darwin_Stdint_6 fix
  2456. */
  2457. tSCC zDarwin_Stdint_6Name[] =
  2458. "darwin_stdint_6";
  2459. /*
  2460. * File name selection pattern
  2461. */
  2462. tSCC zDarwin_Stdint_6List[] =
  2463. "stdint-darwin.h\0stdint.h\0";
  2464. /*
  2465. * Machine/OS name selection pattern
  2466. */
  2467. tSCC* apzDarwin_Stdint_6Machs[] = {
  2468. "*-*-darwin*",
  2469. (const char*)NULL };
  2470. /*
  2471. * content selection pattern - do fix if pattern found
  2472. */
  2473. tSCC zDarwin_Stdint_6Select0[] =
  2474. "#if __WORDSIZE == 64\n\
  2475. #define PTRDIFF_MIN[ \t]+INT64_MIN\n\
  2476. #define PTRDIFF_MAX[ \t]+INT64_MAX\n\
  2477. #else\n\
  2478. #define PTRDIFF_MIN[ \t]+INT32_MIN\n\
  2479. #define PTRDIFF_MAX[ \t]+INT32_MAX\n\
  2480. #endif";
  2481. #define DARWIN_STDINT_6_TEST_CT 1
  2482. static tTestDesc aDarwin_Stdint_6Tests[] = {
  2483. { TT_EGREP, zDarwin_Stdint_6Select0, (regex_t*)NULL }, };
  2484. /*
  2485. * Fix Command Arguments for Darwin_Stdint_6
  2486. */
  2487. static const char* apzDarwin_Stdint_6Patch[] = {
  2488. "format",
  2489. "#if __WORDSIZE == 64\n\
  2490. #define PTRDIFF_MIN (-9223372036854775807L - 1)\n\
  2491. #define PTRDIFF_MAX 9223372036854775807L\n\
  2492. #else\n\
  2493. #define PTRDIFF_MIN (-2147483647 - 1)\n\
  2494. #define PTRDIFF_MAX 2147483647\n\
  2495. #endif",
  2496. (char*)NULL };
  2497. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2498. *
  2499. * Description of Darwin_Stdint_7 fix
  2500. */
  2501. tSCC zDarwin_Stdint_7Name[] =
  2502. "darwin_stdint_7";
  2503. /*
  2504. * File name selection pattern
  2505. */
  2506. tSCC zDarwin_Stdint_7List[] =
  2507. "stdint-darwin.h\0stdint.h\0";
  2508. /*
  2509. * Machine/OS name selection pattern
  2510. */
  2511. tSCC* apzDarwin_Stdint_7Machs[] = {
  2512. "*-*-darwin*",
  2513. (const char*)NULL };
  2514. /*
  2515. * content selection pattern - do fix if pattern found
  2516. */
  2517. tSCC zDarwin_Stdint_7Select0[] =
  2518. "#define INTMAX_C\\(v\\)[ \t]+\\(v ## LL\\)\n\
  2519. #define UINTMAX_C\\(v\\)[ \t]+\\(v ## ULL\\)";
  2520. #define DARWIN_STDINT_7_TEST_CT 1
  2521. static tTestDesc aDarwin_Stdint_7Tests[] = {
  2522. { TT_EGREP, zDarwin_Stdint_7Select0, (regex_t*)NULL }, };
  2523. /*
  2524. * Fix Command Arguments for Darwin_Stdint_7
  2525. */
  2526. static const char* apzDarwin_Stdint_7Patch[] = {
  2527. "format",
  2528. "#if __WORDSIZE == 64\n\
  2529. #define INTMAX_C(v) (v ## L)\n\
  2530. #define UINTMAX_C(v) (v ## UL)\n\
  2531. #else\n\
  2532. #define INTMAX_C(v) (v ## LL)\n\
  2533. #define UINTMAX_C(v) (v ## ULL)\n\
  2534. #endif",
  2535. (char*)NULL };
  2536. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2537. *
  2538. * Description of Dec_Intern_Asm fix
  2539. */
  2540. tSCC zDec_Intern_AsmName[] =
  2541. "dec_intern_asm";
  2542. /*
  2543. * File name selection pattern
  2544. */
  2545. tSCC zDec_Intern_AsmList[] =
  2546. "c_asm.h\0";
  2547. /*
  2548. * Machine/OS name selection pattern
  2549. */
  2550. #define apzDec_Intern_AsmMachs (const char**)NULL
  2551. #define DEC_INTERN_ASM_TEST_CT 0
  2552. #define aDec_Intern_AsmTests (tTestDesc*)NULL
  2553. /*
  2554. * Fix Command Arguments for Dec_Intern_Asm
  2555. */
  2556. static const char* apzDec_Intern_AsmPatch[] = { sed_cmd_z,
  2557. "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
  2558. #ifdef __DECC\n",
  2559. "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
  2560. #endif\n",
  2561. (char*)NULL };
  2562. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2563. *
  2564. * Description of Djgpp_Wchar_H fix
  2565. */
  2566. tSCC zDjgpp_Wchar_HName[] =
  2567. "djgpp_wchar_h";
  2568. /*
  2569. * File name selection pattern
  2570. */
  2571. #define zDjgpp_Wchar_HList (char*)NULL
  2572. /*
  2573. * Machine/OS name selection pattern
  2574. */
  2575. #define apzDjgpp_Wchar_HMachs (const char**)NULL
  2576. /*
  2577. * content selection pattern - do fix if pattern found
  2578. */
  2579. tSCC zDjgpp_Wchar_HSelect0[] =
  2580. "__DJ_wint_t";
  2581. /*
  2582. * content bypass pattern - skip fix if pattern found
  2583. */
  2584. tSCC zDjgpp_Wchar_HBypass0[] =
  2585. "sys/djtypes.h";
  2586. #define DJGPP_WCHAR_H_TEST_CT 2
  2587. static tTestDesc aDjgpp_Wchar_HTests[] = {
  2588. { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
  2589. { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
  2590. /*
  2591. * Fix Command Arguments for Djgpp_Wchar_H
  2592. */
  2593. static const char* apzDjgpp_Wchar_HPatch[] = {
  2594. "format",
  2595. "%0\n\
  2596. #include <sys/djtypes.h>",
  2597. "#include <stddef.h>",
  2598. (char*)NULL };
  2599. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2600. *
  2601. * Description of Ecd_Cursor fix
  2602. */
  2603. tSCC zEcd_CursorName[] =
  2604. "ecd_cursor";
  2605. /*
  2606. * File name selection pattern
  2607. */
  2608. tSCC zEcd_CursorList[] =
  2609. "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
  2610. /*
  2611. * Machine/OS name selection pattern
  2612. */
  2613. #define apzEcd_CursorMachs (const char**)NULL
  2614. /*
  2615. * content selection pattern - do fix if pattern found
  2616. */
  2617. tSCC zEcd_CursorSelect0[] =
  2618. "ecd\\.cursor";
  2619. #define ECD_CURSOR_TEST_CT 1
  2620. static tTestDesc aEcd_CursorTests[] = {
  2621. { TT_EGREP, zEcd_CursorSelect0, (regex_t*)NULL }, };
  2622. /*
  2623. * Fix Command Arguments for Ecd_Cursor
  2624. */
  2625. static const char* apzEcd_CursorPatch[] = {
  2626. "format",
  2627. "ecd_cursor",
  2628. (char*)NULL };
  2629. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2630. *
  2631. * Description of Feraiseexcept_Nosse_Divbyzero fix
  2632. */
  2633. tSCC zFeraiseexcept_Nosse_DivbyzeroName[] =
  2634. "feraiseexcept_nosse_divbyzero";
  2635. /*
  2636. * File name selection pattern
  2637. */
  2638. tSCC zFeraiseexcept_Nosse_DivbyzeroList[] =
  2639. "bits/fenv.h\0*/bits/fenv.h\0";
  2640. /*
  2641. * Machine/OS name selection pattern
  2642. */
  2643. tSCC* apzFeraiseexcept_Nosse_DivbyzeroMachs[] = {
  2644. "i[34567]86-*-linux*",
  2645. "x86*-linux*",
  2646. "amd64-*-linux*",
  2647. (const char*)NULL };
  2648. /*
  2649. * content selection pattern - do fix if pattern found
  2650. */
  2651. tSCC zFeraiseexcept_Nosse_DivbyzeroSelect0[] =
  2652. "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : : \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$";
  2653. /*
  2654. * content bypass pattern - skip fix if pattern found
  2655. */
  2656. tSCC zFeraiseexcept_Nosse_DivbyzeroBypass0[] =
  2657. "\"fdivp .*; fwait\"";
  2658. #define FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT 2
  2659. static tTestDesc aFeraiseexcept_Nosse_DivbyzeroTests[] = {
  2660. { TT_NEGREP, zFeraiseexcept_Nosse_DivbyzeroBypass0, (regex_t*)NULL },
  2661. { TT_EGREP, zFeraiseexcept_Nosse_DivbyzeroSelect0, (regex_t*)NULL }, };
  2662. /*
  2663. * Fix Command Arguments for Feraiseexcept_Nosse_Divbyzero
  2664. */
  2665. static const char* apzFeraiseexcept_Nosse_DivbyzeroPatch[] = {
  2666. "format",
  2667. "# ifdef __SSE_MATH__\n\
  2668. %0\n\
  2669. # else\n\
  2670. %1__asm__ __volatile__ (\"fdivp %%%%st, %%%%st(1); fwait\"\n\
  2671. %1\t\t\t: \"=t\" (__f) : \"0\" (__f), \"u\" (__g) : \"st(1)\");\n\
  2672. # endif",
  2673. (char*)NULL };
  2674. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2675. *
  2676. * Description of Feraiseexcept_Nosse_Invalid fix
  2677. */
  2678. tSCC zFeraiseexcept_Nosse_InvalidName[] =
  2679. "feraiseexcept_nosse_invalid";
  2680. /*
  2681. * File name selection pattern
  2682. */
  2683. tSCC zFeraiseexcept_Nosse_InvalidList[] =
  2684. "bits/fenv.h\0*/bits/fenv.h\0";
  2685. /*
  2686. * Machine/OS name selection pattern
  2687. */
  2688. tSCC* apzFeraiseexcept_Nosse_InvalidMachs[] = {
  2689. "i[34567]86-*-linux*",
  2690. "x86*-linux*",
  2691. "amd64-*-linux*",
  2692. (const char*)NULL };
  2693. /*
  2694. * content selection pattern - do fix if pattern found
  2695. */
  2696. tSCC zFeraiseexcept_Nosse_InvalidSelect0[] =
  2697. "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : : \"x\" \\(__f\\)\\);$";
  2698. /*
  2699. * content bypass pattern - skip fix if pattern found
  2700. */
  2701. tSCC zFeraiseexcept_Nosse_InvalidBypass0[] =
  2702. "\"fdiv .*; fwait\"";
  2703. #define FERAISEEXCEPT_NOSSE_INVALID_TEST_CT 2
  2704. static tTestDesc aFeraiseexcept_Nosse_InvalidTests[] = {
  2705. { TT_NEGREP, zFeraiseexcept_Nosse_InvalidBypass0, (regex_t*)NULL },
  2706. { TT_EGREP, zFeraiseexcept_Nosse_InvalidSelect0, (regex_t*)NULL }, };
  2707. /*
  2708. * Fix Command Arguments for Feraiseexcept_Nosse_Invalid
  2709. */
  2710. static const char* apzFeraiseexcept_Nosse_InvalidPatch[] = {
  2711. "format",
  2712. "# ifdef __SSE_MATH__\n\
  2713. %0\n\
  2714. # else\n\
  2715. %1__asm__ __volatile__ (\"fdiv %%%%st, %%%%st(0); fwait\"\n\
  2716. %1\t\t\t: \"=t\" (__f) : \"0\" (__f));\n\
  2717. # endif",
  2718. (char*)NULL };
  2719. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2720. *
  2721. * Description of Freebsd_Gcc3_Breakage fix
  2722. */
  2723. tSCC zFreebsd_Gcc3_BreakageName[] =
  2724. "freebsd_gcc3_breakage";
  2725. /*
  2726. * File name selection pattern
  2727. */
  2728. tSCC zFreebsd_Gcc3_BreakageList[] =
  2729. "sys/cdefs.h\0";
  2730. /*
  2731. * Machine/OS name selection pattern
  2732. */
  2733. tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
  2734. "*-*-freebsd*",
  2735. (const char*)NULL };
  2736. /*
  2737. * content selection pattern - do fix if pattern found
  2738. */
  2739. tSCC zFreebsd_Gcc3_BreakageSelect0[] =
  2740. "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
  2741. /*
  2742. * content bypass pattern - skip fix if pattern found
  2743. */
  2744. tSCC zFreebsd_Gcc3_BreakageBypass0[] =
  2745. "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
  2746. #define FREEBSD_GCC3_BREAKAGE_TEST_CT 2
  2747. static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
  2748. { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
  2749. { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
  2750. /*
  2751. * Fix Command Arguments for Freebsd_Gcc3_Breakage
  2752. */
  2753. static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
  2754. "format",
  2755. "%0 || __GNUC__ >= 3",
  2756. (char*)NULL };
  2757. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2758. *
  2759. * Description of Freebsd_Gcc4_Breakage fix
  2760. */
  2761. tSCC zFreebsd_Gcc4_BreakageName[] =
  2762. "freebsd_gcc4_breakage";
  2763. /*
  2764. * File name selection pattern
  2765. */
  2766. tSCC zFreebsd_Gcc4_BreakageList[] =
  2767. "sys/cdefs.h\0";
  2768. /*
  2769. * Machine/OS name selection pattern
  2770. */
  2771. tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
  2772. "*-*-freebsd*",
  2773. (const char*)NULL };
  2774. /*
  2775. * content selection pattern - do fix if pattern found
  2776. */
  2777. tSCC zFreebsd_Gcc4_BreakageSelect0[] =
  2778. "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
  2779. #define FREEBSD_GCC4_BREAKAGE_TEST_CT 1
  2780. static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
  2781. { TT_EGREP, zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
  2782. /*
  2783. * Fix Command Arguments for Freebsd_Gcc4_Breakage
  2784. */
  2785. static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
  2786. "format",
  2787. "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
  2788. (char*)NULL };
  2789. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2790. *
  2791. * Description of Glibc_C99_Inline_1 fix
  2792. */
  2793. tSCC zGlibc_C99_Inline_1Name[] =
  2794. "glibc_c99_inline_1";
  2795. /*
  2796. * File name selection pattern
  2797. */
  2798. tSCC zGlibc_C99_Inline_1List[] =
  2799. "features.h\0*/features.h\0";
  2800. /*
  2801. * Machine/OS name selection pattern
  2802. */
  2803. #define apzGlibc_C99_Inline_1Machs (const char**)NULL
  2804. /*
  2805. * content selection pattern - do fix if pattern found
  2806. */
  2807. tSCC zGlibc_C99_Inline_1Select0[] =
  2808. "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
  2809. #define GLIBC_C99_INLINE_1_TEST_CT 1
  2810. static tTestDesc aGlibc_C99_Inline_1Tests[] = {
  2811. { TT_EGREP, zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, };
  2812. /*
  2813. * Fix Command Arguments for Glibc_C99_Inline_1
  2814. */
  2815. static const char* apzGlibc_C99_Inline_1Patch[] = {
  2816. "format",
  2817. "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
  2818. (char*)NULL };
  2819. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2820. *
  2821. * Description of Glibc_C99_Inline_1a fix
  2822. */
  2823. tSCC zGlibc_C99_Inline_1aName[] =
  2824. "glibc_c99_inline_1a";
  2825. /*
  2826. * File name selection pattern
  2827. */
  2828. tSCC zGlibc_C99_Inline_1aList[] =
  2829. "features.h\0*/features.h\0";
  2830. /*
  2831. * Machine/OS name selection pattern
  2832. */
  2833. #define apzGlibc_C99_Inline_1aMachs (const char**)NULL
  2834. /*
  2835. * content selection pattern - do fix if pattern found
  2836. */
  2837. tSCC zGlibc_C99_Inline_1aSelect0[] =
  2838. "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\
  2839. (#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
  2840. #define GLIBC_C99_INLINE_1A_TEST_CT 1
  2841. static tTestDesc aGlibc_C99_Inline_1aTests[] = {
  2842. { TT_EGREP, zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, };
  2843. /*
  2844. * Fix Command Arguments for Glibc_C99_Inline_1a
  2845. */
  2846. static const char* apzGlibc_C99_Inline_1aPatch[] = {
  2847. "format",
  2848. "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\
  2849. %2",
  2850. (char*)NULL };
  2851. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2852. *
  2853. * Description of Glibc_C99_Inline_2 fix
  2854. */
  2855. tSCC zGlibc_C99_Inline_2Name[] =
  2856. "glibc_c99_inline_2";
  2857. /*
  2858. * File name selection pattern
  2859. */
  2860. tSCC zGlibc_C99_Inline_2List[] =
  2861. "sys/stat.h\0*/sys/stat.h\0";
  2862. /*
  2863. * Machine/OS name selection pattern
  2864. */
  2865. #define apzGlibc_C99_Inline_2Machs (const char**)NULL
  2866. /*
  2867. * content selection pattern - do fix if pattern found
  2868. */
  2869. tSCC zGlibc_C99_Inline_2Select0[] =
  2870. "extern __inline__ int";
  2871. #define GLIBC_C99_INLINE_2_TEST_CT 1
  2872. static tTestDesc aGlibc_C99_Inline_2Tests[] = {
  2873. { TT_EGREP, zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
  2874. /*
  2875. * Fix Command Arguments for Glibc_C99_Inline_2
  2876. */
  2877. static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z,
  2878. "-e", "s/extern int \\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
  2879. extern\\\n\
  2880. #endif\\\n\
  2881. __inline__ int \\1/",
  2882. "-e", "s/extern int \\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
  2883. extern\\\n\
  2884. #endif\\\n\
  2885. __inline__ int \\1/",
  2886. "-e", "s/extern int \\(mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
  2887. extern\\\n\
  2888. #endif\\\n\
  2889. __inline__ int \\1/",
  2890. "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
  2891. extern\\\n\
  2892. #endif\\\n\
  2893. __inline__ int __REDIRECT\\1 (\\2/",
  2894. "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
  2895. extern\\\n\
  2896. #endif\\\n\
  2897. __inline__ int __REDIRECT\\1 (\\2/",
  2898. "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
  2899. extern\\\n\
  2900. #endif\\\n\
  2901. __inline__ int/",
  2902. (char*)NULL };
  2903. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2904. *
  2905. * Description of Glibc_C99_Inline_3 fix
  2906. */
  2907. tSCC zGlibc_C99_Inline_3Name[] =
  2908. "glibc_c99_inline_3";
  2909. /*
  2910. * File name selection pattern
  2911. */
  2912. tSCC zGlibc_C99_Inline_3List[] =
  2913. "bits/string2.h\0*/bits/string2.h\0";
  2914. /*
  2915. * Machine/OS name selection pattern
  2916. */
  2917. #define apzGlibc_C99_Inline_3Machs (const char**)NULL
  2918. /*
  2919. * content selection pattern - do fix if pattern found
  2920. */
  2921. tSCC zGlibc_C99_Inline_3Select0[] =
  2922. "extern __inline";
  2923. /*
  2924. * content bypass pattern - skip fix if pattern found
  2925. */
  2926. tSCC zGlibc_C99_Inline_3Bypass0[] =
  2927. "__extern_inline|__GNU_STDC_INLINE__";
  2928. #define GLIBC_C99_INLINE_3_TEST_CT 2
  2929. static tTestDesc aGlibc_C99_Inline_3Tests[] = {
  2930. { TT_NEGREP, zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
  2931. { TT_EGREP, zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
  2932. /*
  2933. * Fix Command Arguments for Glibc_C99_Inline_3
  2934. */
  2935. static const char* apzGlibc_C99_Inline_3Patch[] = {
  2936. "format",
  2937. "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
  2938. "^# ifdef __cplusplus$",
  2939. (char*)NULL };
  2940. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2941. *
  2942. * Description of Glibc_C99_Inline_4 fix
  2943. */
  2944. tSCC zGlibc_C99_Inline_4Name[] =
  2945. "glibc_c99_inline_4";
  2946. /*
  2947. * File name selection pattern
  2948. */
  2949. tSCC zGlibc_C99_Inline_4List[] =
  2950. "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0pthread.h\0*/pthread.h\0";
  2951. /*
  2952. * Machine/OS name selection pattern
  2953. */
  2954. #define apzGlibc_C99_Inline_4Machs (const char**)NULL
  2955. /*
  2956. * content selection pattern - do fix if pattern found
  2957. */
  2958. tSCC zGlibc_C99_Inline_4Select0[] =
  2959. "(^| )extern __inline";
  2960. /*
  2961. * content bypass pattern - skip fix if pattern found
  2962. */
  2963. tSCC zGlibc_C99_Inline_4Bypass0[] =
  2964. "__extern_inline|__gnu_inline__";
  2965. #define GLIBC_C99_INLINE_4_TEST_CT 2
  2966. static tTestDesc aGlibc_C99_Inline_4Tests[] = {
  2967. { TT_NEGREP, zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
  2968. { TT_EGREP, zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
  2969. /*
  2970. * Fix Command Arguments for Glibc_C99_Inline_4
  2971. */
  2972. static const char* apzGlibc_C99_Inline_4Patch[] = {
  2973. "format",
  2974. "%0 __attribute__ ((__gnu_inline__))",
  2975. (char*)NULL };
  2976. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  2977. *
  2978. * Description of Glibc_Mutex_Init fix
  2979. */
  2980. tSCC zGlibc_Mutex_InitName[] =
  2981. "glibc_mutex_init";
  2982. /*
  2983. * File name selection pattern
  2984. */
  2985. tSCC zGlibc_Mutex_InitList[] =
  2986. "pthread.h\0";
  2987. /*
  2988. * Machine/OS name selection pattern
  2989. */
  2990. #define apzGlibc_Mutex_InitMachs (const char**)NULL
  2991. /*
  2992. * content selection pattern - do fix if pattern found
  2993. */
  2994. tSCC zGlibc_Mutex_InitSelect0[] =
  2995. "\\{ *\\{ *0, *\\} *\\}";
  2996. #define GLIBC_MUTEX_INIT_TEST_CT 1
  2997. static tTestDesc aGlibc_Mutex_InitTests[] = {
  2998. { TT_EGREP, zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
  2999. /*
  3000. * Fix Command Arguments for Glibc_Mutex_Init
  3001. */
  3002. static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z,
  3003. "-e", "/define[ \t]\\{1,\\}PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\
  3004. N\n\
  3005. s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\
  3006. }",
  3007. "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0 }/",
  3008. "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0 }/",
  3009. "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
  3010. "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
  3011. "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0, 0 }/",
  3012. "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
  3013. "-e", "/define[ \t]\\{1,\\}PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/N;s/^[ \t]*#[ \t]*\\(define[ \t]\\{1,\\}PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n[ \t]*{ { 0, } }/# if __WORDSIZE == 64\\\n\
  3014. # \\1\\\n\
  3015. { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
  3016. # else\\\n\
  3017. # \\1\\\n\
  3018. { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
  3019. # endif/",
  3020. "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
  3021. "-e", "/define[ \t]\\{1,\\}PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
  3022. (char*)NULL };
  3023. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3024. *
  3025. * Description of Glibc_Stdint fix
  3026. */
  3027. tSCC zGlibc_StdintName[] =
  3028. "glibc_stdint";
  3029. /*
  3030. * File name selection pattern
  3031. */
  3032. tSCC zGlibc_StdintList[] =
  3033. "stdint.h\0";
  3034. /*
  3035. * Machine/OS name selection pattern
  3036. */
  3037. #define apzGlibc_StdintMachs (const char**)NULL
  3038. /*
  3039. * content selection pattern - do fix if pattern found
  3040. */
  3041. tSCC zGlibc_StdintSelect0[] =
  3042. "GNU C Library";
  3043. #define GLIBC_STDINT_TEST_CT 1
  3044. static tTestDesc aGlibc_StdintTests[] = {
  3045. { TT_EGREP, zGlibc_StdintSelect0, (regex_t*)NULL }, };
  3046. /*
  3047. * Fix Command Arguments for Glibc_Stdint
  3048. */
  3049. static const char* apzGlibc_StdintPatch[] = {
  3050. "format",
  3051. "# define UINT8_C(c)\tc\n\
  3052. # define UINT16_C(c)\tc",
  3053. "# define UINT8_C\\(c\\)\tc ## U\n\
  3054. # define UINT16_C\\(c\\)\tc ## U",
  3055. (char*)NULL };
  3056. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3057. *
  3058. * Description of Glibc_Strncpy fix
  3059. */
  3060. tSCC zGlibc_StrncpyName[] =
  3061. "glibc_strncpy";
  3062. /*
  3063. * File name selection pattern
  3064. */
  3065. tSCC zGlibc_StrncpyList[] =
  3066. "bits/string2.h\0*/bits/string2.h\0";
  3067. /*
  3068. * Machine/OS name selection pattern
  3069. */
  3070. #define apzGlibc_StrncpyMachs (const char**)NULL
  3071. /*
  3072. * content bypass pattern - skip fix if pattern found
  3073. */
  3074. tSCC zGlibc_StrncpyBypass0[] =
  3075. "__builtin_strncpy";
  3076. #define GLIBC_STRNCPY_TEST_CT 1
  3077. static tTestDesc aGlibc_StrncpyTests[] = {
  3078. { TT_NEGREP, zGlibc_StrncpyBypass0, (regex_t*)NULL }, };
  3079. /*
  3080. * Fix Command Arguments for Glibc_Strncpy
  3081. */
  3082. static const char* apzGlibc_StrncpyPatch[] = {
  3083. "format",
  3084. "# define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)",
  3085. "# define strncpy([^\n\
  3086. ]*\\\\\n\
  3087. )*[^\n\
  3088. ]*",
  3089. (char*)NULL };
  3090. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3091. *
  3092. * Description of Glibc_Tgmath fix
  3093. */
  3094. tSCC zGlibc_TgmathName[] =
  3095. "glibc_tgmath";
  3096. /*
  3097. * File name selection pattern
  3098. */
  3099. tSCC zGlibc_TgmathList[] =
  3100. "tgmath.h\0";
  3101. /*
  3102. * Machine/OS name selection pattern
  3103. */
  3104. #define apzGlibc_TgmathMachs (const char**)NULL
  3105. /*
  3106. * content selection pattern - do fix if pattern found
  3107. */
  3108. tSCC zGlibc_TgmathSelect0[] =
  3109. "\\(\\(\\(type\\) 0.25\\) && \\(\\(type\\) 0.25 - 1\\)\\)";
  3110. /*
  3111. * content bypass pattern - skip fix if pattern found
  3112. */
  3113. tSCC zGlibc_TgmathBypass0[] =
  3114. "__floating_type\\(type\\) \\\\\n\
  3115. .*__builtin_classify_type";
  3116. #define GLIBC_TGMATH_TEST_CT 2
  3117. static tTestDesc aGlibc_TgmathTests[] = {
  3118. { TT_NEGREP, zGlibc_TgmathBypass0, (regex_t*)NULL },
  3119. { TT_EGREP, zGlibc_TgmathSelect0, (regex_t*)NULL }, };
  3120. /*
  3121. * Fix Command Arguments for Glibc_Tgmath
  3122. */
  3123. static const char* apzGlibc_TgmathPatch[] = {
  3124. "format",
  3125. "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))",
  3126. (char*)NULL };
  3127. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3128. *
  3129. * Description of Gnu_Types fix
  3130. */
  3131. tSCC zGnu_TypesName[] =
  3132. "gnu_types";
  3133. /*
  3134. * File name selection pattern
  3135. */
  3136. tSCC zGnu_TypesList[] =
  3137. "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
  3138. /*
  3139. * Machine/OS name selection pattern
  3140. */
  3141. tSCC* apzGnu_TypesMachs[] = {
  3142. "*-*-solaris2.1[0-9]*",
  3143. (const char*)NULL };
  3144. /*
  3145. * content selection pattern - do fix if pattern found
  3146. */
  3147. tSCC zGnu_TypesSelect0[] =
  3148. "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
  3149. /*
  3150. * content bypass pattern - skip fix if pattern found
  3151. */
  3152. tSCC zGnu_TypesBypass0[] =
  3153. "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
  3154. #define GNU_TYPES_TEST_CT 2
  3155. static tTestDesc aGnu_TypesTests[] = {
  3156. { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
  3157. { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
  3158. /*
  3159. * Fix Command Arguments for Gnu_Types
  3160. */
  3161. static const char* apzGnu_TypesPatch[] = {
  3162. "gnu_type",
  3163. (char*)NULL };
  3164. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3165. *
  3166. * Description of Hp_Inline fix
  3167. */
  3168. tSCC zHp_InlineName[] =
  3169. "hp_inline";
  3170. /*
  3171. * File name selection pattern
  3172. */
  3173. tSCC zHp_InlineList[] =
  3174. "sys/spinlock.h\0machine/machparam.h\0";
  3175. /*
  3176. * Machine/OS name selection pattern
  3177. */
  3178. #define apzHp_InlineMachs (const char**)NULL
  3179. /*
  3180. * content selection pattern - do fix if pattern found
  3181. */
  3182. tSCC zHp_InlineSelect0[] =
  3183. "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
  3184. #define HP_INLINE_TEST_CT 1
  3185. static tTestDesc aHp_InlineTests[] = {
  3186. { TT_EGREP, zHp_InlineSelect0, (regex_t*)NULL }, };
  3187. /*
  3188. * Fix Command Arguments for Hp_Inline
  3189. */
  3190. static const char* apzHp_InlinePatch[] = {
  3191. "format",
  3192. "%1<machine/%2.h>",
  3193. "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
  3194. (char*)NULL };
  3195. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3196. *
  3197. * Description of Hp_Sysfile fix
  3198. */
  3199. tSCC zHp_SysfileName[] =
  3200. "hp_sysfile";
  3201. /*
  3202. * File name selection pattern
  3203. */
  3204. tSCC zHp_SysfileList[] =
  3205. "sys/file.h\0";
  3206. /*
  3207. * Machine/OS name selection pattern
  3208. */
  3209. #define apzHp_SysfileMachs (const char**)NULL
  3210. /*
  3211. * content selection pattern - do fix if pattern found
  3212. */
  3213. tSCC zHp_SysfileSelect0[] =
  3214. "HPUX_SOURCE";
  3215. #define HP_SYSFILE_TEST_CT 1
  3216. static tTestDesc aHp_SysfileTests[] = {
  3217. { TT_EGREP, zHp_SysfileSelect0, (regex_t*)NULL }, };
  3218. /*
  3219. * Fix Command Arguments for Hp_Sysfile
  3220. */
  3221. static const char* apzHp_SysfilePatch[] = {
  3222. "format",
  3223. "(struct file *, ...)",
  3224. "\\(\\.\\.\\.\\)",
  3225. (char*)NULL };
  3226. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3227. *
  3228. * Description of Hppa_Hpux_Fp_Macros fix
  3229. */
  3230. tSCC zHppa_Hpux_Fp_MacrosName[] =
  3231. "hppa_hpux_fp_macros";
  3232. /*
  3233. * File name selection pattern
  3234. */
  3235. tSCC zHppa_Hpux_Fp_MacrosList[] =
  3236. "math.h\0";
  3237. /*
  3238. * Machine/OS name selection pattern
  3239. */
  3240. tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = {
  3241. "hppa*-hp-hpux11*",
  3242. (const char*)NULL };
  3243. /*
  3244. * content selection pattern - do fix if pattern found
  3245. */
  3246. tSCC zHppa_Hpux_Fp_MacrosSelect0[] =
  3247. "#[ \t]*define[ \t]*FP_NORMAL.*\n\
  3248. #[ \t]*define[ \t]*FP_ZERO.*\n\
  3249. #[ \t]*define[ \t]*FP_INFINITE.*\n\
  3250. #[ \t]*define[ \t]*FP_SUBNORMAL.*\n\
  3251. #[ \t]*define[ \t]*FP_NAN.*\n";
  3252. #define HPPA_HPUX_FP_MACROS_TEST_CT 1
  3253. static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = {
  3254. { TT_EGREP, zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, };
  3255. /*
  3256. * Fix Command Arguments for Hppa_Hpux_Fp_Macros
  3257. */
  3258. static const char* apzHppa_Hpux_Fp_MacrosPatch[] = {
  3259. "format",
  3260. "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\
  3261. #if defined(_INCLUDE_HPUX_SOURCE) || \\\n\
  3262. (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\
  3263. %0#endif\n\n\
  3264. #ifdef _INCLUDE_HPUX_SOURCE\n",
  3265. (char*)NULL };
  3266. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3267. *
  3268. * Description of Hpux10_Cpp_Pow_Inline fix
  3269. */
  3270. tSCC zHpux10_Cpp_Pow_InlineName[] =
  3271. "hpux10_cpp_pow_inline";
  3272. /*
  3273. * File name selection pattern
  3274. */
  3275. tSCC zHpux10_Cpp_Pow_InlineList[] =
  3276. "fixinc-test-limits.h\0math.h\0";
  3277. /*
  3278. * Machine/OS name selection pattern
  3279. */
  3280. #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
  3281. /*
  3282. * content selection pattern - do fix if pattern found
  3283. */
  3284. tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
  3285. "^# +ifdef +__cplusplus\n\
  3286. +\\}\n\
  3287. +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
  3288. [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
  3289. +\\}\n\
  3290. +extern +\"C\" +\\{\n\
  3291. #else\n\
  3292. # +endif";
  3293. #define HPUX10_CPP_POW_INLINE_TEST_CT 1
  3294. static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
  3295. { TT_EGREP, zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
  3296. /*
  3297. * Fix Command Arguments for Hpux10_Cpp_Pow_Inline
  3298. */
  3299. static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
  3300. "format",
  3301. "",
  3302. (char*)NULL };
  3303. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3304. *
  3305. * Description of Hpux11_Cpp_Pow_Inline fix
  3306. */
  3307. tSCC zHpux11_Cpp_Pow_InlineName[] =
  3308. "hpux11_cpp_pow_inline";
  3309. /*
  3310. * File name selection pattern
  3311. */
  3312. tSCC zHpux11_Cpp_Pow_InlineList[] =
  3313. "math.h\0";
  3314. /*
  3315. * Machine/OS name selection pattern
  3316. */
  3317. #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
  3318. /*
  3319. * content selection pattern - do fix if pattern found
  3320. */
  3321. tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
  3322. " +inline double pow\\(double d,int expon\\) \\{\n\
  3323. +return pow\\(d, \\(double\\)expon\\);\n\
  3324. +\\}\n";
  3325. #define HPUX11_CPP_POW_INLINE_TEST_CT 1
  3326. static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
  3327. { TT_EGREP, zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
  3328. /*
  3329. * Fix Command Arguments for Hpux11_Cpp_Pow_Inline
  3330. */
  3331. static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
  3332. "format",
  3333. "",
  3334. (char*)NULL };
  3335. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3336. *
  3337. * Description of Hpux10_Ctype_Declarations1 fix
  3338. */
  3339. tSCC zHpux10_Ctype_Declarations1Name[] =
  3340. "hpux10_ctype_declarations1";
  3341. /*
  3342. * File name selection pattern
  3343. */
  3344. tSCC zHpux10_Ctype_Declarations1List[] =
  3345. "ctype.h\0";
  3346. /*
  3347. * Machine/OS name selection pattern
  3348. */
  3349. #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
  3350. /*
  3351. * content selection pattern - do fix if pattern found
  3352. */
  3353. tSCC zHpux10_Ctype_Declarations1Select0[] =
  3354. "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
  3355. /*
  3356. * content bypass pattern - skip fix if pattern found
  3357. */
  3358. tSCC zHpux10_Ctype_Declarations1Bypass0[] =
  3359. "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
  3360. #define HPUX10_CTYPE_DECLARATIONS1_TEST_CT 2
  3361. static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
  3362. { TT_NEGREP, zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
  3363. { TT_EGREP, zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
  3364. /*
  3365. * Fix Command Arguments for Hpux10_Ctype_Declarations1
  3366. */
  3367. static const char* apzHpux10_Ctype_Declarations1Patch[] = {
  3368. "format",
  3369. "#ifdef _PROTOTYPES\n\
  3370. extern int __tolower(int);\n\
  3371. extern int __toupper(int);\n\
  3372. #else /* NOT _PROTOTYPES */\n\
  3373. extern int __tolower();\n\
  3374. extern int __toupper();\n\
  3375. #endif /* _PROTOTYPES */\n\n\
  3376. %0\n",
  3377. (char*)NULL };
  3378. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3379. *
  3380. * Description of Hpux10_Ctype_Declarations2 fix
  3381. */
  3382. tSCC zHpux10_Ctype_Declarations2Name[] =
  3383. "hpux10_ctype_declarations2";
  3384. /*
  3385. * File name selection pattern
  3386. */
  3387. tSCC zHpux10_Ctype_Declarations2List[] =
  3388. "ctype.h\0";
  3389. /*
  3390. * Machine/OS name selection pattern
  3391. */
  3392. #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
  3393. /*
  3394. * content selection pattern - do fix if pattern found
  3395. */
  3396. tSCC zHpux10_Ctype_Declarations2Select0[] =
  3397. "^# if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
  3398. /*
  3399. * content bypass pattern - skip fix if pattern found
  3400. */
  3401. tSCC zHpux10_Ctype_Declarations2Bypass0[] =
  3402. "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
  3403. #define HPUX10_CTYPE_DECLARATIONS2_TEST_CT 2
  3404. static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
  3405. { TT_NEGREP, zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
  3406. { TT_EGREP, zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
  3407. /*
  3408. * Fix Command Arguments for Hpux10_Ctype_Declarations2
  3409. */
  3410. static const char* apzHpux10_Ctype_Declarations2Patch[] = {
  3411. "format",
  3412. "%0\n\n\
  3413. #ifdef _PROTOTYPES\n\
  3414. extern int _isalnum(int);\n\
  3415. extern int _isalpha(int);\n\
  3416. extern int _iscntrl(int);\n\
  3417. extern int _isdigit(int);\n\
  3418. extern int _isgraph(int);\n\
  3419. extern int _islower(int);\n\
  3420. extern int _isprint(int);\n\
  3421. extern int _ispunct(int);\n\
  3422. extern int _isspace(int);\n\
  3423. extern int _isupper(int);\n\
  3424. extern int _isxdigit(int);\n\
  3425. # else /* not _PROTOTYPES */\n\
  3426. extern int _isalnum();\n\
  3427. extern int _isalpha();\n\
  3428. extern int _iscntrl();\n\
  3429. extern int _isdigit();\n\
  3430. extern int _isgraph();\n\
  3431. extern int _islower();\n\
  3432. extern int _isprint();\n\
  3433. extern int _ispunct();\n\
  3434. extern int _isspace();\n\
  3435. extern int _isupper();\n\
  3436. extern int _isxdigit();\n\
  3437. #endif /* _PROTOTYPES */\n",
  3438. (char*)NULL };
  3439. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3440. *
  3441. * Description of Hpux10_Stdio_Declarations fix
  3442. */
  3443. tSCC zHpux10_Stdio_DeclarationsName[] =
  3444. "hpux10_stdio_declarations";
  3445. /*
  3446. * File name selection pattern
  3447. */
  3448. tSCC zHpux10_Stdio_DeclarationsList[] =
  3449. "stdio.h\0";
  3450. /*
  3451. * Machine/OS name selection pattern
  3452. */
  3453. #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
  3454. /*
  3455. * content selection pattern - do fix if pattern found
  3456. */
  3457. tSCC zHpux10_Stdio_DeclarationsSelect0[] =
  3458. "^#[ \t]*define _iob[ \t]*__iob";
  3459. /*
  3460. * content bypass pattern - skip fix if pattern found
  3461. */
  3462. tSCC zHpux10_Stdio_DeclarationsBypass0[] =
  3463. "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
  3464. #define HPUX10_STDIO_DECLARATIONS_TEST_CT 2
  3465. static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
  3466. { TT_NEGREP, zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
  3467. { TT_EGREP, zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
  3468. /*
  3469. * Fix Command Arguments for Hpux10_Stdio_Declarations
  3470. */
  3471. static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
  3472. "format",
  3473. "%0\n\n\
  3474. # if defined(__STDC__) || defined(__cplusplus)\n\
  3475. extern int snprintf(char *, size_t, const char *, ...);\n\
  3476. extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
  3477. # else /* not __STDC__) || __cplusplus */\n\
  3478. extern int snprintf();\n\
  3479. extern int vsnprintf();\n\
  3480. # endif /* __STDC__) || __cplusplus */\n",
  3481. (char*)NULL };
  3482. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3483. *
  3484. * Description of Hpux11_Abs fix
  3485. */
  3486. tSCC zHpux11_AbsName[] =
  3487. "hpux11_abs";
  3488. /*
  3489. * File name selection pattern
  3490. */
  3491. tSCC zHpux11_AbsList[] =
  3492. "stdlib.h\0";
  3493. /*
  3494. * Machine/OS name selection pattern
  3495. */
  3496. tSCC* apzHpux11_AbsMachs[] = {
  3497. "*-hp-hpux11*",
  3498. (const char*)NULL };
  3499. /*
  3500. * content selection pattern - do fix if pattern found
  3501. */
  3502. tSCC zHpux11_AbsSelect0[] =
  3503. "ifndef _MATH_INCLUDED";
  3504. #define HPUX11_ABS_TEST_CT 1
  3505. static tTestDesc aHpux11_AbsTests[] = {
  3506. { TT_EGREP, zHpux11_AbsSelect0, (regex_t*)NULL }, };
  3507. /*
  3508. * Fix Command Arguments for Hpux11_Abs
  3509. */
  3510. static const char* apzHpux11_AbsPatch[] = {
  3511. "format",
  3512. "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
  3513. (char*)NULL };
  3514. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3515. *
  3516. * Description of Hpux11_Lwp_Rwlock_Valid fix
  3517. */
  3518. tSCC zHpux11_Lwp_Rwlock_ValidName[] =
  3519. "hpux11_lwp_rwlock_valid";
  3520. /*
  3521. * File name selection pattern
  3522. */
  3523. tSCC zHpux11_Lwp_Rwlock_ValidList[] =
  3524. "sys/pthread.h\0";
  3525. /*
  3526. * Machine/OS name selection pattern
  3527. */
  3528. tSCC* apzHpux11_Lwp_Rwlock_ValidMachs[] = {
  3529. "*-hp-hpux11*",
  3530. (const char*)NULL };
  3531. /*
  3532. * content selection pattern - do fix if pattern found
  3533. */
  3534. tSCC zHpux11_Lwp_Rwlock_ValidSelect0[] =
  3535. "#define __LWP_RWLOCK_VALID[ \t]*0x8c91";
  3536. #define HPUX11_LWP_RWLOCK_VALID_TEST_CT 1
  3537. static tTestDesc aHpux11_Lwp_Rwlock_ValidTests[] = {
  3538. { TT_EGREP, zHpux11_Lwp_Rwlock_ValidSelect0, (regex_t*)NULL }, };
  3539. /*
  3540. * Fix Command Arguments for Hpux11_Lwp_Rwlock_Valid
  3541. */
  3542. static const char* apzHpux11_Lwp_Rwlock_ValidPatch[] = {
  3543. "format",
  3544. "#define __LWP_RWLOCK_VALID -29551",
  3545. (char*)NULL };
  3546. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3547. *
  3548. * Description of Hpux11_Extern_Sendfile fix
  3549. */
  3550. tSCC zHpux11_Extern_SendfileName[] =
  3551. "hpux11_extern_sendfile";
  3552. /*
  3553. * File name selection pattern
  3554. */
  3555. tSCC zHpux11_Extern_SendfileList[] =
  3556. "sys/socket.h\0";
  3557. /*
  3558. * Machine/OS name selection pattern
  3559. */
  3560. tSCC* apzHpux11_Extern_SendfileMachs[] = {
  3561. "*-hp-hpux11.[12]*",
  3562. (const char*)NULL };
  3563. /*
  3564. * content selection pattern - do fix if pattern found
  3565. */
  3566. tSCC zHpux11_Extern_SendfileSelect0[] =
  3567. "^[ \t]*extern sbsize_t sendfile.*\n\
  3568. .*, int\\)\\);\n";
  3569. #define HPUX11_EXTERN_SENDFILE_TEST_CT 1
  3570. static tTestDesc aHpux11_Extern_SendfileTests[] = {
  3571. { TT_EGREP, zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
  3572. /*
  3573. * Fix Command Arguments for Hpux11_Extern_Sendfile
  3574. */
  3575. static const char* apzHpux11_Extern_SendfilePatch[] = {
  3576. "format",
  3577. "#ifndef _APP32_64BIT_OFF_T\n\
  3578. %0#endif\n",
  3579. (char*)NULL };
  3580. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3581. *
  3582. * Description of Hpux11_Extern_Sendpath fix
  3583. */
  3584. tSCC zHpux11_Extern_SendpathName[] =
  3585. "hpux11_extern_sendpath";
  3586. /*
  3587. * File name selection pattern
  3588. */
  3589. tSCC zHpux11_Extern_SendpathList[] =
  3590. "sys/socket.h\0";
  3591. /*
  3592. * Machine/OS name selection pattern
  3593. */
  3594. tSCC* apzHpux11_Extern_SendpathMachs[] = {
  3595. "*-hp-hpux11.[12]*",
  3596. (const char*)NULL };
  3597. /*
  3598. * content selection pattern - do fix if pattern found
  3599. */
  3600. tSCC zHpux11_Extern_SendpathSelect0[] =
  3601. "^[ \t]*extern sbsize_t sendpath.*\n\
  3602. .*, int\\)\\);\n";
  3603. #define HPUX11_EXTERN_SENDPATH_TEST_CT 1
  3604. static tTestDesc aHpux11_Extern_SendpathTests[] = {
  3605. { TT_EGREP, zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
  3606. /*
  3607. * Fix Command Arguments for Hpux11_Extern_Sendpath
  3608. */
  3609. static const char* apzHpux11_Extern_SendpathPatch[] = {
  3610. "format",
  3611. "#ifndef _APP32_64BIT_OFF_T\n\
  3612. %0#endif\n",
  3613. (char*)NULL };
  3614. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3615. *
  3616. * Description of Hpux11_Fabsf fix
  3617. */
  3618. tSCC zHpux11_FabsfName[] =
  3619. "hpux11_fabsf";
  3620. /*
  3621. * File name selection pattern
  3622. */
  3623. tSCC zHpux11_FabsfList[] =
  3624. "math.h\0";
  3625. /*
  3626. * Machine/OS name selection pattern
  3627. */
  3628. #define apzHpux11_FabsfMachs (const char**)NULL
  3629. /*
  3630. * content selection pattern - do fix if pattern found
  3631. */
  3632. tSCC zHpux11_FabsfSelect0[] =
  3633. "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
  3634. /*
  3635. * content bypass pattern - skip fix if pattern found
  3636. */
  3637. tSCC zHpux11_FabsfBypass0[] =
  3638. "__cplusplus";
  3639. #define HPUX11_FABSF_TEST_CT 2
  3640. static tTestDesc aHpux11_FabsfTests[] = {
  3641. { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
  3642. { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
  3643. /*
  3644. * Fix Command Arguments for Hpux11_Fabsf
  3645. */
  3646. static const char* apzHpux11_FabsfPatch[] = {
  3647. "format",
  3648. "#ifndef __cplusplus\n\
  3649. %0\n\
  3650. #endif",
  3651. (char*)NULL };
  3652. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3653. *
  3654. * Description of Hpux11_Pthread_Const fix
  3655. */
  3656. tSCC zHpux11_Pthread_ConstName[] =
  3657. "hpux11_pthread_const";
  3658. /*
  3659. * File name selection pattern
  3660. */
  3661. tSCC zHpux11_Pthread_ConstList[] =
  3662. "sys/pthread.h\0";
  3663. /*
  3664. * Machine/OS name selection pattern
  3665. */
  3666. tSCC* apzHpux11_Pthread_ConstMachs[] = {
  3667. "*-hp-hpux11.[0-3]*",
  3668. (const char*)NULL };
  3669. /*
  3670. * content selection pattern - do fix if pattern found
  3671. */
  3672. tSCC zHpux11_Pthread_ConstSelect0[] =
  3673. "^#define[ \t]*__POINTER_SET[ \t]*\\(\\(void \\*\\) 1LL\\)";
  3674. #define HPUX11_PTHREAD_CONST_TEST_CT 1
  3675. static tTestDesc aHpux11_Pthread_ConstTests[] = {
  3676. { TT_EGREP, zHpux11_Pthread_ConstSelect0, (regex_t*)NULL }, };
  3677. /*
  3678. * Fix Command Arguments for Hpux11_Pthread_Const
  3679. */
  3680. static const char* apzHpux11_Pthread_ConstPatch[] = {
  3681. "format",
  3682. "#define __POINTER_SET\t\t((void *) 1L)",
  3683. (char*)NULL };
  3684. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3685. *
  3686. * Description of Hpux11_Size_T fix
  3687. */
  3688. tSCC zHpux11_Size_TName[] =
  3689. "hpux11_size_t";
  3690. /*
  3691. * File name selection pattern
  3692. */
  3693. #define zHpux11_Size_TList (char*)NULL
  3694. /*
  3695. * Machine/OS name selection pattern
  3696. */
  3697. tSCC* apzHpux11_Size_TMachs[] = {
  3698. "*-hp-hpux11*",
  3699. (const char*)NULL };
  3700. /*
  3701. * content selection pattern - do fix if pattern found
  3702. */
  3703. tSCC zHpux11_Size_TSelect0[] =
  3704. "__size_t";
  3705. #define HPUX11_SIZE_T_TEST_CT 1
  3706. static tTestDesc aHpux11_Size_TTests[] = {
  3707. { TT_EGREP, zHpux11_Size_TSelect0, (regex_t*)NULL }, };
  3708. /*
  3709. * Fix Command Arguments for Hpux11_Size_T
  3710. */
  3711. static const char* apzHpux11_Size_TPatch[] = {
  3712. "format",
  3713. "_hpux_size_t",
  3714. (char*)NULL };
  3715. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3716. *
  3717. * Description of Hpux11_Snprintf fix
  3718. */
  3719. tSCC zHpux11_SnprintfName[] =
  3720. "hpux11_snprintf";
  3721. /*
  3722. * File name selection pattern
  3723. */
  3724. tSCC zHpux11_SnprintfList[] =
  3725. "stdio.h\0";
  3726. /*
  3727. * Machine/OS name selection pattern
  3728. */
  3729. #define apzHpux11_SnprintfMachs (const char**)NULL
  3730. /*
  3731. * content selection pattern - do fix if pattern found
  3732. */
  3733. tSCC zHpux11_SnprintfSelect0[] =
  3734. "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
  3735. #define HPUX11_SNPRINTF_TEST_CT 1
  3736. static tTestDesc aHpux11_SnprintfTests[] = {
  3737. { TT_EGREP, zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
  3738. /*
  3739. * Fix Command Arguments for Hpux11_Snprintf
  3740. */
  3741. static const char* apzHpux11_SnprintfPatch[] = {
  3742. "format",
  3743. "%1 const %3",
  3744. (char*)NULL };
  3745. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3746. *
  3747. * Description of Hpux11_Vsnprintf fix
  3748. */
  3749. tSCC zHpux11_VsnprintfName[] =
  3750. "hpux11_vsnprintf";
  3751. /*
  3752. * File name selection pattern
  3753. */
  3754. tSCC zHpux11_VsnprintfList[] =
  3755. "stdio.h\0";
  3756. /*
  3757. * Machine/OS name selection pattern
  3758. */
  3759. #define apzHpux11_VsnprintfMachs (const char**)NULL
  3760. /*
  3761. * content selection pattern - do fix if pattern found
  3762. */
  3763. tSCC zHpux11_VsnprintfSelect0[] =
  3764. "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
  3765. #define HPUX11_VSNPRINTF_TEST_CT 1
  3766. static tTestDesc aHpux11_VsnprintfTests[] = {
  3767. { TT_EGREP, zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
  3768. /*
  3769. * Fix Command Arguments for Hpux11_Vsnprintf
  3770. */
  3771. static const char* apzHpux11_VsnprintfPatch[] = {
  3772. "format",
  3773. "%1 __va_list);",
  3774. (char*)NULL };
  3775. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3776. *
  3777. * Description of Hpux8_Bogus_Inlines fix
  3778. */
  3779. tSCC zHpux8_Bogus_InlinesName[] =
  3780. "hpux8_bogus_inlines";
  3781. /*
  3782. * File name selection pattern
  3783. */
  3784. tSCC zHpux8_Bogus_InlinesList[] =
  3785. "math.h\0";
  3786. /*
  3787. * Machine/OS name selection pattern
  3788. */
  3789. #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
  3790. /*
  3791. * content selection pattern - do fix if pattern found
  3792. */
  3793. tSCC zHpux8_Bogus_InlinesSelect0[] =
  3794. "inline";
  3795. /*
  3796. * content bypass pattern - skip fix if pattern found
  3797. */
  3798. tSCC zHpux8_Bogus_InlinesBypass0[] =
  3799. "__GNUG__";
  3800. #define HPUX8_BOGUS_INLINES_TEST_CT 2
  3801. static tTestDesc aHpux8_Bogus_InlinesTests[] = {
  3802. { TT_NEGREP, zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
  3803. { TT_EGREP, zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
  3804. /*
  3805. * Fix Command Arguments for Hpux8_Bogus_Inlines
  3806. */
  3807. static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z,
  3808. "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
  3809. "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
  3810. "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
  3811. "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
  3812. (char*)NULL };
  3813. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3814. *
  3815. * Description of Hpux_C99_Intptr fix
  3816. */
  3817. tSCC zHpux_C99_IntptrName[] =
  3818. "hpux_c99_intptr";
  3819. /*
  3820. * File name selection pattern
  3821. */
  3822. tSCC zHpux_C99_IntptrList[] =
  3823. "stdint-hpux11.h\0stdint.h\0";
  3824. /*
  3825. * Machine/OS name selection pattern
  3826. */
  3827. tSCC* apzHpux_C99_IntptrMachs[] = {
  3828. "*-hp-hpux11.3*",
  3829. (const char*)NULL };
  3830. #define HPUX_C99_INTPTR_TEST_CT 0
  3831. #define aHpux_C99_IntptrTests (tTestDesc*)NULL
  3832. /*
  3833. * Fix Command Arguments for Hpux_C99_Intptr
  3834. */
  3835. static const char* apzHpux_C99_IntptrPatch[] = { sed_cmd_z,
  3836. "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@",
  3837. "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
  3838. "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@",
  3839. "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@",
  3840. "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@",
  3841. "-e", "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@",
  3842. (char*)NULL };
  3843. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3844. *
  3845. * Description of Hpux_C99_Inttypes fix
  3846. */
  3847. tSCC zHpux_C99_InttypesName[] =
  3848. "hpux_c99_inttypes";
  3849. /*
  3850. * File name selection pattern
  3851. */
  3852. tSCC zHpux_C99_InttypesList[] =
  3853. "inttypes.h\0stdint-hpux11.h\0stdint.h\0";
  3854. /*
  3855. * Machine/OS name selection pattern
  3856. */
  3857. tSCC* apzHpux_C99_InttypesMachs[] = {
  3858. "*-hp-hpux11.[23]*",
  3859. (const char*)NULL };
  3860. #define HPUX_C99_INTTYPES_TEST_CT 0
  3861. #define aHpux_C99_InttypesTests (tTestDesc*)NULL
  3862. /*
  3863. * Fix Command Arguments for Hpux_C99_Inttypes
  3864. */
  3865. static const char* apzHpux_C99_InttypesPatch[] = { sed_cmd_z,
  3866. "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@",
  3867. "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@",
  3868. "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@",
  3869. "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@#define UINT32_C(__c) __CONCAT__(__c,u)@",
  3870. (char*)NULL };
  3871. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3872. *
  3873. * Description of Hpux_C99_Inttypes2 fix
  3874. */
  3875. tSCC zHpux_C99_Inttypes2Name[] =
  3876. "hpux_c99_inttypes2";
  3877. /*
  3878. * File name selection pattern
  3879. */
  3880. tSCC zHpux_C99_Inttypes2List[] =
  3881. "stdint-hpux11.h\0stdint.h\0";
  3882. /*
  3883. * Machine/OS name selection pattern
  3884. */
  3885. tSCC* apzHpux_C99_Inttypes2Machs[] = {
  3886. "*-hp-hpux11.2*",
  3887. (const char*)NULL };
  3888. #define HPUX_C99_INTTYPES2_TEST_CT 0
  3889. #define aHpux_C99_Inttypes2Tests (tTestDesc*)NULL
  3890. /*
  3891. * Fix Command Arguments for Hpux_C99_Inttypes2
  3892. */
  3893. static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z,
  3894. "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@",
  3895. "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@",
  3896. "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@",
  3897. "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@",
  3898. (char*)NULL };
  3899. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3900. *
  3901. * Description of Hpux_Ctype_Macros fix
  3902. */
  3903. tSCC zHpux_Ctype_MacrosName[] =
  3904. "hpux_ctype_macros";
  3905. /*
  3906. * File name selection pattern
  3907. */
  3908. tSCC zHpux_Ctype_MacrosList[] =
  3909. "ctype.h\0";
  3910. /*
  3911. * Machine/OS name selection pattern
  3912. */
  3913. #define apzHpux_Ctype_MacrosMachs (const char**)NULL
  3914. /*
  3915. * content selection pattern - do fix if pattern found
  3916. */
  3917. tSCC zHpux_Ctype_MacrosSelect0[] =
  3918. "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
  3919. #define HPUX_CTYPE_MACROS_TEST_CT 1
  3920. static tTestDesc aHpux_Ctype_MacrosTests[] = {
  3921. { TT_EGREP, zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
  3922. /*
  3923. * Fix Command Arguments for Hpux_Ctype_Macros
  3924. */
  3925. static const char* apzHpux_Ctype_MacrosPatch[] = {
  3926. "format",
  3927. "%1(int)%3",
  3928. (char*)NULL };
  3929. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3930. *
  3931. * Description of Hpux_Extern_Errno fix
  3932. */
  3933. tSCC zHpux_Extern_ErrnoName[] =
  3934. "hpux_extern_errno";
  3935. /*
  3936. * File name selection pattern
  3937. */
  3938. tSCC zHpux_Extern_ErrnoList[] =
  3939. "errno.h\0";
  3940. /*
  3941. * Machine/OS name selection pattern
  3942. */
  3943. tSCC* apzHpux_Extern_ErrnoMachs[] = {
  3944. "*-hp-hpux10.*",
  3945. "*-hp-hpux11.[0-2]*",
  3946. (const char*)NULL };
  3947. /*
  3948. * content selection pattern - do fix if pattern found
  3949. */
  3950. tSCC zHpux_Extern_ErrnoSelect0[] =
  3951. "^[ \t]*extern int errno;$";
  3952. #define HPUX_EXTERN_ERRNO_TEST_CT 1
  3953. static tTestDesc aHpux_Extern_ErrnoTests[] = {
  3954. { TT_EGREP, zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
  3955. /*
  3956. * Fix Command Arguments for Hpux_Extern_Errno
  3957. */
  3958. static const char* apzHpux_Extern_ErrnoPatch[] = {
  3959. "format",
  3960. "#ifdef __cplusplus\n\
  3961. extern \"C\" {\n\
  3962. #endif\n\
  3963. %0\n\
  3964. #ifdef __cplusplus\n\
  3965. }\n\
  3966. #endif",
  3967. (char*)NULL };
  3968. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  3969. *
  3970. * Description of Hpux_Htonl fix
  3971. */
  3972. tSCC zHpux_HtonlName[] =
  3973. "hpux_htonl";
  3974. /*
  3975. * File name selection pattern
  3976. */
  3977. tSCC zHpux_HtonlList[] =
  3978. "netinet/in.h\0";
  3979. /*
  3980. * Machine/OS name selection pattern
  3981. */
  3982. #define apzHpux_HtonlMachs (const char**)NULL
  3983. /*
  3984. * content selection pattern - do fix if pattern found
  3985. */
  3986. tSCC zHpux_HtonlSelect0[] =
  3987. "#ifndef _XOPEN_SOURCE_EXTENDED[ \t]*\n\
  3988. (/\\*\n\
  3989. \\* Macros for number representation conversion\\.\n\
  3990. \\*/\n\
  3991. #ifndef ntohl)";
  3992. #define HPUX_HTONL_TEST_CT 1
  3993. static tTestDesc aHpux_HtonlTests[] = {
  3994. { TT_EGREP, zHpux_HtonlSelect0, (regex_t*)NULL }, };
  3995. /*
  3996. * Fix Command Arguments for Hpux_Htonl
  3997. */
  3998. static const char* apzHpux_HtonlPatch[] = {
  3999. "format",
  4000. "#if 1\n\
  4001. %1",
  4002. (char*)NULL };
  4003. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4004. *
  4005. * Description of Hpux_Imaginary_I fix
  4006. */
  4007. tSCC zHpux_Imaginary_IName[] =
  4008. "hpux_imaginary_i";
  4009. /*
  4010. * File name selection pattern
  4011. */
  4012. tSCC zHpux_Imaginary_IList[] =
  4013. "complex.h\0";
  4014. /*
  4015. * Machine/OS name selection pattern
  4016. */
  4017. tSCC* apzHpux_Imaginary_IMachs[] = {
  4018. "ia64-hp-hpux11.*",
  4019. (const char*)NULL };
  4020. /*
  4021. * content selection pattern - do fix if pattern found
  4022. */
  4023. tSCC zHpux_Imaginary_ISelect0[] =
  4024. "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*";
  4025. #define HPUX_IMAGINARY_I_TEST_CT 1
  4026. static tTestDesc aHpux_Imaginary_ITests[] = {
  4027. { TT_EGREP, zHpux_Imaginary_ISelect0, (regex_t*)NULL }, };
  4028. /*
  4029. * Fix Command Arguments for Hpux_Imaginary_I
  4030. */
  4031. static const char* apzHpux_Imaginary_IPatch[] = {
  4032. "format",
  4033. "#define _Complex_I (__extension__ 1.0iF)",
  4034. (char*)NULL };
  4035. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4036. *
  4037. * Description of Hpux_Inttype_Int8_T fix
  4038. */
  4039. tSCC zHpux_Inttype_Int8_TName[] =
  4040. "hpux_inttype_int8_t";
  4041. /*
  4042. * File name selection pattern
  4043. */
  4044. tSCC zHpux_Inttype_Int8_TList[] =
  4045. "sys/_inttypes.h\0";
  4046. /*
  4047. * Machine/OS name selection pattern
  4048. */
  4049. tSCC* apzHpux_Inttype_Int8_TMachs[] = {
  4050. "*-hp-hpux1[01].*",
  4051. (const char*)NULL };
  4052. /*
  4053. * content selection pattern - do fix if pattern found
  4054. */
  4055. tSCC zHpux_Inttype_Int8_TSelect0[] =
  4056. "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*";
  4057. #define HPUX_INTTYPE_INT8_T_TEST_CT 1
  4058. static tTestDesc aHpux_Inttype_Int8_TTests[] = {
  4059. { TT_EGREP, zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, };
  4060. /*
  4061. * Fix Command Arguments for Hpux_Inttype_Int8_T
  4062. */
  4063. static const char* apzHpux_Inttype_Int8_TPatch[] = {
  4064. "format",
  4065. "typedef signed char int%18_t;",
  4066. (char*)NULL };
  4067. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4068. *
  4069. * Description of Hpux_Long_Double fix
  4070. */
  4071. tSCC zHpux_Long_DoubleName[] =
  4072. "hpux_long_double";
  4073. /*
  4074. * File name selection pattern
  4075. */
  4076. tSCC zHpux_Long_DoubleList[] =
  4077. "stdlib.h\0";
  4078. /*
  4079. * Machine/OS name selection pattern
  4080. */
  4081. tSCC* apzHpux_Long_DoubleMachs[] = {
  4082. "*-*-hpux10*",
  4083. "*-*-hpux11.[012]*",
  4084. (const char*)NULL };
  4085. /*
  4086. * content selection pattern - do fix if pattern found
  4087. */
  4088. tSCC zHpux_Long_DoubleSelect0[] =
  4089. "extern[ \t]long_double[ \t]strtold";
  4090. /*
  4091. * content bypass pattern - skip fix if pattern found
  4092. */
  4093. tSCC zHpux_Long_DoubleBypass0[] =
  4094. "long_double_t";
  4095. #define HPUX_LONG_DOUBLE_TEST_CT 2
  4096. static tTestDesc aHpux_Long_DoubleTests[] = {
  4097. { TT_NEGREP, zHpux_Long_DoubleBypass0, (regex_t*)NULL },
  4098. { TT_EGREP, zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
  4099. /*
  4100. * Fix Command Arguments for Hpux_Long_Double
  4101. */
  4102. static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z,
  4103. "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
  4104. "-e", "s/long_double/long double/g",
  4105. (char*)NULL };
  4106. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4107. *
  4108. * Description of Hpux_Long_Double_2 fix
  4109. */
  4110. tSCC zHpux_Long_Double_2Name[] =
  4111. "hpux_long_double_2";
  4112. /*
  4113. * File name selection pattern
  4114. */
  4115. tSCC zHpux_Long_Double_2List[] =
  4116. "stdlib.h\0";
  4117. /*
  4118. * Machine/OS name selection pattern
  4119. */
  4120. tSCC* apzHpux_Long_Double_2Machs[] = {
  4121. "hppa*-*-hpux11.3*",
  4122. (const char*)NULL };
  4123. /*
  4124. * content selection pattern - do fix if pattern found
  4125. */
  4126. tSCC zHpux_Long_Double_2Select0[] =
  4127. "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)";
  4128. #define HPUX_LONG_DOUBLE_2_TEST_CT 1
  4129. static tTestDesc aHpux_Long_Double_2Tests[] = {
  4130. { TT_EGREP, zHpux_Long_Double_2Select0, (regex_t*)NULL }, };
  4131. /*
  4132. * Fix Command Arguments for Hpux_Long_Double_2
  4133. */
  4134. static const char* apzHpux_Long_Double_2Patch[] = {
  4135. "format",
  4136. "# if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)",
  4137. (char*)NULL };
  4138. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4139. *
  4140. * Description of Hpux_Pthread_Initializers fix
  4141. */
  4142. tSCC zHpux_Pthread_InitializersName[] =
  4143. "hpux_pthread_initializers";
  4144. /*
  4145. * File name selection pattern
  4146. */
  4147. tSCC zHpux_Pthread_InitializersList[] =
  4148. "sys/pthread.h\0";
  4149. /*
  4150. * Machine/OS name selection pattern
  4151. */
  4152. tSCC* apzHpux_Pthread_InitializersMachs[] = {
  4153. "*-hp-hpux11.[0-3]*",
  4154. (const char*)NULL };
  4155. #define HPUX_PTHREAD_INITIALIZERS_TEST_CT 0
  4156. #define aHpux_Pthread_InitializersTests (tTestDesc*)NULL
  4157. /*
  4158. * Fix Command Arguments for Hpux_Pthread_Initializers
  4159. */
  4160. static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z,
  4161. "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
  4162. "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
  4163. "-e", "/^[ \t]*0$/d",
  4164. "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
  4165. "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
  4166. "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
  4167. "-e", "s@^[ \t]*__LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@\t{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
  4168. "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
  4169. "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
  4170. "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
  4171. "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
  4172. "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
  4173. "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
  4174. (char*)NULL };
  4175. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4176. *
  4177. * Description of Hpux_Spu_Info fix
  4178. */
  4179. tSCC zHpux_Spu_InfoName[] =
  4180. "hpux_spu_info";
  4181. /*
  4182. * File name selection pattern
  4183. */
  4184. tSCC zHpux_Spu_InfoList[] =
  4185. "ia64/sys/getppdp.h\0*/sys/getppdp.h\0";
  4186. /*
  4187. * Machine/OS name selection pattern
  4188. */
  4189. tSCC* apzHpux_Spu_InfoMachs[] = {
  4190. "*-hp-hpux*",
  4191. (const char*)NULL };
  4192. /*
  4193. * content selection pattern - do fix if pattern found
  4194. */
  4195. tSCC zHpux_Spu_InfoSelect0[] =
  4196. "^.*extern.*spu_info.*";
  4197. #define HPUX_SPU_INFO_TEST_CT 1
  4198. static tTestDesc aHpux_Spu_InfoTests[] = {
  4199. { TT_EGREP, zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
  4200. /*
  4201. * Fix Command Arguments for Hpux_Spu_Info
  4202. */
  4203. static const char* apzHpux_Spu_InfoPatch[] = {
  4204. "format",
  4205. "#ifdef _KERNEL\n\
  4206. %0\n\
  4207. #endif",
  4208. (char*)NULL };
  4209. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4210. *
  4211. * Description of Hpux_Stdint_Least_Fast fix
  4212. */
  4213. tSCC zHpux_Stdint_Least_FastName[] =
  4214. "hpux_stdint_least_fast";
  4215. /*
  4216. * File name selection pattern
  4217. */
  4218. tSCC zHpux_Stdint_Least_FastList[] =
  4219. "stdint-hpux11.h\0stdint.h\0";
  4220. /*
  4221. * Machine/OS name selection pattern
  4222. */
  4223. tSCC* apzHpux_Stdint_Least_FastMachs[] = {
  4224. "*-hp-hpux11.2*",
  4225. (const char*)NULL };
  4226. /*
  4227. * content selection pattern - do fix if pattern found
  4228. */
  4229. tSCC zHpux_Stdint_Least_FastSelect0[] =
  4230. "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX";
  4231. #define HPUX_STDINT_LEAST_FAST_TEST_CT 1
  4232. static tTestDesc aHpux_Stdint_Least_FastTests[] = {
  4233. { TT_EGREP, zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, };
  4234. /*
  4235. * Fix Command Arguments for Hpux_Stdint_Least_Fast
  4236. */
  4237. static const char* apzHpux_Stdint_Least_FastPatch[] = {
  4238. "format",
  4239. "# define\tUINT_%164_MAX\t__UINT64_MAX__",
  4240. (char*)NULL };
  4241. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4242. *
  4243. * Description of Hpux_Systime fix
  4244. */
  4245. tSCC zHpux_SystimeName[] =
  4246. "hpux_systime";
  4247. /*
  4248. * File name selection pattern
  4249. */
  4250. tSCC zHpux_SystimeList[] =
  4251. "sys/time.h\0";
  4252. /*
  4253. * Machine/OS name selection pattern
  4254. */
  4255. #define apzHpux_SystimeMachs (const char**)NULL
  4256. /*
  4257. * content selection pattern - do fix if pattern found
  4258. */
  4259. tSCC zHpux_SystimeSelect0[] =
  4260. "^extern struct sigevent;";
  4261. #define HPUX_SYSTIME_TEST_CT 1
  4262. static tTestDesc aHpux_SystimeTests[] = {
  4263. { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
  4264. /*
  4265. * Fix Command Arguments for Hpux_Systime
  4266. */
  4267. static const char* apzHpux_SystimePatch[] = {
  4268. "format",
  4269. "struct sigevent;",
  4270. (char*)NULL };
  4271. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4272. *
  4273. * Description of Huge_Val_Hex fix
  4274. */
  4275. tSCC zHuge_Val_HexName[] =
  4276. "huge_val_hex";
  4277. /*
  4278. * File name selection pattern
  4279. */
  4280. tSCC zHuge_Val_HexList[] =
  4281. "bits/huge_val.h\0*/bits/huge_val.h\0";
  4282. /*
  4283. * Machine/OS name selection pattern
  4284. */
  4285. #define apzHuge_Val_HexMachs (const char**)NULL
  4286. /*
  4287. * content selection pattern - do fix if pattern found
  4288. */
  4289. tSCC zHuge_Val_HexSelect0[] =
  4290. "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
  4291. /*
  4292. * content bypass pattern - skip fix if pattern found
  4293. */
  4294. tSCC zHuge_Val_HexBypass0[] =
  4295. "__builtin_huge_val";
  4296. #define HUGE_VAL_HEX_TEST_CT 2
  4297. static tTestDesc aHuge_Val_HexTests[] = {
  4298. { TT_NEGREP, zHuge_Val_HexBypass0, (regex_t*)NULL },
  4299. { TT_EGREP, zHuge_Val_HexSelect0, (regex_t*)NULL }, };
  4300. /*
  4301. * Fix Command Arguments for Huge_Val_Hex
  4302. */
  4303. static const char* apzHuge_Val_HexPatch[] = {
  4304. "format",
  4305. "#define HUGE_VAL (__builtin_huge_val())\n",
  4306. (char*)NULL };
  4307. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4308. *
  4309. * Description of Huge_Valf_Hex fix
  4310. */
  4311. tSCC zHuge_Valf_HexName[] =
  4312. "huge_valf_hex";
  4313. /*
  4314. * File name selection pattern
  4315. */
  4316. tSCC zHuge_Valf_HexList[] =
  4317. "bits/huge_val.h\0*/bits/huge_val.h\0";
  4318. /*
  4319. * Machine/OS name selection pattern
  4320. */
  4321. #define apzHuge_Valf_HexMachs (const char**)NULL
  4322. /*
  4323. * content selection pattern - do fix if pattern found
  4324. */
  4325. tSCC zHuge_Valf_HexSelect0[] =
  4326. "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
  4327. /*
  4328. * content bypass pattern - skip fix if pattern found
  4329. */
  4330. tSCC zHuge_Valf_HexBypass0[] =
  4331. "__builtin_huge_valf";
  4332. #define HUGE_VALF_HEX_TEST_CT 2
  4333. static tTestDesc aHuge_Valf_HexTests[] = {
  4334. { TT_NEGREP, zHuge_Valf_HexBypass0, (regex_t*)NULL },
  4335. { TT_EGREP, zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
  4336. /*
  4337. * Fix Command Arguments for Huge_Valf_Hex
  4338. */
  4339. static const char* apzHuge_Valf_HexPatch[] = {
  4340. "format",
  4341. "#define HUGE_VALF (__builtin_huge_valf())\n",
  4342. (char*)NULL };
  4343. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4344. *
  4345. * Description of Huge_Vall_Hex fix
  4346. */
  4347. tSCC zHuge_Vall_HexName[] =
  4348. "huge_vall_hex";
  4349. /*
  4350. * File name selection pattern
  4351. */
  4352. tSCC zHuge_Vall_HexList[] =
  4353. "bits/huge_val.h\0*/bits/huge_val.h\0";
  4354. /*
  4355. * Machine/OS name selection pattern
  4356. */
  4357. #define apzHuge_Vall_HexMachs (const char**)NULL
  4358. /*
  4359. * content selection pattern - do fix if pattern found
  4360. */
  4361. tSCC zHuge_Vall_HexSelect0[] =
  4362. "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
  4363. /*
  4364. * content bypass pattern - skip fix if pattern found
  4365. */
  4366. tSCC zHuge_Vall_HexBypass0[] =
  4367. "__builtin_huge_vall";
  4368. #define HUGE_VALL_HEX_TEST_CT 2
  4369. static tTestDesc aHuge_Vall_HexTests[] = {
  4370. { TT_NEGREP, zHuge_Vall_HexBypass0, (regex_t*)NULL },
  4371. { TT_EGREP, zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
  4372. /*
  4373. * Fix Command Arguments for Huge_Vall_Hex
  4374. */
  4375. static const char* apzHuge_Vall_HexPatch[] = {
  4376. "format",
  4377. "#define HUGE_VALL (__builtin_huge_vall())\n",
  4378. (char*)NULL };
  4379. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4380. *
  4381. * Description of Int_Abort_Free_And_Exit fix
  4382. */
  4383. tSCC zInt_Abort_Free_And_ExitName[] =
  4384. "int_abort_free_and_exit";
  4385. /*
  4386. * File name selection pattern
  4387. */
  4388. tSCC zInt_Abort_Free_And_ExitList[] =
  4389. "stdlib.h\0";
  4390. /*
  4391. * Machine/OS name selection pattern
  4392. */
  4393. #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
  4394. /*
  4395. * content selection pattern - do fix if pattern found
  4396. */
  4397. tSCC zInt_Abort_Free_And_ExitSelect0[] =
  4398. "int[ \t]+(abort|free|exit)[ \t]*\\(";
  4399. /*
  4400. * content bypass pattern - skip fix if pattern found
  4401. */
  4402. tSCC zInt_Abort_Free_And_ExitBypass0[] =
  4403. "_CLASSIC_ANSI_TYPES";
  4404. #define INT_ABORT_FREE_AND_EXIT_TEST_CT 2
  4405. static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
  4406. { TT_NEGREP, zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
  4407. { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
  4408. /*
  4409. * Fix Command Arguments for Int_Abort_Free_And_Exit
  4410. */
  4411. static const char* apzInt_Abort_Free_And_ExitPatch[] = {
  4412. "format",
  4413. "void\t%1(",
  4414. (char*)NULL };
  4415. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4416. *
  4417. * Description of Io_Quotes_Def fix
  4418. */
  4419. tSCC zIo_Quotes_DefName[] =
  4420. "io_quotes_def";
  4421. /*
  4422. * File name selection pattern
  4423. */
  4424. #define zIo_Quotes_DefList (char*)NULL
  4425. /*
  4426. * Machine/OS name selection pattern
  4427. */
  4428. #define apzIo_Quotes_DefMachs (const char**)NULL
  4429. /*
  4430. * content selection pattern - do fix if pattern found
  4431. */
  4432. tSCC zIo_Quotes_DefSelect0[] =
  4433. "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
  4434. #define IO_QUOTES_DEF_TEST_CT 1
  4435. static tTestDesc aIo_Quotes_DefTests[] = {
  4436. { TT_EGREP, zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
  4437. /*
  4438. * Fix Command Arguments for Io_Quotes_Def
  4439. */
  4440. static const char* apzIo_Quotes_DefPatch[] = {
  4441. "char_macro_def",
  4442. "IO",
  4443. (char*)NULL };
  4444. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4445. *
  4446. * Description of Io_Quotes_Use fix
  4447. */
  4448. tSCC zIo_Quotes_UseName[] =
  4449. "io_quotes_use";
  4450. /*
  4451. * File name selection pattern
  4452. */
  4453. #define zIo_Quotes_UseList (char*)NULL
  4454. /*
  4455. * Machine/OS name selection pattern
  4456. */
  4457. #define apzIo_Quotes_UseMachs (const char**)NULL
  4458. /*
  4459. * content selection pattern - do fix if pattern found
  4460. */
  4461. tSCC zIo_Quotes_UseSelect0[] =
  4462. "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
  4463. #define IO_QUOTES_USE_TEST_CT 1
  4464. static tTestDesc aIo_Quotes_UseTests[] = {
  4465. { TT_EGREP, zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
  4466. /*
  4467. * Fix Command Arguments for Io_Quotes_Use
  4468. */
  4469. static const char* apzIo_Quotes_UsePatch[] = {
  4470. "char_macro_use",
  4471. "IO",
  4472. (char*)NULL };
  4473. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4474. *
  4475. * Description of Ip_Missing_Semi fix
  4476. */
  4477. tSCC zIp_Missing_SemiName[] =
  4478. "ip_missing_semi";
  4479. /*
  4480. * File name selection pattern
  4481. */
  4482. tSCC zIp_Missing_SemiList[] =
  4483. "netinet/ip.h\0";
  4484. /*
  4485. * Machine/OS name selection pattern
  4486. */
  4487. #define apzIp_Missing_SemiMachs (const char**)NULL
  4488. /*
  4489. * content selection pattern - do fix if pattern found
  4490. */
  4491. tSCC zIp_Missing_SemiSelect0[] =
  4492. "}$";
  4493. #define IP_MISSING_SEMI_TEST_CT 1
  4494. static tTestDesc aIp_Missing_SemiTests[] = {
  4495. { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
  4496. /*
  4497. * Fix Command Arguments for Ip_Missing_Semi
  4498. */
  4499. static const char* apzIp_Missing_SemiPatch[] = { sed_cmd_z,
  4500. "-e", "/^struct/,/^};/s/}$/};/",
  4501. (char*)NULL };
  4502. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4503. *
  4504. * Description of Irix_Limits_Const fix
  4505. */
  4506. tSCC zIrix_Limits_ConstName[] =
  4507. "irix_limits_const";
  4508. /*
  4509. * File name selection pattern
  4510. */
  4511. tSCC zIrix_Limits_ConstList[] =
  4512. "fixinc-test-limits.h\0limits.h\0";
  4513. /*
  4514. * Machine/OS name selection pattern
  4515. */
  4516. #define apzIrix_Limits_ConstMachs (const char**)NULL
  4517. /*
  4518. * content selection pattern - do fix if pattern found
  4519. */
  4520. tSCC zIrix_Limits_ConstSelect0[] =
  4521. "^extern const ";
  4522. #define IRIX_LIMITS_CONST_TEST_CT 1
  4523. static tTestDesc aIrix_Limits_ConstTests[] = {
  4524. { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
  4525. /*
  4526. * Fix Command Arguments for Irix_Limits_Const
  4527. */
  4528. static const char* apzIrix_Limits_ConstPatch[] = {
  4529. "format",
  4530. "extern __const ",
  4531. (char*)NULL };
  4532. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4533. *
  4534. * Description of Irix_Stdio_Va_List fix
  4535. */
  4536. tSCC zIrix_Stdio_Va_ListName[] =
  4537. "irix_stdio_va_list";
  4538. /*
  4539. * File name selection pattern
  4540. */
  4541. tSCC zIrix_Stdio_Va_ListList[] =
  4542. "stdio.h\0";
  4543. /*
  4544. * Machine/OS name selection pattern
  4545. */
  4546. #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
  4547. /*
  4548. * content selection pattern - do fix if pattern found
  4549. */
  4550. tSCC zIrix_Stdio_Va_ListSelect0[] =
  4551. "/\\* va_list \\*/ char \\*";
  4552. #define IRIX_STDIO_VA_LIST_TEST_CT 1
  4553. static tTestDesc aIrix_Stdio_Va_ListTests[] = {
  4554. { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
  4555. /*
  4556. * Fix Command Arguments for Irix_Stdio_Va_List
  4557. */
  4558. static const char* apzIrix_Stdio_Va_ListPatch[] = {
  4559. "format",
  4560. "__gnuc_va_list",
  4561. (char*)NULL };
  4562. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4563. *
  4564. * Description of Kandr_Concat fix
  4565. */
  4566. tSCC zKandr_ConcatName[] =
  4567. "kandr_concat";
  4568. /*
  4569. * File name selection pattern
  4570. */
  4571. tSCC zKandr_ConcatList[] =
  4572. "sparc/asm_linkage.h\0sun*/asm_linkage.h\0arm/as_support.h\0arm/mc_type.h\0arm/xcb.h\0dev/chardefmac.h\0dev/ps_irq.h\0dev/screen.h\0dev/scsi.h\0sys/tty.h\0Xm.acorn/XmP.h\0bsd43/bsd43_.h\0";
  4573. /*
  4574. * Machine/OS name selection pattern
  4575. */
  4576. #define apzKandr_ConcatMachs (const char**)NULL
  4577. /*
  4578. * content selection pattern - do fix if pattern found
  4579. */
  4580. tSCC zKandr_ConcatSelect0[] =
  4581. "/\\*\\*/";
  4582. #define KANDR_CONCAT_TEST_CT 1
  4583. static tTestDesc aKandr_ConcatTests[] = {
  4584. { TT_EGREP, zKandr_ConcatSelect0, (regex_t*)NULL }, };
  4585. /*
  4586. * Fix Command Arguments for Kandr_Concat
  4587. */
  4588. static const char* apzKandr_ConcatPatch[] = {
  4589. "format",
  4590. "##",
  4591. (char*)NULL };
  4592. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4593. *
  4594. * Description of Linux_Ia64_Ucontext fix
  4595. */
  4596. tSCC zLinux_Ia64_UcontextName[] =
  4597. "linux_ia64_ucontext";
  4598. /*
  4599. * File name selection pattern
  4600. */
  4601. tSCC zLinux_Ia64_UcontextList[] =
  4602. "sys/ucontext.h\0";
  4603. /*
  4604. * Machine/OS name selection pattern
  4605. */
  4606. tSCC* apzLinux_Ia64_UcontextMachs[] = {
  4607. "ia64-*-linux*",
  4608. (const char*)NULL };
  4609. /*
  4610. * content selection pattern - do fix if pattern found
  4611. */
  4612. tSCC zLinux_Ia64_UcontextSelect0[] =
  4613. "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
  4614. #define LINUX_IA64_UCONTEXT_TEST_CT 1
  4615. static tTestDesc aLinux_Ia64_UcontextTests[] = {
  4616. { TT_EGREP, zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
  4617. /*
  4618. * Fix Command Arguments for Linux_Ia64_Ucontext
  4619. */
  4620. static const char* apzLinux_Ia64_UcontextPatch[] = {
  4621. "format",
  4622. "__builtin_offsetof (struct sigcontext, sc_gr[0])",
  4623. (char*)NULL };
  4624. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4625. *
  4626. * Description of Lynxos_No_Warning_In_Sys_Time_H fix
  4627. */
  4628. tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
  4629. "lynxos_no_warning_in_sys_time_h";
  4630. /*
  4631. * File name selection pattern
  4632. */
  4633. tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
  4634. "sys/time.h\0";
  4635. /*
  4636. * Machine/OS name selection pattern
  4637. */
  4638. #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
  4639. /*
  4640. * content selection pattern - do fix if pattern found
  4641. */
  4642. tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
  4643. "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
  4644. #define LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT 1
  4645. static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
  4646. { TT_EGREP, zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
  4647. /*
  4648. * Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
  4649. */
  4650. static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
  4651. "format",
  4652. "",
  4653. (char*)NULL };
  4654. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4655. *
  4656. * Description of Lynxos_Missing_Putenv fix
  4657. */
  4658. tSCC zLynxos_Missing_PutenvName[] =
  4659. "lynxos_missing_putenv";
  4660. /*
  4661. * File name selection pattern
  4662. */
  4663. tSCC zLynxos_Missing_PutenvList[] =
  4664. "stdlib.h\0";
  4665. /*
  4666. * Machine/OS name selection pattern
  4667. */
  4668. tSCC* apzLynxos_Missing_PutenvMachs[] = {
  4669. "*-*-lynxos*",
  4670. (const char*)NULL };
  4671. /*
  4672. * content selection pattern - do fix if pattern found
  4673. */
  4674. tSCC zLynxos_Missing_PutenvSelect0[] =
  4675. "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
  4676. /*
  4677. * content bypass pattern - skip fix if pattern found
  4678. */
  4679. tSCC zLynxos_Missing_PutenvBypass0[] =
  4680. "putenv[ \\t]*\\(";
  4681. #define LYNXOS_MISSING_PUTENV_TEST_CT 2
  4682. static tTestDesc aLynxos_Missing_PutenvTests[] = {
  4683. { TT_NEGREP, zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
  4684. { TT_EGREP, zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
  4685. /*
  4686. * Fix Command Arguments for Lynxos_Missing_Putenv
  4687. */
  4688. static const char* apzLynxos_Missing_PutenvPatch[] = {
  4689. "format",
  4690. "%0\n\
  4691. extern int putenv\t\t\t\t_AP((char *));",
  4692. "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
  4693. (char*)NULL };
  4694. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4695. *
  4696. * Description of Machine_Ansi_H_Va_List fix
  4697. */
  4698. tSCC zMachine_Ansi_H_Va_ListName[] =
  4699. "machine_ansi_h_va_list";
  4700. /*
  4701. * File name selection pattern
  4702. */
  4703. #define zMachine_Ansi_H_Va_ListList (char*)NULL
  4704. /*
  4705. * Machine/OS name selection pattern
  4706. */
  4707. #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
  4708. /*
  4709. * content selection pattern - do fix if pattern found
  4710. */
  4711. tSCC zMachine_Ansi_H_Va_ListSelect0[] =
  4712. "define[ \t]+_BSD_VA_LIST_[ \t]";
  4713. /*
  4714. * content bypass pattern - skip fix if pattern found
  4715. */
  4716. tSCC zMachine_Ansi_H_Va_ListBypass0[] =
  4717. "__builtin_va_list";
  4718. #define MACHINE_ANSI_H_VA_LIST_TEST_CT 2
  4719. static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
  4720. { TT_NEGREP, zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
  4721. { TT_EGREP, zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
  4722. /*
  4723. * Fix Command Arguments for Machine_Ansi_H_Va_List
  4724. */
  4725. static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
  4726. "format",
  4727. "%1__builtin_va_list",
  4728. "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
  4729. (char*)NULL };
  4730. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4731. *
  4732. * Description of Machine_Name fix
  4733. */
  4734. tSCC zMachine_NameName[] =
  4735. "machine_name";
  4736. /*
  4737. * File name selection pattern
  4738. */
  4739. #define zMachine_NameList (char*)NULL
  4740. /*
  4741. * Machine/OS name selection pattern
  4742. */
  4743. #define apzMachine_NameMachs (const char**)NULL
  4744. /*
  4745. * perform the C function call test
  4746. */
  4747. tSCC zMachine_NameFTst0[] = "machine_name";
  4748. #define MACHINE_NAME_TEST_CT 1
  4749. static tTestDesc aMachine_NameTests[] = {
  4750. { TT_FUNCTION, zMachine_NameFTst0, 0 /* unused */ }, };
  4751. /*
  4752. * Fix Command Arguments for Machine_Name
  4753. */
  4754. static const char* apzMachine_NamePatch[] = {
  4755. "machine_name",
  4756. (char*)NULL };
  4757. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4758. *
  4759. * Description of Math_Exception fix
  4760. */
  4761. tSCC zMath_ExceptionName[] =
  4762. "math_exception";
  4763. /*
  4764. * File name selection pattern
  4765. */
  4766. tSCC zMath_ExceptionList[] =
  4767. "math.h\0";
  4768. /*
  4769. * Machine/OS name selection pattern
  4770. */
  4771. tSCC* apzMath_ExceptionMachs[] = {
  4772. "*-*-solaris2.1[0-9]*",
  4773. (const char*)NULL };
  4774. /*
  4775. * content selection pattern - do fix if pattern found
  4776. */
  4777. tSCC zMath_ExceptionSelect0[] =
  4778. "struct exception";
  4779. /*
  4780. * content bypass pattern - skip fix if pattern found
  4781. */
  4782. tSCC zMath_ExceptionBypass0[] =
  4783. "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
  4784. #define MATH_EXCEPTION_TEST_CT 2
  4785. static tTestDesc aMath_ExceptionTests[] = {
  4786. { TT_NEGREP, zMath_ExceptionBypass0, (regex_t*)NULL },
  4787. { TT_EGREP, zMath_ExceptionSelect0, (regex_t*)NULL }, };
  4788. /*
  4789. * Fix Command Arguments for Math_Exception
  4790. */
  4791. static const char* apzMath_ExceptionPatch[] = {
  4792. "wrap",
  4793. "#ifdef __cplusplus\n\
  4794. #define exception __math_exception\n\
  4795. #endif\n",
  4796. "#ifdef __cplusplus\n\
  4797. #undef exception\n\
  4798. #endif\n",
  4799. (char*)NULL };
  4800. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4801. *
  4802. * Description of Math_Huge_Val_From_Dbl_Max fix
  4803. */
  4804. tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
  4805. "math_huge_val_from_dbl_max";
  4806. /*
  4807. * File name selection pattern
  4808. */
  4809. tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
  4810. "math.h\0";
  4811. /*
  4812. * Machine/OS name selection pattern
  4813. */
  4814. #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
  4815. /*
  4816. * content selection pattern - do fix if pattern found
  4817. */
  4818. tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
  4819. "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
  4820. /*
  4821. * content bypass pattern - skip fix if pattern found
  4822. */
  4823. tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
  4824. "define[ \t]+DBL_MAX";
  4825. #define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2
  4826. static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
  4827. { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
  4828. { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
  4829. /*
  4830. * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
  4831. */
  4832. static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
  4833. "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
  4834. \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
  4835. \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
  4836. \telse cat\n\
  4837. \tfi",
  4838. (char*)NULL };
  4839. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4840. *
  4841. * Description of Nested_Auth_Des fix
  4842. */
  4843. tSCC zNested_Auth_DesName[] =
  4844. "nested_auth_des";
  4845. /*
  4846. * File name selection pattern
  4847. */
  4848. tSCC zNested_Auth_DesList[] =
  4849. "rpc/rpc.h\0";
  4850. /*
  4851. * Machine/OS name selection pattern
  4852. */
  4853. #define apzNested_Auth_DesMachs (const char**)NULL
  4854. /*
  4855. * content selection pattern - do fix if pattern found
  4856. */
  4857. tSCC zNested_Auth_DesSelect0[] =
  4858. "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
  4859. #define NESTED_AUTH_DES_TEST_CT 1
  4860. static tTestDesc aNested_Auth_DesTests[] = {
  4861. { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
  4862. /*
  4863. * Fix Command Arguments for Nested_Auth_Des
  4864. */
  4865. static const char* apzNested_Auth_DesPatch[] = {
  4866. "format",
  4867. "%1*/ /*",
  4868. (char*)NULL };
  4869. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4870. *
  4871. * Description of Netbsd_C99_Inline_1 fix
  4872. */
  4873. tSCC zNetbsd_C99_Inline_1Name[] =
  4874. "netbsd_c99_inline_1";
  4875. /*
  4876. * File name selection pattern
  4877. */
  4878. tSCC zNetbsd_C99_Inline_1List[] =
  4879. "signal.h\0";
  4880. /*
  4881. * Machine/OS name selection pattern
  4882. */
  4883. tSCC* apzNetbsd_C99_Inline_1Machs[] = {
  4884. "*-*-netbsd*",
  4885. (const char*)NULL };
  4886. /*
  4887. * content selection pattern - do fix if pattern found
  4888. */
  4889. tSCC zNetbsd_C99_Inline_1Select0[] =
  4890. "extern __inline int";
  4891. #define NETBSD_C99_INLINE_1_TEST_CT 1
  4892. static tTestDesc aNetbsd_C99_Inline_1Tests[] = {
  4893. { TT_EGREP, zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, };
  4894. /*
  4895. * Fix Command Arguments for Netbsd_C99_Inline_1
  4896. */
  4897. static const char* apzNetbsd_C99_Inline_1Patch[] = {
  4898. "format",
  4899. "extern\n\
  4900. #ifdef __GNUC_STDC_INLINE__\n\
  4901. __attribute__((__gnu_inline__))\n\
  4902. #endif\n\
  4903. __inline int",
  4904. (char*)NULL };
  4905. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4906. *
  4907. * Description of Netbsd_C99_Inline_2 fix
  4908. */
  4909. tSCC zNetbsd_C99_Inline_2Name[] =
  4910. "netbsd_c99_inline_2";
  4911. /*
  4912. * File name selection pattern
  4913. */
  4914. tSCC zNetbsd_C99_Inline_2List[] =
  4915. "signal.h\0";
  4916. /*
  4917. * Machine/OS name selection pattern
  4918. */
  4919. tSCC* apzNetbsd_C99_Inline_2Machs[] = {
  4920. "*-*-netbsd*",
  4921. (const char*)NULL };
  4922. /*
  4923. * content selection pattern - do fix if pattern found
  4924. */
  4925. tSCC zNetbsd_C99_Inline_2Select0[] =
  4926. "#define _SIGINLINE extern __inline";
  4927. #define NETBSD_C99_INLINE_2_TEST_CT 1
  4928. static tTestDesc aNetbsd_C99_Inline_2Tests[] = {
  4929. { TT_EGREP, zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, };
  4930. /*
  4931. * Fix Command Arguments for Netbsd_C99_Inline_2
  4932. */
  4933. static const char* apzNetbsd_C99_Inline_2Patch[] = {
  4934. "format",
  4935. "#ifdef __GNUC_STDC_INLINE__\n\
  4936. #define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\
  4937. #else\n\
  4938. %0\n\
  4939. #endif",
  4940. (char*)NULL };
  4941. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4942. *
  4943. * Description of Netbsd_Extra_Semicolon fix
  4944. */
  4945. tSCC zNetbsd_Extra_SemicolonName[] =
  4946. "netbsd_extra_semicolon";
  4947. /*
  4948. * File name selection pattern
  4949. */
  4950. tSCC zNetbsd_Extra_SemicolonList[] =
  4951. "sys/cdefs.h\0";
  4952. /*
  4953. * Machine/OS name selection pattern
  4954. */
  4955. tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
  4956. "*-*-netbsd*",
  4957. (const char*)NULL };
  4958. /*
  4959. * content selection pattern - do fix if pattern found
  4960. */
  4961. tSCC zNetbsd_Extra_SemicolonSelect0[] =
  4962. "#define[ \t]*__END_DECLS[ \t]*};";
  4963. #define NETBSD_EXTRA_SEMICOLON_TEST_CT 1
  4964. static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
  4965. { TT_EGREP, zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
  4966. /*
  4967. * Fix Command Arguments for Netbsd_Extra_Semicolon
  4968. */
  4969. static const char* apzNetbsd_Extra_SemicolonPatch[] = {
  4970. "format",
  4971. "#define __END_DECLS }",
  4972. (char*)NULL };
  4973. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  4974. *
  4975. * Description of Newlib_Stdint_1 fix
  4976. */
  4977. tSCC zNewlib_Stdint_1Name[] =
  4978. "newlib_stdint_1";
  4979. /*
  4980. * File name selection pattern
  4981. */
  4982. tSCC zNewlib_Stdint_1List[] =
  4983. "stdint-newlib.h\0stdint.h\0";
  4984. /*
  4985. * Machine/OS name selection pattern
  4986. */
  4987. #define apzNewlib_Stdint_1Machs (const char**)NULL
  4988. /*
  4989. * content selection pattern - do fix if pattern found
  4990. */
  4991. tSCC zNewlib_Stdint_1Select0[] =
  4992. "@todo - Add support for wint_t types";
  4993. #define NEWLIB_STDINT_1_TEST_CT 1
  4994. static tTestDesc aNewlib_Stdint_1Tests[] = {
  4995. { TT_EGREP, zNewlib_Stdint_1Select0, (regex_t*)NULL }, };
  4996. /*
  4997. * Fix Command Arguments for Newlib_Stdint_1
  4998. */
  4999. static const char* apzNewlib_Stdint_1Patch[] = { sed_cmd_z,
  5000. "-e", "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@",
  5001. "-e", "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@",
  5002. "-e", "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@",
  5003. "-e", "s@#define INT_LEAST32_MIN.*@#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@",
  5004. "-e", "s@#define INT_LEAST32_MAX.*@#define INT_LEAST32_MAX __INT_LEAST32_MAX__@",
  5005. "-e", "s@#define UINT_LEAST32_MAX.*@#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@",
  5006. "-e", "s@#define INT_FAST\\([0-9]*\\)_MIN.*@#define INT_FAST\\1_MIN (-INT_FAST\\1_MAX - 1)@",
  5007. "-e", "s@#define INT_FAST\\([0-9]*\\)_MAX.*@#define INT_FAST\\1_MAX __INT_FAST\\1_MAX__@",
  5008. "-e", "s@#define UINT_FAST\\([0-9]*\\)_MAX.*@#define UINT_FAST\\1_MAX __UINT_FAST\\1_MAX__@",
  5009. "-e", "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@",
  5010. "-e", "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
  5011. "-e", "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@",
  5012. "-e", "s@#define UINT8_C.*@#define UINT8_C(c) __UINT8_C(c)@",
  5013. "-e", "s@#define UINT16_C.*@#define UINT16_C(c) __UINT16_C(c)@",
  5014. (char*)NULL };
  5015. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5016. *
  5017. * Description of Newlib_Stdint_2 fix
  5018. */
  5019. tSCC zNewlib_Stdint_2Name[] =
  5020. "newlib_stdint_2";
  5021. /*
  5022. * File name selection pattern
  5023. */
  5024. tSCC zNewlib_Stdint_2List[] =
  5025. "stdint-newlib.h\0stdint.h\0";
  5026. /*
  5027. * Machine/OS name selection pattern
  5028. */
  5029. #define apzNewlib_Stdint_2Machs (const char**)NULL
  5030. /*
  5031. * content selection pattern - do fix if pattern found
  5032. */
  5033. tSCC zNewlib_Stdint_2Select0[] =
  5034. "@todo - Add support for wint_t types";
  5035. #define NEWLIB_STDINT_2_TEST_CT 1
  5036. static tTestDesc aNewlib_Stdint_2Tests[] = {
  5037. { TT_EGREP, zNewlib_Stdint_2Select0, (regex_t*)NULL }, };
  5038. /*
  5039. * Fix Command Arguments for Newlib_Stdint_2
  5040. */
  5041. static const char* apzNewlib_Stdint_2Patch[] = {
  5042. "format",
  5043. "#define INTMAX_MAX __INTMAX_MAX__\n\
  5044. #define INTMAX_MIN (-INTMAX_MAX - 1)\n\
  5045. #define UINTMAX_MAX __UINTMAX_MAX__\n\
  5046. #define WCHAR_MAX __WCHAR_MAX__\n\
  5047. #define WCHAR_MIN __WCHAR_MIN__\n\
  5048. #define WINT_MAX __WINT_MAX__\n\
  5049. #define WINT_MIN __WINT_MIN__\n\n\
  5050. %0",
  5051. "/\\*\\* Macros for minimum-width integer constant expressions \\*/",
  5052. (char*)NULL };
  5053. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5054. *
  5055. * Description of Next_Math_Prefix fix
  5056. */
  5057. tSCC zNext_Math_PrefixName[] =
  5058. "next_math_prefix";
  5059. /*
  5060. * File name selection pattern
  5061. */
  5062. tSCC zNext_Math_PrefixList[] =
  5063. "ansi/math.h\0";
  5064. /*
  5065. * Machine/OS name selection pattern
  5066. */
  5067. #define apzNext_Math_PrefixMachs (const char**)NULL
  5068. /*
  5069. * content selection pattern - do fix if pattern found
  5070. */
  5071. tSCC zNext_Math_PrefixSelect0[] =
  5072. "^extern[ \t]+double[ \t]+__const__[ \t]";
  5073. #define NEXT_MATH_PREFIX_TEST_CT 1
  5074. static tTestDesc aNext_Math_PrefixTests[] = {
  5075. { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
  5076. /*
  5077. * Fix Command Arguments for Next_Math_Prefix
  5078. */
  5079. static const char* apzNext_Math_PrefixPatch[] = {
  5080. "format",
  5081. "extern double %1(",
  5082. "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
  5083. (char*)NULL };
  5084. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5085. *
  5086. * Description of Next_Template fix
  5087. */
  5088. tSCC zNext_TemplateName[] =
  5089. "next_template";
  5090. /*
  5091. * File name selection pattern
  5092. */
  5093. tSCC zNext_TemplateList[] =
  5094. "bsd/libc.h\0";
  5095. /*
  5096. * Machine/OS name selection pattern
  5097. */
  5098. #define apzNext_TemplateMachs (const char**)NULL
  5099. /*
  5100. * content selection pattern - do fix if pattern found
  5101. */
  5102. tSCC zNext_TemplateSelect0[] =
  5103. "[ \t]template\\)";
  5104. #define NEXT_TEMPLATE_TEST_CT 1
  5105. static tTestDesc aNext_TemplateTests[] = {
  5106. { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, };
  5107. /*
  5108. * Fix Command Arguments for Next_Template
  5109. */
  5110. static const char* apzNext_TemplatePatch[] = {
  5111. "format",
  5112. "(%1)",
  5113. "\\(([^)]*)[ \t]template\\)",
  5114. (char*)NULL };
  5115. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5116. *
  5117. * Description of Next_Volitile fix
  5118. */
  5119. tSCC zNext_VolitileName[] =
  5120. "next_volitile";
  5121. /*
  5122. * File name selection pattern
  5123. */
  5124. tSCC zNext_VolitileList[] =
  5125. "ansi/stdlib.h\0";
  5126. /*
  5127. * Machine/OS name selection pattern
  5128. */
  5129. #define apzNext_VolitileMachs (const char**)NULL
  5130. /*
  5131. * content selection pattern - do fix if pattern found
  5132. */
  5133. tSCC zNext_VolitileSelect0[] =
  5134. "^extern[ \t]+volatile[ \t]+void[ \t]";
  5135. #define NEXT_VOLITILE_TEST_CT 1
  5136. static tTestDesc aNext_VolitileTests[] = {
  5137. { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, };
  5138. /*
  5139. * Fix Command Arguments for Next_Volitile
  5140. */
  5141. static const char* apzNext_VolitilePatch[] = {
  5142. "format",
  5143. "extern void %1(",
  5144. "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
  5145. (char*)NULL };
  5146. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5147. *
  5148. * Description of Next_Wait_Union fix
  5149. */
  5150. tSCC zNext_Wait_UnionName[] =
  5151. "next_wait_union";
  5152. /*
  5153. * File name selection pattern
  5154. */
  5155. tSCC zNext_Wait_UnionList[] =
  5156. "sys/wait.h\0";
  5157. /*
  5158. * Machine/OS name selection pattern
  5159. */
  5160. #define apzNext_Wait_UnionMachs (const char**)NULL
  5161. /*
  5162. * content selection pattern - do fix if pattern found
  5163. */
  5164. tSCC zNext_Wait_UnionSelect0[] =
  5165. "wait\\(union wait";
  5166. #define NEXT_WAIT_UNION_TEST_CT 1
  5167. static tTestDesc aNext_Wait_UnionTests[] = {
  5168. { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
  5169. /*
  5170. * Fix Command Arguments for Next_Wait_Union
  5171. */
  5172. static const char* apzNext_Wait_UnionPatch[] = {
  5173. "format",
  5174. "wait(void",
  5175. (char*)NULL };
  5176. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5177. *
  5178. * Description of Nodeent_Syntax fix
  5179. */
  5180. tSCC zNodeent_SyntaxName[] =
  5181. "nodeent_syntax";
  5182. /*
  5183. * File name selection pattern
  5184. */
  5185. tSCC zNodeent_SyntaxList[] =
  5186. "netdnet/dnetdb.h\0";
  5187. /*
  5188. * Machine/OS name selection pattern
  5189. */
  5190. #define apzNodeent_SyntaxMachs (const char**)NULL
  5191. /*
  5192. * content selection pattern - do fix if pattern found
  5193. */
  5194. tSCC zNodeent_SyntaxSelect0[] =
  5195. "char[ \t]*\\*na_addr[ \t]*$";
  5196. #define NODEENT_SYNTAX_TEST_CT 1
  5197. static tTestDesc aNodeent_SyntaxTests[] = {
  5198. { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
  5199. /*
  5200. * Fix Command Arguments for Nodeent_Syntax
  5201. */
  5202. static const char* apzNodeent_SyntaxPatch[] = {
  5203. "format",
  5204. "%0;",
  5205. (char*)NULL };
  5206. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5207. *
  5208. * Description of Openbsd_Null_Definition fix
  5209. */
  5210. tSCC zOpenbsd_Null_DefinitionName[] =
  5211. "openbsd_null_definition";
  5212. /*
  5213. * File name selection pattern
  5214. */
  5215. tSCC zOpenbsd_Null_DefinitionList[] =
  5216. "locale.h\0stddef.h\0stdio.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/param.h\0";
  5217. /*
  5218. * Machine/OS name selection pattern
  5219. */
  5220. tSCC* apzOpenbsd_Null_DefinitionMachs[] = {
  5221. "*-*-openbsd*",
  5222. (const char*)NULL };
  5223. /*
  5224. * content selection pattern - do fix if pattern found
  5225. */
  5226. tSCC zOpenbsd_Null_DefinitionSelect0[] =
  5227. "__GNUG__";
  5228. #define OPENBSD_NULL_DEFINITION_TEST_CT 1
  5229. static tTestDesc aOpenbsd_Null_DefinitionTests[] = {
  5230. { TT_EGREP, zOpenbsd_Null_DefinitionSelect0, (regex_t*)NULL }, };
  5231. /*
  5232. * Fix Command Arguments for Openbsd_Null_Definition
  5233. */
  5234. static const char* apzOpenbsd_Null_DefinitionPatch[] = {
  5235. "format",
  5236. "#ifndef NULL\n\
  5237. #ifdef __cplusplus\n\
  5238. #ifdef __GNUG__\n\
  5239. #define NULL\t__null\n\
  5240. #else\t /* ! __GNUG__ */\n\
  5241. #define NULL\t0L\n\
  5242. #endif\t /* __GNUG__ */\n\
  5243. #else\t /* ! __cplusplus */\n\
  5244. #define NULL\t((void *)0)\n\
  5245. #endif\t /* __cplusplus */\n\
  5246. #endif\t /* !NULL */",
  5247. "^#ifndef[ \t]*NULL\n\
  5248. ^#ifdef[ \t]*__GNUG__\n\
  5249. ^#define[ \t]*NULL[ \t]*__null\n\
  5250. ^#else\n\
  5251. ^#define[ \t]*NULL[ \t]*0L\n\
  5252. ^#endif\n\
  5253. ^#endif",
  5254. (char*)NULL };
  5255. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5256. *
  5257. * Description of Obstack_Lvalue_Cast fix
  5258. */
  5259. tSCC zObstack_Lvalue_CastName[] =
  5260. "obstack_lvalue_cast";
  5261. /*
  5262. * File name selection pattern
  5263. */
  5264. tSCC zObstack_Lvalue_CastList[] =
  5265. "obstack.h\0";
  5266. /*
  5267. * Machine/OS name selection pattern
  5268. */
  5269. #define apzObstack_Lvalue_CastMachs (const char**)NULL
  5270. /*
  5271. * content selection pattern - do fix if pattern found
  5272. */
  5273. tSCC zObstack_Lvalue_CastSelect0[] =
  5274. "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
  5275. #define OBSTACK_LVALUE_CAST_TEST_CT 1
  5276. static tTestDesc aObstack_Lvalue_CastTests[] = {
  5277. { TT_EGREP, zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
  5278. /*
  5279. * Fix Command Arguments for Obstack_Lvalue_Cast
  5280. */
  5281. static const char* apzObstack_Lvalue_CastPatch[] = {
  5282. "format",
  5283. "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
  5284. (char*)NULL };
  5285. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5286. *
  5287. * Description of Openbsd_Va_Start fix
  5288. */
  5289. tSCC zOpenbsd_Va_StartName[] =
  5290. "openbsd_va_start";
  5291. /*
  5292. * File name selection pattern
  5293. */
  5294. tSCC zOpenbsd_Va_StartList[] =
  5295. "stdarg.h\0";
  5296. /*
  5297. * Machine/OS name selection pattern
  5298. */
  5299. tSCC* apzOpenbsd_Va_StartMachs[] = {
  5300. "*-*-openbsd*",
  5301. (const char*)NULL };
  5302. /*
  5303. * content selection pattern - do fix if pattern found
  5304. */
  5305. tSCC zOpenbsd_Va_StartSelect0[] =
  5306. "__builtin_stdarg_start";
  5307. #define OPENBSD_VA_START_TEST_CT 1
  5308. static tTestDesc aOpenbsd_Va_StartTests[] = {
  5309. { TT_EGREP, zOpenbsd_Va_StartSelect0, (regex_t*)NULL }, };
  5310. /*
  5311. * Fix Command Arguments for Openbsd_Va_Start
  5312. */
  5313. static const char* apzOpenbsd_Va_StartPatch[] = {
  5314. "format",
  5315. "__builtin_va_start",
  5316. (char*)NULL };
  5317. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5318. *
  5319. * Description of Osf_Namespace_A fix
  5320. */
  5321. tSCC zOsf_Namespace_AName[] =
  5322. "osf_namespace_a";
  5323. /*
  5324. * File name selection pattern
  5325. */
  5326. tSCC zOsf_Namespace_AList[] =
  5327. "reg_types.h\0sys/lc_core.h\0";
  5328. /*
  5329. * Machine/OS name selection pattern
  5330. */
  5331. #define apzOsf_Namespace_AMachs (const char**)NULL
  5332. /*
  5333. * perform the 'test' shell command - do fix on success
  5334. */
  5335. tSCC zOsf_Namespace_ATest0[] =
  5336. " -r reg_types.h";
  5337. tSCC zOsf_Namespace_ATest1[] =
  5338. " -r sys/lc_core.h";
  5339. tSCC zOsf_Namespace_ATest2[] =
  5340. " -n \"`grep '} regex_t;' reg_types.h`\"";
  5341. tSCC zOsf_Namespace_ATest3[] =
  5342. " -z \"`grep __regex_t regex.h`\"";
  5343. #define OSF_NAMESPACE_A_TEST_CT 4
  5344. static tTestDesc aOsf_Namespace_ATests[] = {
  5345. { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ },
  5346. { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ },
  5347. { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ },
  5348. { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, };
  5349. /*
  5350. * Fix Command Arguments for Osf_Namespace_A
  5351. */
  5352. static const char* apzOsf_Namespace_APatch[] = {
  5353. "format",
  5354. "__%0",
  5355. "reg(ex|off|match)_t",
  5356. (char*)NULL };
  5357. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5358. *
  5359. * Description of Osf_Namespace_C fix
  5360. */
  5361. tSCC zOsf_Namespace_CName[] =
  5362. "osf_namespace_c";
  5363. /*
  5364. * File name selection pattern
  5365. */
  5366. tSCC zOsf_Namespace_CList[] =
  5367. "regex.h\0";
  5368. /*
  5369. * Machine/OS name selection pattern
  5370. */
  5371. #define apzOsf_Namespace_CMachs (const char**)NULL
  5372. /*
  5373. * content selection pattern - do fix if pattern found
  5374. */
  5375. tSCC zOsf_Namespace_CSelect0[] =
  5376. "#include <reg_types.h>.*";
  5377. /*
  5378. * perform the 'test' shell command - do fix on success
  5379. */
  5380. tSCC zOsf_Namespace_CTest0[] =
  5381. " -r reg_types.h";
  5382. tSCC zOsf_Namespace_CTest1[] =
  5383. " -r sys/lc_core.h";
  5384. tSCC zOsf_Namespace_CTest2[] =
  5385. " -n \"`grep '} regex_t;' reg_types.h`\"";
  5386. tSCC zOsf_Namespace_CTest3[] =
  5387. " -z \"`grep __regex_t regex.h`\"";
  5388. #define OSF_NAMESPACE_C_TEST_CT 5
  5389. static tTestDesc aOsf_Namespace_CTests[] = {
  5390. { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ },
  5391. { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ },
  5392. { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ },
  5393. { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ },
  5394. { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
  5395. /*
  5396. * Fix Command Arguments for Osf_Namespace_C
  5397. */
  5398. static const char* apzOsf_Namespace_CPatch[] = {
  5399. "format",
  5400. "%0\n\
  5401. typedef __regex_t\tregex_t;\n\
  5402. typedef __regoff_t\tregoff_t;\n\
  5403. typedef __regmatch_t\tregmatch_t;",
  5404. (char*)NULL };
  5405. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5406. *
  5407. * Description of Pthread_Incomplete_Struct_Argument fix
  5408. */
  5409. tSCC zPthread_Incomplete_Struct_ArgumentName[] =
  5410. "pthread_incomplete_struct_argument";
  5411. /*
  5412. * File name selection pattern
  5413. */
  5414. tSCC zPthread_Incomplete_Struct_ArgumentList[] =
  5415. "pthread.h\0";
  5416. /*
  5417. * Machine/OS name selection pattern
  5418. */
  5419. #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
  5420. /*
  5421. * content selection pattern - do fix if pattern found
  5422. */
  5423. tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
  5424. "struct __jmp_buf_tag";
  5425. #define PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT 1
  5426. static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
  5427. { TT_EGREP, zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
  5428. /*
  5429. * Fix Command Arguments for Pthread_Incomplete_Struct_Argument
  5430. */
  5431. static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
  5432. "format",
  5433. "%1 *%2%3",
  5434. "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
  5435. (char*)NULL };
  5436. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5437. *
  5438. * Description of Read_Ret_Type fix
  5439. */
  5440. tSCC zRead_Ret_TypeName[] =
  5441. "read_ret_type";
  5442. /*
  5443. * File name selection pattern
  5444. */
  5445. tSCC zRead_Ret_TypeList[] =
  5446. "stdio.h\0";
  5447. /*
  5448. * Machine/OS name selection pattern
  5449. */
  5450. #define apzRead_Ret_TypeMachs (const char**)NULL
  5451. /*
  5452. * content selection pattern - do fix if pattern found
  5453. */
  5454. tSCC zRead_Ret_TypeSelect0[] =
  5455. "extern int\t.*, fread\\(\\), fwrite\\(\\)";
  5456. #define READ_RET_TYPE_TEST_CT 1
  5457. static tTestDesc aRead_Ret_TypeTests[] = {
  5458. { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
  5459. /*
  5460. * Fix Command Arguments for Read_Ret_Type
  5461. */
  5462. static const char* apzRead_Ret_TypePatch[] = {
  5463. "format",
  5464. "extern unsigned int fread(), fwrite();\n\
  5465. %1%2",
  5466. "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
  5467. (char*)NULL };
  5468. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5469. *
  5470. * Description of Rpc_Xdr_Lvalue_Cast_A fix
  5471. */
  5472. tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
  5473. "rpc_xdr_lvalue_cast_a";
  5474. /*
  5475. * File name selection pattern
  5476. */
  5477. tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
  5478. "rpc/xdr.h\0";
  5479. /*
  5480. * Machine/OS name selection pattern
  5481. */
  5482. #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
  5483. /*
  5484. * content selection pattern - do fix if pattern found
  5485. */
  5486. tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
  5487. "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
  5488. .*__extension__.*";
  5489. #define RPC_XDR_LVALUE_CAST_A_TEST_CT 1
  5490. static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
  5491. { TT_EGREP, zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
  5492. /*
  5493. * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
  5494. */
  5495. static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
  5496. "format",
  5497. "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
  5498. (char*)NULL };
  5499. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5500. *
  5501. * Description of Rpc_Xdr_Lvalue_Cast_B fix
  5502. */
  5503. tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
  5504. "rpc_xdr_lvalue_cast_b";
  5505. /*
  5506. * File name selection pattern
  5507. */
  5508. tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
  5509. "rpc/xdr.h\0";
  5510. /*
  5511. * Machine/OS name selection pattern
  5512. */
  5513. #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
  5514. /*
  5515. * content selection pattern - do fix if pattern found
  5516. */
  5517. tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
  5518. "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
  5519. .*__extension__.*";
  5520. #define RPC_XDR_LVALUE_CAST_B_TEST_CT 1
  5521. static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
  5522. { TT_EGREP, zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
  5523. /*
  5524. * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
  5525. */
  5526. static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
  5527. "format",
  5528. "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
  5529. (char*)NULL };
  5530. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5531. *
  5532. * Description of Rs6000_Double fix
  5533. */
  5534. tSCC zRs6000_DoubleName[] =
  5535. "rs6000_double";
  5536. /*
  5537. * File name selection pattern
  5538. */
  5539. tSCC zRs6000_DoubleList[] =
  5540. "math.h\0";
  5541. /*
  5542. * Machine/OS name selection pattern
  5543. */
  5544. #define apzRs6000_DoubleMachs (const char**)NULL
  5545. /*
  5546. * content selection pattern - do fix if pattern found
  5547. */
  5548. tSCC zRs6000_DoubleSelect0[] =
  5549. "[^a-zA-Z_]class\\(";
  5550. #define RS6000_DOUBLE_TEST_CT 1
  5551. static tTestDesc aRs6000_DoubleTests[] = {
  5552. { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, };
  5553. /*
  5554. * Fix Command Arguments for Rs6000_Double
  5555. */
  5556. static const char* apzRs6000_DoublePatch[] = {
  5557. "format",
  5558. "#ifndef __cplusplus\n\
  5559. %0\n\
  5560. #endif",
  5561. "^.*[^a-zA-Z_]class\\(.*",
  5562. (char*)NULL };
  5563. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5564. *
  5565. * Description of Rs6000_Fchmod fix
  5566. */
  5567. tSCC zRs6000_FchmodName[] =
  5568. "rs6000_fchmod";
  5569. /*
  5570. * File name selection pattern
  5571. */
  5572. tSCC zRs6000_FchmodList[] =
  5573. "sys/stat.h\0";
  5574. /*
  5575. * Machine/OS name selection pattern
  5576. */
  5577. #define apzRs6000_FchmodMachs (const char**)NULL
  5578. /*
  5579. * content selection pattern - do fix if pattern found
  5580. */
  5581. tSCC zRs6000_FchmodSelect0[] =
  5582. "fchmod\\(char \\*";
  5583. #define RS6000_FCHMOD_TEST_CT 1
  5584. static tTestDesc aRs6000_FchmodTests[] = {
  5585. { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, };
  5586. /*
  5587. * Fix Command Arguments for Rs6000_Fchmod
  5588. */
  5589. static const char* apzRs6000_FchmodPatch[] = {
  5590. "format",
  5591. "fchmod(int",
  5592. (char*)NULL };
  5593. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5594. *
  5595. * Description of Rs6000_Param fix
  5596. */
  5597. tSCC zRs6000_ParamName[] =
  5598. "rs6000_param";
  5599. /*
  5600. * File name selection pattern
  5601. */
  5602. tSCC zRs6000_ParamList[] =
  5603. "stdio.h\0unistd.h\0";
  5604. /*
  5605. * Machine/OS name selection pattern
  5606. */
  5607. #define apzRs6000_ParamMachs (const char**)NULL
  5608. /*
  5609. * content selection pattern - do fix if pattern found
  5610. */
  5611. tSCC zRs6000_ParamSelect0[] =
  5612. "rename\\(const char \\*old, const char \\*new\\)";
  5613. #define RS6000_PARAM_TEST_CT 1
  5614. static tTestDesc aRs6000_ParamTests[] = {
  5615. { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, };
  5616. /*
  5617. * Fix Command Arguments for Rs6000_Param
  5618. */
  5619. static const char* apzRs6000_ParamPatch[] = {
  5620. "format",
  5621. "rename(const char *_old, const char *_new)",
  5622. (char*)NULL };
  5623. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5624. *
  5625. * Description of Solaris___Restrict fix
  5626. */
  5627. tSCC zSolaris___RestrictName[] =
  5628. "solaris___restrict";
  5629. /*
  5630. * File name selection pattern
  5631. */
  5632. tSCC zSolaris___RestrictList[] =
  5633. "sys/feature_tests.h\0";
  5634. /*
  5635. * Machine/OS name selection pattern
  5636. */
  5637. tSCC* apzSolaris___RestrictMachs[] = {
  5638. "*-*-solaris2*",
  5639. (const char*)NULL };
  5640. /*
  5641. * content selection pattern - do fix if pattern found
  5642. */
  5643. tSCC zSolaris___RestrictSelect0[] =
  5644. "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
  5645. #define SOLARIS___RESTRICT_TEST_CT 1
  5646. static tTestDesc aSolaris___RestrictTests[] = {
  5647. { TT_EGREP, zSolaris___RestrictSelect0, (regex_t*)NULL }, };
  5648. /*
  5649. * Fix Command Arguments for Solaris___Restrict
  5650. */
  5651. static const char* apzSolaris___RestrictPatch[] = {
  5652. "format",
  5653. "#ifdef __cplusplus\n\
  5654. #define\t_RESTRICT_KYWD\t__restrict\n\
  5655. #else\n\
  5656. %0\n\
  5657. #endif",
  5658. (char*)NULL };
  5659. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5660. *
  5661. * Description of Solaris_Complex fix
  5662. */
  5663. tSCC zSolaris_ComplexName[] =
  5664. "solaris_complex";
  5665. /*
  5666. * File name selection pattern
  5667. */
  5668. tSCC zSolaris_ComplexList[] =
  5669. "complex.h\0";
  5670. /*
  5671. * Machine/OS name selection pattern
  5672. */
  5673. tSCC* apzSolaris_ComplexMachs[] = {
  5674. "*-*-solaris2.*",
  5675. (const char*)NULL };
  5676. /*
  5677. * content selection pattern - do fix if pattern found
  5678. */
  5679. tSCC zSolaris_ComplexSelect0[] =
  5680. "#define[ \t]_Complex_I[ \t]_Complex_I";
  5681. #define SOLARIS_COMPLEX_TEST_CT 1
  5682. static tTestDesc aSolaris_ComplexTests[] = {
  5683. { TT_EGREP, zSolaris_ComplexSelect0, (regex_t*)NULL }, };
  5684. /*
  5685. * Fix Command Arguments for Solaris_Complex
  5686. */
  5687. static const char* apzSolaris_ComplexPatch[] = { sed_cmd_z,
  5688. "-e", "s/#define[ \t]_Complex_I[ \t]_Complex_I/#define\t_Complex_I\t(__extension__ 1.0iF)/",
  5689. "-e", "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d",
  5690. "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d",
  5691. "-e", "s/#define[ \t]I[ \t]\\{1,\\}_Imaginary_I/#define\tI\t\t_Complex_I/",
  5692. (char*)NULL };
  5693. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5694. *
  5695. * Description of Solaris_Complex_Cxx fix
  5696. */
  5697. tSCC zSolaris_Complex_CxxName[] =
  5698. "solaris_complex_cxx";
  5699. /*
  5700. * File name selection pattern
  5701. */
  5702. tSCC zSolaris_Complex_CxxList[] =
  5703. "complex.h\0";
  5704. /*
  5705. * Machine/OS name selection pattern
  5706. */
  5707. tSCC* apzSolaris_Complex_CxxMachs[] = {
  5708. "*-*-solaris2.*",
  5709. (const char*)NULL };
  5710. #define SOLARIS_COMPLEX_CXX_TEST_CT 0
  5711. #define aSolaris_Complex_CxxTests (tTestDesc*)NULL
  5712. /*
  5713. * Fix Command Arguments for Solaris_Complex_Cxx
  5714. */
  5715. static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z,
  5716. "-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\
  5717. #ifdef\t__cplusplus\\\n\
  5718. extern \"C\" {\\\n\
  5719. #endif",
  5720. "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\
  5721. #ifdef\t__cplusplus\\\n\
  5722. }\\\n\
  5723. #endif",
  5724. (char*)NULL };
  5725. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5726. *
  5727. * Description of Solaris_Cxx_Linkage fix
  5728. */
  5729. tSCC zSolaris_Cxx_LinkageName[] =
  5730. "solaris_cxx_linkage";
  5731. /*
  5732. * File name selection pattern
  5733. */
  5734. tSCC zSolaris_Cxx_LinkageList[] =
  5735. "iso/stdlib_iso.h\0";
  5736. /*
  5737. * Machine/OS name selection pattern
  5738. */
  5739. tSCC* apzSolaris_Cxx_LinkageMachs[] = {
  5740. "*-*-solaris2*",
  5741. (const char*)NULL };
  5742. /*
  5743. * content selection pattern - do fix if pattern found
  5744. */
  5745. tSCC zSolaris_Cxx_LinkageSelect0[] =
  5746. "(#if __cplusplus >= 199711L)\n\
  5747. (extern \"C\\+\\+\" \\{\n\
  5748. )(.*(bsearch|qsort).*)";
  5749. #define SOLARIS_CXX_LINKAGE_TEST_CT 1
  5750. static tTestDesc aSolaris_Cxx_LinkageTests[] = {
  5751. { TT_EGREP, zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, };
  5752. /*
  5753. * Fix Command Arguments for Solaris_Cxx_Linkage
  5754. */
  5755. static const char* apzSolaris_Cxx_LinkagePatch[] = {
  5756. "format",
  5757. "%1 && !__GNUG__\n\
  5758. %2%3",
  5759. (char*)NULL };
  5760. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5761. *
  5762. * Description of Solaris_Getc_Strict_Stdc fix
  5763. */
  5764. tSCC zSolaris_Getc_Strict_StdcName[] =
  5765. "solaris_getc_strict_stdc";
  5766. /*
  5767. * File name selection pattern
  5768. */
  5769. tSCC zSolaris_Getc_Strict_StdcList[] =
  5770. "iso/stdio_iso.h\0";
  5771. /*
  5772. * Machine/OS name selection pattern
  5773. */
  5774. tSCC* apzSolaris_Getc_Strict_StdcMachs[] = {
  5775. "*-*-solaris2*",
  5776. (const char*)NULL };
  5777. /*
  5778. * content selection pattern - do fix if pattern found
  5779. */
  5780. tSCC zSolaris_Getc_Strict_StdcSelect0[] =
  5781. "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
  5782. #define SOLARIS_GETC_STRICT_STDC_TEST_CT 1
  5783. static tTestDesc aSolaris_Getc_Strict_StdcTests[] = {
  5784. { TT_EGREP, zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, };
  5785. /*
  5786. * Fix Command Arguments for Solaris_Getc_Strict_Stdc
  5787. */
  5788. static const char* apzSolaris_Getc_Strict_StdcPatch[] = {
  5789. "format",
  5790. "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2",
  5791. (char*)NULL };
  5792. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5793. *
  5794. * Description of Solaris_Int_Const fix
  5795. */
  5796. tSCC zSolaris_Int_ConstName[] =
  5797. "solaris_int_const";
  5798. /*
  5799. * File name selection pattern
  5800. */
  5801. tSCC zSolaris_Int_ConstList[] =
  5802. "sys/int_const.h\0";
  5803. /*
  5804. * Machine/OS name selection pattern
  5805. */
  5806. tSCC* apzSolaris_Int_ConstMachs[] = {
  5807. "*-*-solaris2*",
  5808. (const char*)NULL };
  5809. /*
  5810. * content selection pattern - do fix if pattern found
  5811. */
  5812. tSCC zSolaris_Int_ConstSelect0[] =
  5813. "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
  5814. (/*.**/)\n\
  5815. #define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
  5816. #define SOLARIS_INT_CONST_TEST_CT 1
  5817. static tTestDesc aSolaris_Int_ConstTests[] = {
  5818. { TT_EGREP, zSolaris_Int_ConstSelect0, (regex_t*)NULL }, };
  5819. /*
  5820. * Fix Command Arguments for Solaris_Int_Const
  5821. */
  5822. static const char* apzSolaris_Int_ConstPatch[] = {
  5823. "format",
  5824. "#define\tUINT8_C(c)\t(c)\n\
  5825. %1\n\
  5826. #define\tUINT16_C(c)\t(c)",
  5827. (char*)NULL };
  5828. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5829. *
  5830. * Description of Solaris_Int_Limits_1 fix
  5831. */
  5832. tSCC zSolaris_Int_Limits_1Name[] =
  5833. "solaris_int_limits_1";
  5834. /*
  5835. * File name selection pattern
  5836. */
  5837. tSCC zSolaris_Int_Limits_1List[] =
  5838. "sys/int_limits.h\0";
  5839. /*
  5840. * Machine/OS name selection pattern
  5841. */
  5842. tSCC* apzSolaris_Int_Limits_1Machs[] = {
  5843. "*-*-solaris2*",
  5844. (const char*)NULL };
  5845. /*
  5846. * content selection pattern - do fix if pattern found
  5847. */
  5848. tSCC zSolaris_Int_Limits_1Select0[] =
  5849. "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
  5850. #define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
  5851. #define SOLARIS_INT_LIMITS_1_TEST_CT 1
  5852. static tTestDesc aSolaris_Int_Limits_1Tests[] = {
  5853. { TT_EGREP, zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, };
  5854. /*
  5855. * Fix Command Arguments for Solaris_Int_Limits_1
  5856. */
  5857. static const char* apzSolaris_Int_Limits_1Patch[] = {
  5858. "format",
  5859. "#define\tUINT8_MAX\t(255)\n\
  5860. #define\tUINT16_MAX\t(65535)",
  5861. (char*)NULL };
  5862. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5863. *
  5864. * Description of Solaris_Int_Limits_2 fix
  5865. */
  5866. tSCC zSolaris_Int_Limits_2Name[] =
  5867. "solaris_int_limits_2";
  5868. /*
  5869. * File name selection pattern
  5870. */
  5871. tSCC zSolaris_Int_Limits_2List[] =
  5872. "sys/int_limits.h\0";
  5873. /*
  5874. * Machine/OS name selection pattern
  5875. */
  5876. tSCC* apzSolaris_Int_Limits_2Machs[] = {
  5877. "*-*-solaris2*",
  5878. (const char*)NULL };
  5879. /*
  5880. * content selection pattern - do fix if pattern found
  5881. */
  5882. tSCC zSolaris_Int_Limits_2Select0[] =
  5883. "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
  5884. #define SOLARIS_INT_LIMITS_2_TEST_CT 1
  5885. static tTestDesc aSolaris_Int_Limits_2Tests[] = {
  5886. { TT_EGREP, zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, };
  5887. /*
  5888. * Fix Command Arguments for Solaris_Int_Limits_2
  5889. */
  5890. static const char* apzSolaris_Int_Limits_2Patch[] = {
  5891. "format",
  5892. "#define\t%1_FAST16_%2 %132_%2",
  5893. (char*)NULL };
  5894. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5895. *
  5896. * Description of Solaris_Int_Limits_3 fix
  5897. */
  5898. tSCC zSolaris_Int_Limits_3Name[] =
  5899. "solaris_int_limits_3";
  5900. /*
  5901. * File name selection pattern
  5902. */
  5903. tSCC zSolaris_Int_Limits_3List[] =
  5904. "sys/int_limits.h\0";
  5905. /*
  5906. * Machine/OS name selection pattern
  5907. */
  5908. tSCC* apzSolaris_Int_Limits_3Machs[] = {
  5909. "*-*-solaris2*",
  5910. (const char*)NULL };
  5911. /*
  5912. * content selection pattern - do fix if pattern found
  5913. */
  5914. tSCC zSolaris_Int_Limits_3Select0[] =
  5915. "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL";
  5916. #define SOLARIS_INT_LIMITS_3_TEST_CT 1
  5917. static tTestDesc aSolaris_Int_Limits_3Tests[] = {
  5918. { TT_EGREP, zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, };
  5919. /*
  5920. * Fix Command Arguments for Solaris_Int_Limits_3
  5921. */
  5922. static const char* apzSolaris_Int_Limits_3Patch[] = {
  5923. "format",
  5924. "#define\tSIZE_MAX\t4294967295U",
  5925. (char*)NULL };
  5926. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5927. *
  5928. * Description of Solaris_Math_1 fix
  5929. */
  5930. tSCC zSolaris_Math_1Name[] =
  5931. "solaris_math_1";
  5932. /*
  5933. * File name selection pattern
  5934. */
  5935. tSCC zSolaris_Math_1List[] =
  5936. "iso/math_c99.h\0";
  5937. /*
  5938. * Machine/OS name selection pattern
  5939. */
  5940. #define apzSolaris_Math_1Machs (const char**)NULL
  5941. /*
  5942. * content selection pattern - do fix if pattern found
  5943. */
  5944. tSCC zSolaris_Math_1Select0[] =
  5945. "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
  5946. /*
  5947. * content bypass pattern - skip fix if pattern found
  5948. */
  5949. tSCC zSolaris_Math_1Bypass0[] =
  5950. "__GNUC__";
  5951. #define SOLARIS_MATH_1_TEST_CT 2
  5952. static tTestDesc aSolaris_Math_1Tests[] = {
  5953. { TT_NEGREP, zSolaris_Math_1Bypass0, (regex_t*)NULL },
  5954. { TT_EGREP, zSolaris_Math_1Select0, (regex_t*)NULL }, };
  5955. /*
  5956. * Fix Command Arguments for Solaris_Math_1
  5957. */
  5958. static const char* apzSolaris_Math_1Patch[] = {
  5959. "format",
  5960. "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
  5961. "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
  5962. (char*)NULL };
  5963. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5964. *
  5965. * Description of Solaris_Math_10 fix
  5966. */
  5967. tSCC zSolaris_Math_10Name[] =
  5968. "solaris_math_10";
  5969. /*
  5970. * File name selection pattern
  5971. */
  5972. tSCC zSolaris_Math_10List[] =
  5973. "iso/math_c99.h\0";
  5974. /*
  5975. * Machine/OS name selection pattern
  5976. */
  5977. #define apzSolaris_Math_10Machs (const char**)NULL
  5978. /*
  5979. * content selection pattern - do fix if pattern found
  5980. */
  5981. tSCC zSolaris_Math_10Select0[] =
  5982. "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
  5983. #define SOLARIS_MATH_10_TEST_CT 1
  5984. static tTestDesc aSolaris_Math_10Tests[] = {
  5985. { TT_EGREP, zSolaris_Math_10Select0, (regex_t*)NULL }, };
  5986. /*
  5987. * Fix Command Arguments for Solaris_Math_10
  5988. */
  5989. static const char* apzSolaris_Math_10Patch[] = {
  5990. "format",
  5991. "#define\tisinf(x) __builtin_isinf(x)",
  5992. "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
  5993. [ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
  5994. [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
  5995. [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
  5996. (char*)NULL };
  5997. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  5998. *
  5999. * Description of Solaris_Math_2 fix
  6000. */
  6001. tSCC zSolaris_Math_2Name[] =
  6002. "solaris_math_2";
  6003. /*
  6004. * File name selection pattern
  6005. */
  6006. tSCC zSolaris_Math_2List[] =
  6007. "iso/math_c99.h\0";
  6008. /*
  6009. * Machine/OS name selection pattern
  6010. */
  6011. #define apzSolaris_Math_2Machs (const char**)NULL
  6012. /*
  6013. * content selection pattern - do fix if pattern found
  6014. */
  6015. tSCC zSolaris_Math_2Select0[] =
  6016. "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
  6017. /*
  6018. * content bypass pattern - skip fix if pattern found
  6019. */
  6020. tSCC zSolaris_Math_2Bypass0[] =
  6021. "__GNUC__";
  6022. #define SOLARIS_MATH_2_TEST_CT 2
  6023. static tTestDesc aSolaris_Math_2Tests[] = {
  6024. { TT_NEGREP, zSolaris_Math_2Bypass0, (regex_t*)NULL },
  6025. { TT_EGREP, zSolaris_Math_2Select0, (regex_t*)NULL }, };
  6026. /*
  6027. * Fix Command Arguments for Solaris_Math_2
  6028. */
  6029. static const char* apzSolaris_Math_2Patch[] = {
  6030. "format",
  6031. "#define\tINFINITY\t(__builtin_inff())",
  6032. "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
  6033. (char*)NULL };
  6034. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6035. *
  6036. * Description of Solaris_Math_3 fix
  6037. */
  6038. tSCC zSolaris_Math_3Name[] =
  6039. "solaris_math_3";
  6040. /*
  6041. * File name selection pattern
  6042. */
  6043. tSCC zSolaris_Math_3List[] =
  6044. "iso/math_c99.h\0";
  6045. /*
  6046. * Machine/OS name selection pattern
  6047. */
  6048. #define apzSolaris_Math_3Machs (const char**)NULL
  6049. /*
  6050. * content selection pattern - do fix if pattern found
  6051. */
  6052. tSCC zSolaris_Math_3Select0[] =
  6053. "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
  6054. /*
  6055. * content bypass pattern - skip fix if pattern found
  6056. */
  6057. tSCC zSolaris_Math_3Bypass0[] =
  6058. "__GNUC__";
  6059. #define SOLARIS_MATH_3_TEST_CT 2
  6060. static tTestDesc aSolaris_Math_3Tests[] = {
  6061. { TT_NEGREP, zSolaris_Math_3Bypass0, (regex_t*)NULL },
  6062. { TT_EGREP, zSolaris_Math_3Select0, (regex_t*)NULL }, };
  6063. /*
  6064. * Fix Command Arguments for Solaris_Math_3
  6065. */
  6066. static const char* apzSolaris_Math_3Patch[] = {
  6067. "format",
  6068. "#define\tNAN\t\t(__builtin_nanf(\"\"))",
  6069. "^#define[ \t]+NAN[ \t]+__builtin_nan",
  6070. (char*)NULL };
  6071. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6072. *
  6073. * Description of Solaris_Math_4 fix
  6074. */
  6075. tSCC zSolaris_Math_4Name[] =
  6076. "solaris_math_4";
  6077. /*
  6078. * File name selection pattern
  6079. */
  6080. tSCC zSolaris_Math_4List[] =
  6081. "iso/math_c99.h\0";
  6082. /*
  6083. * Machine/OS name selection pattern
  6084. */
  6085. #define apzSolaris_Math_4Machs (const char**)NULL
  6086. /*
  6087. * content selection pattern - do fix if pattern found
  6088. */
  6089. tSCC zSolaris_Math_4Select0[] =
  6090. "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
  6091. /*
  6092. * content bypass pattern - skip fix if pattern found
  6093. */
  6094. tSCC zSolaris_Math_4Bypass0[] =
  6095. "__GNUC__";
  6096. #define SOLARIS_MATH_4_TEST_CT 2
  6097. static tTestDesc aSolaris_Math_4Tests[] = {
  6098. { TT_NEGREP, zSolaris_Math_4Bypass0, (regex_t*)NULL },
  6099. { TT_EGREP, zSolaris_Math_4Select0, (regex_t*)NULL }, };
  6100. /*
  6101. * Fix Command Arguments for Solaris_Math_4
  6102. */
  6103. static const char* apzSolaris_Math_4Patch[] = {
  6104. "format",
  6105. "#define\tfpclassify(x) \\\n\
  6106. __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
  6107. "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
  6108. (char*)NULL };
  6109. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6110. *
  6111. * Description of Solaris_Math_8 fix
  6112. */
  6113. tSCC zSolaris_Math_8Name[] =
  6114. "solaris_math_8";
  6115. /*
  6116. * File name selection pattern
  6117. */
  6118. tSCC zSolaris_Math_8List[] =
  6119. "iso/math_c99.h\0";
  6120. /*
  6121. * Machine/OS name selection pattern
  6122. */
  6123. #define apzSolaris_Math_8Machs (const char**)NULL
  6124. /*
  6125. * content selection pattern - do fix if pattern found
  6126. */
  6127. tSCC zSolaris_Math_8Select0[] =
  6128. "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
  6129. /*
  6130. * content bypass pattern - skip fix if pattern found
  6131. */
  6132. tSCC zSolaris_Math_8Bypass0[] =
  6133. "__GNUC__";
  6134. #define SOLARIS_MATH_8_TEST_CT 2
  6135. static tTestDesc aSolaris_Math_8Tests[] = {
  6136. { TT_NEGREP, zSolaris_Math_8Bypass0, (regex_t*)NULL },
  6137. { TT_EGREP, zSolaris_Math_8Select0, (regex_t*)NULL }, };
  6138. /*
  6139. * Fix Command Arguments for Solaris_Math_8
  6140. */
  6141. static const char* apzSolaris_Math_8Patch[] = {
  6142. "format",
  6143. "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
  6144. \t\t\t ? __builtin_signbitf(x) \\\n\
  6145. \t\t\t : sizeof(x) == sizeof(long double) \\\n\
  6146. \t\t\t ? __builtin_signbitl(x) \\\n\
  6147. \t\t\t : __builtin_signbit(x))",
  6148. "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
  6149. (char*)NULL };
  6150. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6151. *
  6152. * Description of Solaris_Math_9 fix
  6153. */
  6154. tSCC zSolaris_Math_9Name[] =
  6155. "solaris_math_9";
  6156. /*
  6157. * File name selection pattern
  6158. */
  6159. tSCC zSolaris_Math_9List[] =
  6160. "iso/math_c99.h\0";
  6161. /*
  6162. * Machine/OS name selection pattern
  6163. */
  6164. #define apzSolaris_Math_9Machs (const char**)NULL
  6165. /*
  6166. * content selection pattern - do fix if pattern found
  6167. */
  6168. tSCC zSolaris_Math_9Select0[] =
  6169. "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
  6170. /*
  6171. * content bypass pattern - skip fix if pattern found
  6172. */
  6173. tSCC zSolaris_Math_9Bypass0[] =
  6174. "__GNUC__";
  6175. #define SOLARIS_MATH_9_TEST_CT 2
  6176. static tTestDesc aSolaris_Math_9Tests[] = {
  6177. { TT_NEGREP, zSolaris_Math_9Bypass0, (regex_t*)NULL },
  6178. { TT_EGREP, zSolaris_Math_9Select0, (regex_t*)NULL }, };
  6179. /*
  6180. * Fix Command Arguments for Solaris_Math_9
  6181. */
  6182. static const char* apzSolaris_Math_9Patch[] = {
  6183. "format",
  6184. "#define\t%1(x, y)%2__builtin_%1(x, y)",
  6185. "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
  6186. (char*)NULL };
  6187. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6188. *
  6189. * Description of Solaris_Math_11 fix
  6190. */
  6191. tSCC zSolaris_Math_11Name[] =
  6192. "solaris_math_11";
  6193. /*
  6194. * File name selection pattern
  6195. */
  6196. tSCC zSolaris_Math_11List[] =
  6197. "iso/math_c99.h\0";
  6198. /*
  6199. * Machine/OS name selection pattern
  6200. */
  6201. #define apzSolaris_Math_11Machs (const char**)NULL
  6202. /*
  6203. * content selection pattern - do fix if pattern found
  6204. */
  6205. tSCC zSolaris_Math_11Select0[] =
  6206. "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ ";
  6207. #define SOLARIS_MATH_11_TEST_CT 1
  6208. static tTestDesc aSolaris_Math_11Tests[] = {
  6209. { TT_EGREP, zSolaris_Math_11Select0, (regex_t*)NULL }, };
  6210. /*
  6211. * Fix Command Arguments for Solaris_Math_11
  6212. */
  6213. static const char* apzSolaris_Math_11Patch[] = {
  6214. "format",
  6215. "#undef\tsignbit\n\
  6216. #define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
  6217. \t\t\t ? __builtin_signbitf(x) \\\n\
  6218. \t\t\t : sizeof(x) == sizeof(long double) \\\n\
  6219. \t\t\t ? __builtin_signbitl(x) \\\n\
  6220. \t\t\t : __builtin_signbit(x))",
  6221. "^#undef[ \t]+signbit\n\
  6222. #if defined\\(__sparc\\)\n\
  6223. #define[ \t]+signbit\\(x\\)[ \t]+__extension__\\( \\\\\n\
  6224. [ \t]+\\{[ \t]*__typeof\\(x\\)[ \t]*__x_s[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
  6225. [ \t]+\\(int\\)[ \t]*\\(\\*\\(unsigned[ \t]*\\*\\)[ \t]*\\&__x_s[ \t]*>>[ \t]*31\\);[ \t]*\\}\\)\n\
  6226. #elif defined\\(__i386\\) \\|\\| defined\\(__amd64\\)\n\
  6227. #define[ \t]+signbit\\(x\\)[ \t]+__extension__\\( \\\\\n\
  6228. [ \t]+\\{ __typeof\\(x\\) __x_s = \\(x\\); \\\\\n\
  6229. [ \t]+\\(sizeof \\(__x_s\\) == sizeof \\(float\\) \\? \\\\\n\
  6230. [ \t]+\\(int\\) \\(\\*\\(unsigned \\*\\) \\&__x_s >> 31\\) : \\\\\n\
  6231. [ \t]+sizeof \\(__x_s\\) == sizeof \\(double\\) \\? \\\\\n\
  6232. [ \t]+\\(int\\) \\(\\(\\(unsigned \\*\\) \\&__x_s\\)\\[1\\] >> 31\\) : \\\\\n\
  6233. [ \t]+\\(int\\) \\(\\(\\(unsigned short \\*\\) \\&__x_s\\)\\[4\\] >> 15\\)\\); \\}\\)\n\
  6234. #endif",
  6235. (char*)NULL };
  6236. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6237. *
  6238. * Description of Solaris_Once_Init_1 fix
  6239. */
  6240. tSCC zSolaris_Once_Init_1Name[] =
  6241. "solaris_once_init_1";
  6242. /*
  6243. * File name selection pattern
  6244. */
  6245. tSCC zSolaris_Once_Init_1List[] =
  6246. "pthread.h\0";
  6247. /*
  6248. * Machine/OS name selection pattern
  6249. */
  6250. tSCC* apzSolaris_Once_Init_1Machs[] = {
  6251. "*-*-solaris*",
  6252. (const char*)NULL };
  6253. /*
  6254. * content selection pattern - do fix if pattern found
  6255. */
  6256. tSCC zSolaris_Once_Init_1Select0[] =
  6257. "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
  6258. #define SOLARIS_ONCE_INIT_1_TEST_CT 1
  6259. static tTestDesc aSolaris_Once_Init_1Tests[] = {
  6260. { TT_EGREP, zSolaris_Once_Init_1Select0, (regex_t*)NULL }, };
  6261. /*
  6262. * Fix Command Arguments for Solaris_Once_Init_1
  6263. */
  6264. static const char* apzSolaris_Once_Init_1Patch[] = {
  6265. "format",
  6266. "%1{%2}%3",
  6267. "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
  6268. (char*)NULL };
  6269. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6270. *
  6271. * Description of Solaris_Posix_Spawn_Restrict fix
  6272. */
  6273. tSCC zSolaris_Posix_Spawn_RestrictName[] =
  6274. "solaris_posix_spawn_restrict";
  6275. /*
  6276. * File name selection pattern
  6277. */
  6278. tSCC zSolaris_Posix_Spawn_RestrictList[] =
  6279. "spawn.h\0";
  6280. /*
  6281. * Machine/OS name selection pattern
  6282. */
  6283. tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
  6284. "*-*-solaris2*",
  6285. (const char*)NULL };
  6286. /*
  6287. * content selection pattern - do fix if pattern found
  6288. */
  6289. tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
  6290. "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
  6291. #define SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT 1
  6292. static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
  6293. { TT_EGREP, zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
  6294. /*
  6295. * Fix Command Arguments for Solaris_Posix_Spawn_Restrict
  6296. */
  6297. static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
  6298. "format",
  6299. "%1*_RESTRICT_KYWD %2%3",
  6300. (char*)NULL };
  6301. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6302. *
  6303. * Description of Solaris_Pow_Int_Overload fix
  6304. */
  6305. tSCC zSolaris_Pow_Int_OverloadName[] =
  6306. "solaris_pow_int_overload";
  6307. /*
  6308. * File name selection pattern
  6309. */
  6310. tSCC zSolaris_Pow_Int_OverloadList[] =
  6311. "iso/math_iso.h\0";
  6312. /*
  6313. * Machine/OS name selection pattern
  6314. */
  6315. tSCC* apzSolaris_Pow_Int_OverloadMachs[] = {
  6316. "*-*-solaris2*",
  6317. (const char*)NULL };
  6318. /*
  6319. * content selection pattern - do fix if pattern found
  6320. */
  6321. tSCC zSolaris_Pow_Int_OverloadSelect0[] =
  6322. "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\
  6323. [^{}]*\\}";
  6324. #define SOLARIS_POW_INT_OVERLOAD_TEST_CT 1
  6325. static tTestDesc aSolaris_Pow_Int_OverloadTests[] = {
  6326. { TT_EGREP, zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, };
  6327. /*
  6328. * Fix Command Arguments for Solaris_Pow_Int_Overload
  6329. */
  6330. static const char* apzSolaris_Pow_Int_OverloadPatch[] = {
  6331. "format",
  6332. "#if __cplusplus < 201103L\n\
  6333. %0\n\
  6334. #endif",
  6335. (char*)NULL };
  6336. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6337. *
  6338. * Description of Solaris_Rwlock_Init_1 fix
  6339. */
  6340. tSCC zSolaris_Rwlock_Init_1Name[] =
  6341. "solaris_rwlock_init_1";
  6342. /*
  6343. * File name selection pattern
  6344. */
  6345. tSCC zSolaris_Rwlock_Init_1List[] =
  6346. "pthread.h\0";
  6347. /*
  6348. * Machine/OS name selection pattern
  6349. */
  6350. tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
  6351. "*-*-solaris*",
  6352. (const char*)NULL };
  6353. /*
  6354. * content selection pattern - do fix if pattern found
  6355. */
  6356. tSCC zSolaris_Rwlock_Init_1Select0[] =
  6357. "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
  6358. #define SOLARIS_RWLOCK_INIT_1_TEST_CT 1
  6359. static tTestDesc aSolaris_Rwlock_Init_1Tests[] = {
  6360. { TT_EGREP, zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, };
  6361. /*
  6362. * Fix Command Arguments for Solaris_Rwlock_Init_1
  6363. */
  6364. static const char* apzSolaris_Rwlock_Init_1Patch[] = {
  6365. "format",
  6366. "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
  6367. %0\n\
  6368. #else\n\
  6369. %1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\
  6370. #endif",
  6371. "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$",
  6372. (char*)NULL };
  6373. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6374. *
  6375. * Description of Solaris_Std___Filbuf fix
  6376. */
  6377. tSCC zSolaris_Std___FilbufName[] =
  6378. "solaris_std___filbuf";
  6379. /*
  6380. * File name selection pattern
  6381. */
  6382. tSCC zSolaris_Std___FilbufList[] =
  6383. "stdio.h\0";
  6384. /*
  6385. * Machine/OS name selection pattern
  6386. */
  6387. tSCC* apzSolaris_Std___FilbufMachs[] = {
  6388. "*-*-solaris2*",
  6389. (const char*)NULL };
  6390. /*
  6391. * content selection pattern - do fix if pattern found
  6392. */
  6393. tSCC zSolaris_Std___FilbufSelect0[] =
  6394. "(using std::perror;\n\
  6395. )(#endif)";
  6396. /*
  6397. * content bypass pattern - skip fix if pattern found
  6398. */
  6399. tSCC zSolaris_Std___FilbufBypass0[] =
  6400. "using std::__filbuf";
  6401. #define SOLARIS_STD___FILBUF_TEST_CT 2
  6402. static tTestDesc aSolaris_Std___FilbufTests[] = {
  6403. { TT_NEGREP, zSolaris_Std___FilbufBypass0, (regex_t*)NULL },
  6404. { TT_EGREP, zSolaris_Std___FilbufSelect0, (regex_t*)NULL }, };
  6405. /*
  6406. * Fix Command Arguments for Solaris_Std___Filbuf
  6407. */
  6408. static const char* apzSolaris_Std___FilbufPatch[] = {
  6409. "format",
  6410. "%1#ifndef _LP64\n\
  6411. using std::__filbuf;\n\
  6412. using std::__flsbuf;\n\
  6413. #endif\n\
  6414. %2",
  6415. (char*)NULL };
  6416. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6417. *
  6418. * Description of Solaris_Stdio_Tag fix
  6419. */
  6420. tSCC zSolaris_Stdio_TagName[] =
  6421. "solaris_stdio_tag";
  6422. /*
  6423. * File name selection pattern
  6424. */
  6425. tSCC zSolaris_Stdio_TagList[] =
  6426. "stdio_tag.h\0";
  6427. /*
  6428. * Machine/OS name selection pattern
  6429. */
  6430. #define apzSolaris_Stdio_TagMachs (const char**)NULL
  6431. /*
  6432. * content selection pattern - do fix if pattern found
  6433. */
  6434. tSCC zSolaris_Stdio_TagSelect0[] =
  6435. "__cplusplus < 54321L";
  6436. /*
  6437. * content bypass pattern - skip fix if pattern found
  6438. */
  6439. tSCC zSolaris_Stdio_TagBypass0[] =
  6440. "__GNUC__";
  6441. #define SOLARIS_STDIO_TAG_TEST_CT 2
  6442. static tTestDesc aSolaris_Stdio_TagTests[] = {
  6443. { TT_NEGREP, zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
  6444. { TT_EGREP, zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
  6445. /*
  6446. * Fix Command Arguments for Solaris_Stdio_Tag
  6447. */
  6448. static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z,
  6449. "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
  6450. (char*)NULL };
  6451. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6452. *
  6453. * Description of Statsswtch fix
  6454. */
  6455. tSCC zStatsswtchName[] =
  6456. "statsswtch";
  6457. /*
  6458. * File name selection pattern
  6459. */
  6460. tSCC zStatsswtchList[] =
  6461. "rpcsvc/rstat.h\0";
  6462. /*
  6463. * Machine/OS name selection pattern
  6464. */
  6465. #define apzStatsswtchMachs (const char**)NULL
  6466. /*
  6467. * content selection pattern - do fix if pattern found
  6468. */
  6469. tSCC zStatsswtchSelect0[] =
  6470. "boottime$";
  6471. #define STATSSWTCH_TEST_CT 1
  6472. static tTestDesc aStatsswtchTests[] = {
  6473. { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, };
  6474. /*
  6475. * Fix Command Arguments for Statsswtch
  6476. */
  6477. static const char* apzStatsswtchPatch[] = {
  6478. "format",
  6479. "boottime;",
  6480. (char*)NULL };
  6481. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6482. *
  6483. * Description of Stdio_Stdarg_H fix
  6484. */
  6485. tSCC zStdio_Stdarg_HName[] =
  6486. "stdio_stdarg_h";
  6487. /*
  6488. * File name selection pattern
  6489. */
  6490. tSCC zStdio_Stdarg_HList[] =
  6491. "stdio.h\0";
  6492. /*
  6493. * Machine/OS name selection pattern
  6494. */
  6495. tSCC* apzStdio_Stdarg_HMachs[] = {
  6496. "*-*-solaris2.1[0-9]*",
  6497. (const char*)NULL };
  6498. /*
  6499. * content bypass pattern - skip fix if pattern found
  6500. */
  6501. tSCC zStdio_Stdarg_HBypass0[] =
  6502. "include.*(stdarg.h|machine/ansi.h)";
  6503. #define STDIO_STDARG_H_TEST_CT 1
  6504. static tTestDesc aStdio_Stdarg_HTests[] = {
  6505. { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
  6506. /*
  6507. * Fix Command Arguments for Stdio_Stdarg_H
  6508. */
  6509. static const char* apzStdio_Stdarg_HPatch[] = {
  6510. "wrap",
  6511. "#define __need___va_list\n\
  6512. #include <stdarg.h>\n",
  6513. (char*)NULL };
  6514. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6515. *
  6516. * Description of Stdio_Va_List fix
  6517. */
  6518. tSCC zStdio_Va_ListName[] =
  6519. "stdio_va_list";
  6520. /*
  6521. * File name selection pattern
  6522. */
  6523. tSCC zStdio_Va_ListList[] =
  6524. "stdio.h\0";
  6525. /*
  6526. * Machine/OS name selection pattern
  6527. */
  6528. tSCC* apzStdio_Va_ListMachs[] = {
  6529. "*-*-solaris2.1[0-9]*",
  6530. (const char*)NULL };
  6531. /*
  6532. * content bypass pattern - skip fix if pattern found
  6533. */
  6534. tSCC zStdio_Va_ListBypass0[] =
  6535. "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
  6536. #define STDIO_VA_LIST_TEST_CT 1
  6537. static tTestDesc aStdio_Va_ListTests[] = {
  6538. { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, };
  6539. /*
  6540. * Fix Command Arguments for Stdio_Va_List
  6541. */
  6542. static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z,
  6543. "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
  6544. s@(va_list)&@(__gnuc_va_list)\\&@\n\
  6545. s@ _VA_LIST_));@ __gnuc_va_list));@\n\
  6546. s@ __VA_LIST__));@ __gnuc_va_list));@\n\
  6547. s@ va_list@ __not_va_list__@\n\
  6548. s@\\*va_list@*__not_va_list__@\n\
  6549. s@ __va_list)@ __gnuc_va_list)@\n\
  6550. s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
  6551. s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
  6552. s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
  6553. s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
  6554. s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
  6555. s@VA_LIST@DUMMY_VA_LIST@\n\
  6556. s@_Va_LIST@_VA_LIST@",
  6557. (char*)NULL };
  6558. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6559. *
  6560. * Description of Stdio_Va_List_Clients fix
  6561. */
  6562. tSCC zStdio_Va_List_ClientsName[] =
  6563. "stdio_va_list_clients";
  6564. /*
  6565. * File name selection pattern
  6566. */
  6567. tSCC zStdio_Va_List_ClientsList[] =
  6568. "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0";
  6569. /*
  6570. * Machine/OS name selection pattern
  6571. */
  6572. #define apzStdio_Va_List_ClientsMachs (const char**)NULL
  6573. /*
  6574. * content bypass pattern - skip fix if pattern found
  6575. */
  6576. tSCC zStdio_Va_List_ClientsBypass0[] =
  6577. "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
  6578. tSCC zStdio_Va_List_ClientsBypass1[] =
  6579. "include <stdarg\\.h>|#ifdef va_start";
  6580. #define STDIO_VA_LIST_CLIENTS_TEST_CT 2
  6581. static tTestDesc aStdio_Va_List_ClientsTests[] = {
  6582. { TT_NEGREP, zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
  6583. { TT_NEGREP, zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
  6584. /*
  6585. * Fix Command Arguments for Stdio_Va_List_Clients
  6586. */
  6587. static const char* apzStdio_Va_List_ClientsPatch[] = { sed_cmd_z,
  6588. "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
  6589. s@(va_list)&@(__gnuc_va_list)\\&@\n\
  6590. s@ _VA_LIST_));@ __gnuc_va_list));@\n\
  6591. s@ __VA_LIST__));@ __gnuc_va_list));@\n\
  6592. s@ va_list@ __not_va_list__@\n\
  6593. s@\\*va_list@*__not_va_list__@\n\
  6594. s@ __va_list)@ __gnuc_va_list)@\n\
  6595. s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
  6596. s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
  6597. s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
  6598. s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
  6599. s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
  6600. s@VA_LIST@DUMMY_VA_LIST@\n\
  6601. s@_Va_LIST@_VA_LIST@",
  6602. (char*)NULL };
  6603. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6604. *
  6605. * Description of Strict_Ansi_Not fix
  6606. */
  6607. tSCC zStrict_Ansi_NotName[] =
  6608. "strict_ansi_not";
  6609. /*
  6610. * File name selection pattern
  6611. */
  6612. #define zStrict_Ansi_NotList (char*)NULL
  6613. /*
  6614. * Machine/OS name selection pattern
  6615. */
  6616. #define apzStrict_Ansi_NotMachs (const char**)NULL
  6617. /*
  6618. * content selection pattern - do fix if pattern found
  6619. */
  6620. tSCC zStrict_Ansi_NotSelect0[] =
  6621. "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
  6622. /*
  6623. * content bypass pattern - skip fix if pattern found
  6624. */
  6625. tSCC zStrict_Ansi_NotBypass0[] =
  6626. "GNU and MIPS C compilers define __STDC__ differently";
  6627. tSCC zStrict_Ansi_NotBypass1[] =
  6628. "__SCO_VERSION__.*__STDC__ != 1";
  6629. /*
  6630. * perform the C function call test
  6631. */
  6632. tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
  6633. #define STRICT_ANSI_NOT_TEST_CT 4
  6634. static tTestDesc aStrict_Ansi_NotTests[] = {
  6635. { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ },
  6636. { TT_NEGREP, zStrict_Ansi_NotBypass0, (regex_t*)NULL },
  6637. { TT_NEGREP, zStrict_Ansi_NotBypass1, (regex_t*)NULL },
  6638. { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
  6639. /*
  6640. * Fix Command Arguments for Strict_Ansi_Not
  6641. */
  6642. static const char* apzStrict_Ansi_NotPatch[] = {
  6643. "format",
  6644. "%1 !defined(__STRICT_ANSI__)",
  6645. (char*)NULL };
  6646. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6647. *
  6648. * Description of Strict_Ansi_Not_Ctd fix
  6649. */
  6650. tSCC zStrict_Ansi_Not_CtdName[] =
  6651. "strict_ansi_not_ctd";
  6652. /*
  6653. * File name selection pattern
  6654. */
  6655. tSCC zStrict_Ansi_Not_CtdList[] =
  6656. "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0";
  6657. /*
  6658. * Machine/OS name selection pattern
  6659. */
  6660. #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
  6661. /*
  6662. * content selection pattern - do fix if pattern found
  6663. */
  6664. tSCC zStrict_Ansi_Not_CtdSelect0[] =
  6665. "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
  6666. /*
  6667. * perform the C function call test
  6668. */
  6669. tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
  6670. #define STRICT_ANSI_NOT_CTD_TEST_CT 2
  6671. static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
  6672. { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ },
  6673. { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
  6674. /*
  6675. * Fix Command Arguments for Strict_Ansi_Not_Ctd
  6676. */
  6677. static const char* apzStrict_Ansi_Not_CtdPatch[] = {
  6678. "format",
  6679. "%1 !defined(__STRICT_ANSI__)",
  6680. (char*)NULL };
  6681. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6682. *
  6683. * Description of Strict_Ansi_Only fix
  6684. */
  6685. tSCC zStrict_Ansi_OnlyName[] =
  6686. "strict_ansi_only";
  6687. /*
  6688. * File name selection pattern
  6689. */
  6690. #define zStrict_Ansi_OnlyList (char*)NULL
  6691. /*
  6692. * Machine/OS name selection pattern
  6693. */
  6694. #define apzStrict_Ansi_OnlyMachs (const char**)NULL
  6695. /*
  6696. * content selection pattern - do fix if pattern found
  6697. */
  6698. tSCC zStrict_Ansi_OnlySelect0[] =
  6699. "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)";
  6700. /*
  6701. * perform the C function call test
  6702. */
  6703. tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
  6704. #define STRICT_ANSI_ONLY_TEST_CT 2
  6705. static tTestDesc aStrict_Ansi_OnlyTests[] = {
  6706. { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ },
  6707. { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
  6708. /*
  6709. * Fix Command Arguments for Strict_Ansi_Only
  6710. */
  6711. static const char* apzStrict_Ansi_OnlyPatch[] = {
  6712. "format",
  6713. "%1 defined(__STRICT_ANSI__)",
  6714. (char*)NULL };
  6715. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6716. *
  6717. * Description of Struct_File fix
  6718. */
  6719. tSCC zStruct_FileName[] =
  6720. "struct_file";
  6721. /*
  6722. * File name selection pattern
  6723. */
  6724. tSCC zStruct_FileList[] =
  6725. "rpc/xdr.h\0";
  6726. /*
  6727. * Machine/OS name selection pattern
  6728. */
  6729. #define apzStruct_FileMachs (const char**)NULL
  6730. /*
  6731. * content selection pattern - do fix if pattern found
  6732. */
  6733. tSCC zStruct_FileSelect0[] =
  6734. "^.*xdrstdio_create.*struct __file_s";
  6735. #define STRUCT_FILE_TEST_CT 1
  6736. static tTestDesc aStruct_FileTests[] = {
  6737. { TT_EGREP, zStruct_FileSelect0, (regex_t*)NULL }, };
  6738. /*
  6739. * Fix Command Arguments for Struct_File
  6740. */
  6741. static const char* apzStruct_FilePatch[] = {
  6742. "format",
  6743. "struct __file_s;\n\
  6744. %0",
  6745. (char*)NULL };
  6746. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6747. *
  6748. * Description of Struct_Sockaddr fix
  6749. */
  6750. tSCC zStruct_SockaddrName[] =
  6751. "struct_sockaddr";
  6752. /*
  6753. * File name selection pattern
  6754. */
  6755. tSCC zStruct_SockaddrList[] =
  6756. "rpc/auth.h\0";
  6757. /*
  6758. * Machine/OS name selection pattern
  6759. */
  6760. #define apzStruct_SockaddrMachs (const char**)NULL
  6761. /*
  6762. * content selection pattern - do fix if pattern found
  6763. */
  6764. tSCC zStruct_SockaddrSelect0[] =
  6765. "^.*authdes_create.*struct sockaddr[^_]";
  6766. /*
  6767. * content bypass pattern - skip fix if pattern found
  6768. */
  6769. tSCC zStruct_SockaddrBypass0[] =
  6770. "<sys/socket.h>";
  6771. tSCC zStruct_SockaddrBypass1[] =
  6772. "struct sockaddr;\n";
  6773. #define STRUCT_SOCKADDR_TEST_CT 3
  6774. static tTestDesc aStruct_SockaddrTests[] = {
  6775. { TT_NEGREP, zStruct_SockaddrBypass0, (regex_t*)NULL },
  6776. { TT_NEGREP, zStruct_SockaddrBypass1, (regex_t*)NULL },
  6777. { TT_EGREP, zStruct_SockaddrSelect0, (regex_t*)NULL }, };
  6778. /*
  6779. * Fix Command Arguments for Struct_Sockaddr
  6780. */
  6781. static const char* apzStruct_SockaddrPatch[] = {
  6782. "format",
  6783. "struct sockaddr;\n\
  6784. %0",
  6785. (char*)NULL };
  6786. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6787. *
  6788. * Description of Sun_Auth_Proto fix
  6789. */
  6790. tSCC zSun_Auth_ProtoName[] =
  6791. "sun_auth_proto";
  6792. /*
  6793. * File name selection pattern
  6794. */
  6795. tSCC zSun_Auth_ProtoList[] =
  6796. "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0";
  6797. /*
  6798. * Machine/OS name selection pattern
  6799. */
  6800. #define apzSun_Auth_ProtoMachs (const char**)NULL
  6801. /*
  6802. * content selection pattern - do fix if pattern found
  6803. */
  6804. tSCC zSun_Auth_ProtoSelect0[] =
  6805. "\\(\\*[a-z][a-z_]*\\)\\(\\)";
  6806. /*
  6807. * content bypass pattern - skip fix if pattern found
  6808. */
  6809. tSCC zSun_Auth_ProtoBypass0[] =
  6810. "__cplusplus";
  6811. #define SUN_AUTH_PROTO_TEST_CT 2
  6812. static tTestDesc aSun_Auth_ProtoTests[] = {
  6813. { TT_NEGREP, zSun_Auth_ProtoBypass0, (regex_t*)NULL },
  6814. { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
  6815. /*
  6816. * Fix Command Arguments for Sun_Auth_Proto
  6817. */
  6818. static const char* apzSun_Auth_ProtoPatch[] = {
  6819. "format",
  6820. "#ifdef __cplusplus\n\
  6821. %1(...);%2\n\
  6822. #else\n\
  6823. %1();%2\n\
  6824. #endif",
  6825. "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
  6826. (char*)NULL };
  6827. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6828. *
  6829. * Description of Sun_Bogus_Ifdef fix
  6830. */
  6831. tSCC zSun_Bogus_IfdefName[] =
  6832. "sun_bogus_ifdef";
  6833. /*
  6834. * File name selection pattern
  6835. */
  6836. tSCC zSun_Bogus_IfdefList[] =
  6837. "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0";
  6838. /*
  6839. * Machine/OS name selection pattern
  6840. */
  6841. #define apzSun_Bogus_IfdefMachs (const char**)NULL
  6842. /*
  6843. * content selection pattern - do fix if pattern found
  6844. */
  6845. tSCC zSun_Bogus_IfdefSelect0[] =
  6846. "#ifdef(.*\\|\\|.*)";
  6847. #define SUN_BOGUS_IFDEF_TEST_CT 1
  6848. static tTestDesc aSun_Bogus_IfdefTests[] = {
  6849. { TT_EGREP, zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
  6850. /*
  6851. * Fix Command Arguments for Sun_Bogus_Ifdef
  6852. */
  6853. static const char* apzSun_Bogus_IfdefPatch[] = {
  6854. "format",
  6855. "#if%1",
  6856. (char*)NULL };
  6857. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6858. *
  6859. * Description of Sun_Catmacro fix
  6860. */
  6861. tSCC zSun_CatmacroName[] =
  6862. "sun_catmacro";
  6863. /*
  6864. * File name selection pattern
  6865. */
  6866. tSCC zSun_CatmacroList[] =
  6867. "pixrect/memvar.h\0";
  6868. /*
  6869. * Machine/OS name selection pattern
  6870. */
  6871. #define apzSun_CatmacroMachs (const char**)NULL
  6872. /*
  6873. * content selection pattern - do fix if pattern found
  6874. */
  6875. tSCC zSun_CatmacroSelect0[] =
  6876. "^#define[ \t]+CAT\\(a,b\\).*";
  6877. #define SUN_CATMACRO_TEST_CT 1
  6878. static tTestDesc aSun_CatmacroTests[] = {
  6879. { TT_EGREP, zSun_CatmacroSelect0, (regex_t*)NULL }, };
  6880. /*
  6881. * Fix Command Arguments for Sun_Catmacro
  6882. */
  6883. static const char* apzSun_CatmacroPatch[] = {
  6884. "format",
  6885. "#ifdef __STDC__\n\
  6886. # define CAT(a,b) a##b\n\
  6887. #else\n\
  6888. %0\n\
  6889. #endif",
  6890. (char*)NULL };
  6891. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6892. *
  6893. * Description of Sun_Malloc fix
  6894. */
  6895. tSCC zSun_MallocName[] =
  6896. "sun_malloc";
  6897. /*
  6898. * File name selection pattern
  6899. */
  6900. tSCC zSun_MallocList[] =
  6901. "malloc.h\0";
  6902. /*
  6903. * Machine/OS name selection pattern
  6904. */
  6905. #define apzSun_MallocMachs (const char**)NULL
  6906. /*
  6907. * content bypass pattern - skip fix if pattern found
  6908. */
  6909. tSCC zSun_MallocBypass0[] =
  6910. "_CLASSIC_ANSI_TYPES";
  6911. #define SUN_MALLOC_TEST_CT 1
  6912. static tTestDesc aSun_MallocTests[] = {
  6913. { TT_NEGREP, zSun_MallocBypass0, (regex_t*)NULL }, };
  6914. /*
  6915. * Fix Command Arguments for Sun_Malloc
  6916. */
  6917. static const char* apzSun_MallocPatch[] = { sed_cmd_z,
  6918. "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
  6919. "-e", "s/int[ \t][ \t]*free/void\tfree/g",
  6920. "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
  6921. "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
  6922. "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
  6923. (char*)NULL };
  6924. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6925. *
  6926. * Description of Sun_Rusers_Semi fix
  6927. */
  6928. tSCC zSun_Rusers_SemiName[] =
  6929. "sun_rusers_semi";
  6930. /*
  6931. * File name selection pattern
  6932. */
  6933. tSCC zSun_Rusers_SemiList[] =
  6934. "rpcsvc/rusers.h\0";
  6935. /*
  6936. * Machine/OS name selection pattern
  6937. */
  6938. #define apzSun_Rusers_SemiMachs (const char**)NULL
  6939. /*
  6940. * content selection pattern - do fix if pattern found
  6941. */
  6942. tSCC zSun_Rusers_SemiSelect0[] =
  6943. "_cnt$";
  6944. #define SUN_RUSERS_SEMI_TEST_CT 1
  6945. static tTestDesc aSun_Rusers_SemiTests[] = {
  6946. { TT_EGREP, zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
  6947. /*
  6948. * Fix Command Arguments for Sun_Rusers_Semi
  6949. */
  6950. static const char* apzSun_Rusers_SemiPatch[] = { sed_cmd_z,
  6951. "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
  6952. (char*)NULL };
  6953. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6954. *
  6955. * Description of Sun_Signal fix
  6956. */
  6957. tSCC zSun_SignalName[] =
  6958. "sun_signal";
  6959. /*
  6960. * File name selection pattern
  6961. */
  6962. tSCC zSun_SignalList[] =
  6963. "sys/signal.h\0signal.h\0";
  6964. /*
  6965. * Machine/OS name selection pattern
  6966. */
  6967. #define apzSun_SignalMachs (const char**)NULL
  6968. /*
  6969. * content selection pattern - do fix if pattern found
  6970. */
  6971. tSCC zSun_SignalSelect0[] =
  6972. "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
  6973. #define SUN_SIGNAL_TEST_CT 1
  6974. static tTestDesc aSun_SignalTests[] = {
  6975. { TT_EGREP, zSun_SignalSelect0, (regex_t*)NULL }, };
  6976. /*
  6977. * Fix Command Arguments for Sun_Signal
  6978. */
  6979. static const char* apzSun_SignalPatch[] = {
  6980. "format",
  6981. "#ifdef __cplusplus\n\
  6982. void\t(*signal(...))(...);\n\
  6983. #else\n\
  6984. %0\n\
  6985. #endif",
  6986. (char*)NULL };
  6987. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  6988. *
  6989. * Description of Sunos_Strlen fix
  6990. */
  6991. tSCC zSunos_StrlenName[] =
  6992. "sunos_strlen";
  6993. /*
  6994. * File name selection pattern
  6995. */
  6996. tSCC zSunos_StrlenList[] =
  6997. "strings.h\0";
  6998. /*
  6999. * Machine/OS name selection pattern
  7000. */
  7001. #define apzSunos_StrlenMachs (const char**)NULL
  7002. /*
  7003. * content selection pattern - do fix if pattern found
  7004. */
  7005. tSCC zSunos_StrlenSelect0[] =
  7006. "int[ \t]*strlen\\(\\);(.*)";
  7007. #define SUNOS_STRLEN_TEST_CT 1
  7008. static tTestDesc aSunos_StrlenTests[] = {
  7009. { TT_EGREP, zSunos_StrlenSelect0, (regex_t*)NULL }, };
  7010. /*
  7011. * Fix Command Arguments for Sunos_Strlen
  7012. */
  7013. static const char* apzSunos_StrlenPatch[] = {
  7014. "format",
  7015. "__SIZE_TYPE__ strlen();%1",
  7016. (char*)NULL };
  7017. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7018. *
  7019. * Description of Suse_Linux_Vt_Cxx fix
  7020. */
  7021. tSCC zSuse_Linux_Vt_CxxName[] =
  7022. "suse_linux_vt_cxx";
  7023. /*
  7024. * File name selection pattern
  7025. */
  7026. tSCC zSuse_Linux_Vt_CxxList[] =
  7027. "linux/vt.h\0";
  7028. /*
  7029. * Machine/OS name selection pattern
  7030. */
  7031. #define apzSuse_Linux_Vt_CxxMachs (const char**)NULL
  7032. /*
  7033. * content selection pattern - do fix if pattern found
  7034. */
  7035. tSCC zSuse_Linux_Vt_CxxSelect0[] =
  7036. "^[ \t]*unsigned int new;";
  7037. #define SUSE_LINUX_VT_CXX_TEST_CT 1
  7038. static tTestDesc aSuse_Linux_Vt_CxxTests[] = {
  7039. { TT_EGREP, zSuse_Linux_Vt_CxxSelect0, (regex_t*)NULL }, };
  7040. /*
  7041. * Fix Command Arguments for Suse_Linux_Vt_Cxx
  7042. */
  7043. static const char* apzSuse_Linux_Vt_CxxPatch[] = {
  7044. "format",
  7045. "unsigned int newev;",
  7046. (char*)NULL };
  7047. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7048. *
  7049. * Description of Svr4_Disable_Opt fix
  7050. */
  7051. tSCC zSvr4_Disable_OptName[] =
  7052. "svr4_disable_opt";
  7053. /*
  7054. * File name selection pattern
  7055. */
  7056. tSCC zSvr4_Disable_OptList[] =
  7057. "string.h\0";
  7058. /*
  7059. * Machine/OS name selection pattern
  7060. */
  7061. #define apzSvr4_Disable_OptMachs (const char**)NULL
  7062. /*
  7063. * content selection pattern - do fix if pattern found
  7064. */
  7065. tSCC zSvr4_Disable_OptSelect0[] =
  7066. "#define.*__std_hdr_";
  7067. #define SVR4_DISABLE_OPT_TEST_CT 1
  7068. static tTestDesc aSvr4_Disable_OptTests[] = {
  7069. { TT_EGREP, zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
  7070. /*
  7071. * Fix Command Arguments for Svr4_Disable_Opt
  7072. */
  7073. static const char* apzSvr4_Disable_OptPatch[] = { sed_cmd_z,
  7074. "-e", "/#define.*__std_hdr_/d",
  7075. (char*)NULL };
  7076. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7077. *
  7078. * Description of Svr4_Getcwd fix
  7079. */
  7080. tSCC zSvr4_GetcwdName[] =
  7081. "svr4_getcwd";
  7082. /*
  7083. * File name selection pattern
  7084. */
  7085. tSCC zSvr4_GetcwdList[] =
  7086. "stdlib.h\0unistd.h\0prototypes.h\0";
  7087. /*
  7088. * Machine/OS name selection pattern
  7089. */
  7090. #define apzSvr4_GetcwdMachs (const char**)NULL
  7091. /*
  7092. * content selection pattern - do fix if pattern found
  7093. */
  7094. tSCC zSvr4_GetcwdSelect0[] =
  7095. "getcwd\\(char \\*, int\\)";
  7096. #define SVR4_GETCWD_TEST_CT 1
  7097. static tTestDesc aSvr4_GetcwdTests[] = {
  7098. { TT_EGREP, zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
  7099. /*
  7100. * Fix Command Arguments for Svr4_Getcwd
  7101. */
  7102. static const char* apzSvr4_GetcwdPatch[] = {
  7103. "format",
  7104. "getcwd(char *, size_t)",
  7105. (char*)NULL };
  7106. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7107. *
  7108. * Description of Svr4_Profil fix
  7109. */
  7110. tSCC zSvr4_ProfilName[] =
  7111. "svr4_profil";
  7112. /*
  7113. * File name selection pattern
  7114. */
  7115. tSCC zSvr4_ProfilList[] =
  7116. "stdlib.h\0unistd.h\0";
  7117. /*
  7118. * Machine/OS name selection pattern
  7119. */
  7120. #define apzSvr4_ProfilMachs (const char**)NULL
  7121. /*
  7122. * content selection pattern - do fix if pattern found
  7123. */
  7124. tSCC zSvr4_ProfilSelect0[] =
  7125. "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
  7126. #define SVR4_PROFIL_TEST_CT 1
  7127. static tTestDesc aSvr4_ProfilTests[] = {
  7128. { TT_EGREP, zSvr4_ProfilSelect0, (regex_t*)NULL }, };
  7129. /*
  7130. * Fix Command Arguments for Svr4_Profil
  7131. */
  7132. static const char* apzSvr4_ProfilPatch[] = {
  7133. "format",
  7134. "profil(unsigned short *, size_t, int, unsigned int)",
  7135. (char*)NULL };
  7136. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7137. *
  7138. * Description of Svr4_Sighandler_Type fix
  7139. */
  7140. tSCC zSvr4_Sighandler_TypeName[] =
  7141. "svr4_sighandler_type";
  7142. /*
  7143. * File name selection pattern
  7144. */
  7145. tSCC zSvr4_Sighandler_TypeList[] =
  7146. "sys/signal.h\0";
  7147. /*
  7148. * Machine/OS name selection pattern
  7149. */
  7150. #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
  7151. /*
  7152. * content selection pattern - do fix if pattern found
  7153. */
  7154. tSCC zSvr4_Sighandler_TypeSelect0[] =
  7155. "void *\\(\\*\\)\\(\\)";
  7156. #define SVR4_SIGHANDLER_TYPE_TEST_CT 1
  7157. static tTestDesc aSvr4_Sighandler_TypeTests[] = {
  7158. { TT_EGREP, zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
  7159. /*
  7160. * Fix Command Arguments for Svr4_Sighandler_Type
  7161. */
  7162. static const char* apzSvr4_Sighandler_TypePatch[] = {
  7163. "format",
  7164. "void (*)(int)",
  7165. (char*)NULL };
  7166. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7167. *
  7168. * Description of Svr4_Undeclared_Getrnge fix
  7169. */
  7170. tSCC zSvr4_Undeclared_GetrngeName[] =
  7171. "svr4_undeclared_getrnge";
  7172. /*
  7173. * File name selection pattern
  7174. */
  7175. tSCC zSvr4_Undeclared_GetrngeList[] =
  7176. "regexp.h\0";
  7177. /*
  7178. * Machine/OS name selection pattern
  7179. */
  7180. #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
  7181. /*
  7182. * content selection pattern - do fix if pattern found
  7183. */
  7184. tSCC zSvr4_Undeclared_GetrngeSelect0[] =
  7185. "getrnge";
  7186. /*
  7187. * content bypass pattern - skip fix if pattern found
  7188. */
  7189. tSCC zSvr4_Undeclared_GetrngeBypass0[] =
  7190. "static void getrnge";
  7191. #define SVR4_UNDECLARED_GETRNGE_TEST_CT 2
  7192. static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
  7193. { TT_NEGREP, zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
  7194. { TT_EGREP, zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
  7195. /*
  7196. * Fix Command Arguments for Svr4_Undeclared_Getrnge
  7197. */
  7198. static const char* apzSvr4_Undeclared_GetrngePatch[] = {
  7199. "format",
  7200. "%0\n\
  7201. static int getrnge ();",
  7202. "^static int[ \t]+size;",
  7203. (char*)NULL };
  7204. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7205. *
  7206. * Description of Sysv68_String fix
  7207. */
  7208. tSCC zSysv68_StringName[] =
  7209. "sysv68_string";
  7210. /*
  7211. * File name selection pattern
  7212. */
  7213. tSCC zSysv68_StringList[] =
  7214. "testing.h\0string.h\0";
  7215. /*
  7216. * Machine/OS name selection pattern
  7217. */
  7218. #define apzSysv68_StringMachs (const char**)NULL
  7219. /*
  7220. * content bypass pattern - skip fix if pattern found
  7221. */
  7222. tSCC zSysv68_StringBypass0[] =
  7223. "_CLASSIC_ANSI_TYPES";
  7224. #define SYSV68_STRING_TEST_CT 1
  7225. static tTestDesc aSysv68_StringTests[] = {
  7226. { TT_NEGREP, zSysv68_StringBypass0, (regex_t*)NULL }, };
  7227. /*
  7228. * Fix Command Arguments for Sysv68_String
  7229. */
  7230. static const char* apzSysv68_StringPatch[] = { sed_cmd_z,
  7231. "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
  7232. "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
  7233. "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
  7234. "-e", "/^extern char$/N",
  7235. "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
  7236. "-e", "/^extern int$/N",
  7237. "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
  7238. "-e", "/^\tstrncmp(),$/N",
  7239. "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
  7240. extern unsigned int\\\n\
  7241. \\2/",
  7242. (char*)NULL };
  7243. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7244. *
  7245. * Description of Sysz_Stdlib_For_Sun fix
  7246. */
  7247. tSCC zSysz_Stdlib_For_SunName[] =
  7248. "sysz_stdlib_for_sun";
  7249. /*
  7250. * File name selection pattern
  7251. */
  7252. tSCC zSysz_Stdlib_For_SunList[] =
  7253. "stdlib.h\0";
  7254. /*
  7255. * Machine/OS name selection pattern
  7256. */
  7257. #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
  7258. /*
  7259. * content selection pattern - do fix if pattern found
  7260. */
  7261. tSCC zSysz_Stdlib_For_SunSelect0[] =
  7262. "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
  7263. /*
  7264. * content bypass pattern - skip fix if pattern found
  7265. */
  7266. tSCC zSysz_Stdlib_For_SunBypass0[] =
  7267. "_CLASSIC_ANSI_TYPES";
  7268. #define SYSZ_STDLIB_FOR_SUN_TEST_CT 2
  7269. static tTestDesc aSysz_Stdlib_For_SunTests[] = {
  7270. { TT_NEGREP, zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
  7271. { TT_EGREP, zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
  7272. /*
  7273. * Fix Command Arguments for Sysz_Stdlib_For_Sun
  7274. */
  7275. static const char* apzSysz_Stdlib_For_SunPatch[] = {
  7276. "format",
  7277. "void *\t%1(",
  7278. (char*)NULL };
  7279. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7280. *
  7281. * Description of Thread_Keyword fix
  7282. */
  7283. tSCC zThread_KeywordName[] =
  7284. "thread_keyword";
  7285. /*
  7286. * File name selection pattern
  7287. */
  7288. tSCC zThread_KeywordList[] =
  7289. "pthread.h\0bits/sigthread.h\0*/bits/sigthread.h\0";
  7290. /*
  7291. * Machine/OS name selection pattern
  7292. */
  7293. #define apzThread_KeywordMachs (const char**)NULL
  7294. /*
  7295. * content selection pattern - do fix if pattern found
  7296. */
  7297. tSCC zThread_KeywordSelect0[] =
  7298. "([* ])__thread([,)])";
  7299. #define THREAD_KEYWORD_TEST_CT 1
  7300. static tTestDesc aThread_KeywordTests[] = {
  7301. { TT_EGREP, zThread_KeywordSelect0, (regex_t*)NULL }, };
  7302. /*
  7303. * Fix Command Arguments for Thread_Keyword
  7304. */
  7305. static const char* apzThread_KeywordPatch[] = {
  7306. "format",
  7307. "%1__thr%2",
  7308. (char*)NULL };
  7309. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7310. *
  7311. * Description of Tinfo_Cplusplus fix
  7312. */
  7313. tSCC zTinfo_CplusplusName[] =
  7314. "tinfo_cplusplus";
  7315. /*
  7316. * File name selection pattern
  7317. */
  7318. tSCC zTinfo_CplusplusList[] =
  7319. "tinfo.h\0";
  7320. /*
  7321. * Machine/OS name selection pattern
  7322. */
  7323. #define apzTinfo_CplusplusMachs (const char**)NULL
  7324. /*
  7325. * content selection pattern - do fix if pattern found
  7326. */
  7327. tSCC zTinfo_CplusplusSelect0[] =
  7328. "[ \t]_cplusplus";
  7329. #define TINFO_CPLUSPLUS_TEST_CT 1
  7330. static tTestDesc aTinfo_CplusplusTests[] = {
  7331. { TT_EGREP, zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
  7332. /*
  7333. * Fix Command Arguments for Tinfo_Cplusplus
  7334. */
  7335. static const char* apzTinfo_CplusplusPatch[] = {
  7336. "format",
  7337. " __cplusplus",
  7338. (char*)NULL };
  7339. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7340. *
  7341. * Description of Ultrix_Const fix
  7342. */
  7343. tSCC zUltrix_ConstName[] =
  7344. "ultrix_const";
  7345. /*
  7346. * File name selection pattern
  7347. */
  7348. tSCC zUltrix_ConstList[] =
  7349. "stdio.h\0";
  7350. /*
  7351. * Machine/OS name selection pattern
  7352. */
  7353. #define apzUltrix_ConstMachs (const char**)NULL
  7354. /*
  7355. * content selection pattern - do fix if pattern found
  7356. */
  7357. tSCC zUltrix_ConstSelect0[] =
  7358. "perror\\( char \\*";
  7359. #define ULTRIX_CONST_TEST_CT 1
  7360. static tTestDesc aUltrix_ConstTests[] = {
  7361. { TT_EGREP, zUltrix_ConstSelect0, (regex_t*)NULL }, };
  7362. /*
  7363. * Fix Command Arguments for Ultrix_Const
  7364. */
  7365. static const char* apzUltrix_ConstPatch[] = {
  7366. "format",
  7367. "%1 const %3 *__",
  7368. "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
  7369. (char*)NULL };
  7370. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7371. *
  7372. * Description of Ultrix_Const2 fix
  7373. */
  7374. tSCC zUltrix_Const2Name[] =
  7375. "ultrix_const2";
  7376. /*
  7377. * File name selection pattern
  7378. */
  7379. tSCC zUltrix_Const2List[] =
  7380. "stdio.h\0";
  7381. /*
  7382. * Machine/OS name selection pattern
  7383. */
  7384. #define apzUltrix_Const2Machs (const char**)NULL
  7385. /*
  7386. * content selection pattern - do fix if pattern found
  7387. */
  7388. tSCC zUltrix_Const2Select0[] =
  7389. "\\*fopen\\( char \\*";
  7390. #define ULTRIX_CONST2_TEST_CT 1
  7391. static tTestDesc aUltrix_Const2Tests[] = {
  7392. { TT_EGREP, zUltrix_Const2Select0, (regex_t*)NULL }, };
  7393. /*
  7394. * Fix Command Arguments for Ultrix_Const2
  7395. */
  7396. static const char* apzUltrix_Const2Patch[] = {
  7397. "format",
  7398. "%1( const char *%3, const char *",
  7399. "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
  7400. (char*)NULL };
  7401. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7402. *
  7403. * Description of Va_I960_Macro fix
  7404. */
  7405. tSCC zVa_I960_MacroName[] =
  7406. "va_i960_macro";
  7407. /*
  7408. * File name selection pattern
  7409. */
  7410. tSCC zVa_I960_MacroList[] =
  7411. "arch/i960/archI960.h\0";
  7412. /*
  7413. * Machine/OS name selection pattern
  7414. */
  7415. #define apzVa_I960_MacroMachs (const char**)NULL
  7416. /*
  7417. * content selection pattern - do fix if pattern found
  7418. */
  7419. tSCC zVa_I960_MacroSelect0[] =
  7420. "__(vsiz|vali|vpad|alignof__)";
  7421. #define VA_I960_MACRO_TEST_CT 1
  7422. static tTestDesc aVa_I960_MacroTests[] = {
  7423. { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, };
  7424. /*
  7425. * Fix Command Arguments for Va_I960_Macro
  7426. */
  7427. static const char* apzVa_I960_MacroPatch[] = {
  7428. "format",
  7429. "__vx%1",
  7430. (char*)NULL };
  7431. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7432. *
  7433. * Description of Vms_Add_Missing_Braces fix
  7434. */
  7435. tSCC zVms_Add_Missing_BracesName[] =
  7436. "vms_add_missing_braces";
  7437. /*
  7438. * File name selection pattern
  7439. */
  7440. tSCC zVms_Add_Missing_BracesList[] =
  7441. "rtldef/signal.h\0";
  7442. /*
  7443. * Machine/OS name selection pattern
  7444. */
  7445. tSCC* apzVms_Add_Missing_BracesMachs[] = {
  7446. "*-*-*vms*",
  7447. (const char*)NULL };
  7448. /*
  7449. * content selection pattern - do fix if pattern found
  7450. */
  7451. tSCC zVms_Add_Missing_BracesSelect0[] =
  7452. "(_SIG_[A-Z]+_SET[ \t]+= \\{)(0x[0F]+, 0x[0F]+)";
  7453. #define VMS_ADD_MISSING_BRACES_TEST_CT 1
  7454. static tTestDesc aVms_Add_Missing_BracesTests[] = {
  7455. { TT_EGREP, zVms_Add_Missing_BracesSelect0, (regex_t*)NULL }, };
  7456. /*
  7457. * Fix Command Arguments for Vms_Add_Missing_Braces
  7458. */
  7459. static const char* apzVms_Add_Missing_BracesPatch[] = {
  7460. "format",
  7461. "%1 {%2} ",
  7462. (char*)NULL };
  7463. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7464. *
  7465. * Description of Vms_Decc_Builtin fix
  7466. */
  7467. tSCC zVms_Decc_BuiltinName[] =
  7468. "vms_decc_builtin";
  7469. /*
  7470. * File name selection pattern
  7471. */
  7472. tSCC zVms_Decc_BuiltinList[] =
  7473. "rtldef/string.h\0rtldef/time.h\0rtldef/strings.h\0rtldef/socket.h\0";
  7474. /*
  7475. * Machine/OS name selection pattern
  7476. */
  7477. tSCC* apzVms_Decc_BuiltinMachs[] = {
  7478. "*-*-*vms*",
  7479. (const char*)NULL };
  7480. /*
  7481. * content selection pattern - do fix if pattern found
  7482. */
  7483. tSCC zVms_Decc_BuiltinSelect0[] =
  7484. "(__MEMSET|__MEMMOVE|__MEMCPY|__STRLEN|__STRCPY)";
  7485. #define VMS_DECC_BUILTIN_TEST_CT 1
  7486. static tTestDesc aVms_Decc_BuiltinTests[] = {
  7487. { TT_EGREP, zVms_Decc_BuiltinSelect0, (regex_t*)NULL }, };
  7488. /*
  7489. * Fix Command Arguments for Vms_Decc_Builtin
  7490. */
  7491. static const char* apzVms_Decc_BuiltinPatch[] = { sed_cmd_z,
  7492. "-e", "s@__MEMSET@memset@",
  7493. "-e", "s@__MEMMOVE@memmove@",
  7494. "-e", "s@__MEMCPY@memcpy@",
  7495. "-e", "s@__STRLEN@strlen@",
  7496. "-e", "s@__STRCPY@strcpy@",
  7497. (char*)NULL };
  7498. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7499. *
  7500. * Description of Vms_Define_Can_Use_Extern_Prefix fix
  7501. */
  7502. tSCC zVms_Define_Can_Use_Extern_PrefixName[] =
  7503. "vms_define_can_use_extern_prefix";
  7504. /*
  7505. * File name selection pattern
  7506. */
  7507. tSCC zVms_Define_Can_Use_Extern_PrefixList[] =
  7508. "rtldef/decc$types.h\0";
  7509. /*
  7510. * Machine/OS name selection pattern
  7511. */
  7512. tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = {
  7513. "*-*-*vms*",
  7514. (const char*)NULL };
  7515. /*
  7516. * content selection pattern - do fix if pattern found
  7517. */
  7518. tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] =
  7519. "#[ \t]*else\n\
  7520. #[ \t]*if defined\\(__DECCXX\\)\n\
  7521. #[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n";
  7522. #define VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT 1
  7523. static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = {
  7524. { TT_EGREP, zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, };
  7525. /*
  7526. * Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix
  7527. */
  7528. static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = {
  7529. "format",
  7530. "%0# elif defined (__GNUC__)\n\
  7531. #\tdefine __CAN_USE_EXTERN_PREFIX 1\n",
  7532. (char*)NULL };
  7533. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7534. *
  7535. * Description of Vms_Disable_Decc_String_Builtins fix
  7536. */
  7537. tSCC zVms_Disable_Decc_String_BuiltinsName[] =
  7538. "vms_disable_decc_string_builtins";
  7539. /*
  7540. * File name selection pattern
  7541. */
  7542. tSCC zVms_Disable_Decc_String_BuiltinsList[] =
  7543. "rtldef/string.h\0";
  7544. /*
  7545. * Machine/OS name selection pattern
  7546. */
  7547. tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = {
  7548. "*-*-*vms*",
  7549. (const char*)NULL };
  7550. /*
  7551. * content selection pattern - do fix if pattern found
  7552. */
  7553. tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] =
  7554. "#if !defined\\(__VAX\\)\n";
  7555. #define VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT 1
  7556. static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = {
  7557. { TT_EGREP, zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, };
  7558. /*
  7559. * Fix Command Arguments for Vms_Disable_Decc_String_Builtins
  7560. */
  7561. static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = {
  7562. "format",
  7563. "#if !defined(__VAX) && !defined(__GNUC__)\n",
  7564. (char*)NULL };
  7565. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7566. *
  7567. * Description of Vms_Do_Not_Redeclare_Hostalias fix
  7568. */
  7569. tSCC zVms_Do_Not_Redeclare_HostaliasName[] =
  7570. "vms_do_not_redeclare_hostalias";
  7571. /*
  7572. * File name selection pattern
  7573. */
  7574. tSCC zVms_Do_Not_Redeclare_HostaliasList[] =
  7575. "rtldef/resolv.h\0";
  7576. /*
  7577. * Machine/OS name selection pattern
  7578. */
  7579. tSCC* apzVms_Do_Not_Redeclare_HostaliasMachs[] = {
  7580. "*-*-*vms*",
  7581. (const char*)NULL };
  7582. /*
  7583. * content selection pattern - do fix if pattern found
  7584. */
  7585. tSCC zVms_Do_Not_Redeclare_HostaliasSelect0[] =
  7586. "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n\
  7587. (__char_ptr32[ \t]+hostalias \\(const char \\*\\);)";
  7588. #define VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT 1
  7589. static tTestDesc aVms_Do_Not_Redeclare_HostaliasTests[] = {
  7590. { TT_EGREP, zVms_Do_Not_Redeclare_HostaliasSelect0, (regex_t*)NULL }, };
  7591. /*
  7592. * Fix Command Arguments for Vms_Do_Not_Redeclare_Hostalias
  7593. */
  7594. static const char* apzVms_Do_Not_Redeclare_HostaliasPatch[] = {
  7595. "format",
  7596. "%1\n\
  7597. /* %2 */",
  7598. (char*)NULL };
  7599. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7600. *
  7601. * Description of Vms_Forward_Declare_Struct fix
  7602. */
  7603. tSCC zVms_Forward_Declare_StructName[] =
  7604. "vms_forward_declare_struct";
  7605. /*
  7606. * File name selection pattern
  7607. */
  7608. tSCC zVms_Forward_Declare_StructList[] =
  7609. "rtldef/if.h\0";
  7610. /*
  7611. * Machine/OS name selection pattern
  7612. */
  7613. tSCC* apzVms_Forward_Declare_StructMachs[] = {
  7614. "*-*-*vms*",
  7615. (const char*)NULL };
  7616. /*
  7617. * content selection pattern - do fix if pattern found
  7618. */
  7619. tSCC zVms_Forward_Declare_StructSelect0[] =
  7620. "(/\\* forward decls for C\\+\\+ \\*/\n\
  7621. )#ifdef __cplusplus\n";
  7622. #define VMS_FORWARD_DECLARE_STRUCT_TEST_CT 1
  7623. static tTestDesc aVms_Forward_Declare_StructTests[] = {
  7624. { TT_EGREP, zVms_Forward_Declare_StructSelect0, (regex_t*)NULL }, };
  7625. /*
  7626. * Fix Command Arguments for Vms_Forward_Declare_Struct
  7627. */
  7628. static const char* apzVms_Forward_Declare_StructPatch[] = {
  7629. "format",
  7630. "%1#if defined (__cplusplus) || defined (__GNUC__)\n",
  7631. (char*)NULL };
  7632. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7633. *
  7634. * Description of Vms_No_64bit_Getopt fix
  7635. */
  7636. tSCC zVms_No_64bit_GetoptName[] =
  7637. "vms_no_64bit_getopt";
  7638. /*
  7639. * File name selection pattern
  7640. */
  7641. tSCC zVms_No_64bit_GetoptList[] =
  7642. "rtldef/stdio.h\0rtldef/unistd.h\0";
  7643. /*
  7644. * Machine/OS name selection pattern
  7645. */
  7646. tSCC* apzVms_No_64bit_GetoptMachs[] = {
  7647. "*-*-*vms*",
  7648. (const char*)NULL };
  7649. /*
  7650. * content selection pattern - do fix if pattern found
  7651. */
  7652. tSCC zVms_No_64bit_GetoptSelect0[] =
  7653. "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n";
  7654. #define VMS_NO_64BIT_GETOPT_TEST_CT 1
  7655. static tTestDesc aVms_No_64bit_GetoptTests[] = {
  7656. { TT_EGREP, zVms_No_64bit_GetoptSelect0, (regex_t*)NULL }, };
  7657. /*
  7658. * Fix Command Arguments for Vms_No_64bit_Getopt
  7659. */
  7660. static const char* apzVms_No_64bit_GetoptPatch[] = {
  7661. "format",
  7662. "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only. */\n\
  7663. %0#endif\n",
  7664. (char*)NULL };
  7665. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7666. *
  7667. * Description of Vms_Use_Fast_Setjmp fix
  7668. */
  7669. tSCC zVms_Use_Fast_SetjmpName[] =
  7670. "vms_use_fast_setjmp";
  7671. /*
  7672. * File name selection pattern
  7673. */
  7674. tSCC zVms_Use_Fast_SetjmpList[] =
  7675. "rtldef/setjmp.h\0";
  7676. /*
  7677. * Machine/OS name selection pattern
  7678. */
  7679. tSCC* apzVms_Use_Fast_SetjmpMachs[] = {
  7680. "*-*-*vms*",
  7681. (const char*)NULL };
  7682. /*
  7683. * content selection pattern - do fix if pattern found
  7684. */
  7685. tSCC zVms_Use_Fast_SetjmpSelect0[] =
  7686. "(#[ \t]*if[ \t]*defined\\(__FAST_SETJMP\\)[ \t]*\\|\\|)";
  7687. #define VMS_USE_FAST_SETJMP_TEST_CT 1
  7688. static tTestDesc aVms_Use_Fast_SetjmpTests[] = {
  7689. { TT_EGREP, zVms_Use_Fast_SetjmpSelect0, (regex_t*)NULL }, };
  7690. /*
  7691. * Fix Command Arguments for Vms_Use_Fast_Setjmp
  7692. */
  7693. static const char* apzVms_Use_Fast_SetjmpPatch[] = {
  7694. "format",
  7695. "%0 defined (__GNUC__) ||",
  7696. (char*)NULL };
  7697. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7698. *
  7699. * Description of Vms_Use_Pragma_Extern_Model fix
  7700. */
  7701. tSCC zVms_Use_Pragma_Extern_ModelName[] =
  7702. "vms_use_pragma_extern_model";
  7703. /*
  7704. * File name selection pattern
  7705. */
  7706. #define zVms_Use_Pragma_Extern_ModelList (char*)NULL
  7707. /*
  7708. * Machine/OS name selection pattern
  7709. */
  7710. tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = {
  7711. "*-*-*vms*",
  7712. (const char*)NULL };
  7713. /*
  7714. * content selection pattern - do fix if pattern found
  7715. */
  7716. tSCC zVms_Use_Pragma_Extern_ModelSelect0[] =
  7717. "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\
  7718. # pragma extern_model __save\n";
  7719. #define VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT 1
  7720. static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = {
  7721. { TT_EGREP, zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, };
  7722. /*
  7723. * Fix Command Arguments for Vms_Use_Pragma_Extern_Model
  7724. */
  7725. static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = {
  7726. "format",
  7727. "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\
  7728. # pragma extern_model __save\n",
  7729. (char*)NULL };
  7730. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7731. *
  7732. * Description of Vms_Use_Quoted_Include fix
  7733. */
  7734. tSCC zVms_Use_Quoted_IncludeName[] =
  7735. "vms_use_quoted_include";
  7736. /*
  7737. * File name selection pattern
  7738. */
  7739. tSCC zVms_Use_Quoted_IncludeList[] =
  7740. "rtldef/wait.h\0starlet_c/pthread.h\0";
  7741. /*
  7742. * Machine/OS name selection pattern
  7743. */
  7744. tSCC* apzVms_Use_Quoted_IncludeMachs[] = {
  7745. "*-*-*vms*",
  7746. (const char*)NULL };
  7747. /*
  7748. * content selection pattern - do fix if pattern found
  7749. */
  7750. tSCC zVms_Use_Quoted_IncludeSelect0[] =
  7751. "(#[ \t]*include[ \t]+)<(resource|builtins)\\.h>";
  7752. #define VMS_USE_QUOTED_INCLUDE_TEST_CT 1
  7753. static tTestDesc aVms_Use_Quoted_IncludeTests[] = {
  7754. { TT_EGREP, zVms_Use_Quoted_IncludeSelect0, (regex_t*)NULL }, };
  7755. /*
  7756. * Fix Command Arguments for Vms_Use_Quoted_Include
  7757. */
  7758. static const char* apzVms_Use_Quoted_IncludePatch[] = {
  7759. "format",
  7760. "%1<sys/%2.h>",
  7761. (char*)NULL };
  7762. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7763. *
  7764. * Description of Void_Null fix
  7765. */
  7766. tSCC zVoid_NullName[] =
  7767. "void_null";
  7768. /*
  7769. * File name selection pattern
  7770. */
  7771. tSCC zVoid_NullList[] =
  7772. "curses.h\0dbm.h\0locale.h\0stdio.h\0stdlib.h\0string.h\0time.h\0unistd.h\0sys/dir.h\0sys/param.h\0sys/types.h\0";
  7773. /*
  7774. * Machine/OS name selection pattern
  7775. */
  7776. #define apzVoid_NullMachs (const char**)NULL
  7777. /*
  7778. * content selection pattern - do fix if pattern found
  7779. */
  7780. tSCC zVoid_NullSelect0[] =
  7781. "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
  7782. /*
  7783. * content bypass pattern - skip fix if pattern found
  7784. */
  7785. tSCC zVoid_NullBypass0[] =
  7786. "__cplusplus";
  7787. tSCC zVoid_NullBypass1[] =
  7788. "__null";
  7789. #define VOID_NULL_TEST_CT 3
  7790. static tTestDesc aVoid_NullTests[] = {
  7791. { TT_NEGREP, zVoid_NullBypass0, (regex_t*)NULL },
  7792. { TT_NEGREP, zVoid_NullBypass1, (regex_t*)NULL },
  7793. { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, };
  7794. /*
  7795. * Fix Command Arguments for Void_Null
  7796. */
  7797. static const char* apzVoid_NullPatch[] = {
  7798. "format",
  7799. "#ifndef NULL\n\
  7800. #ifdef __cplusplus\n\
  7801. #ifdef __GNUG__\n\
  7802. #define NULL __null\n\
  7803. #else /* ! __GNUG__ */\n\
  7804. #define NULL 0L\n\
  7805. #endif /* __GNUG__ */\n\
  7806. #else /* ! __cplusplus */\n\
  7807. #define NULL ((void *)0)\n\
  7808. #endif /* __cplusplus */\n\
  7809. #endif /* !NULL */",
  7810. (char*)NULL };
  7811. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7812. *
  7813. * Description of Vxworks_Gcc_Problem fix
  7814. */
  7815. tSCC zVxworks_Gcc_ProblemName[] =
  7816. "vxworks_gcc_problem";
  7817. /*
  7818. * File name selection pattern
  7819. */
  7820. tSCC zVxworks_Gcc_ProblemList[] =
  7821. "types/vxTypesBase.h\0";
  7822. /*
  7823. * Machine/OS name selection pattern
  7824. */
  7825. #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
  7826. /*
  7827. * content selection pattern - do fix if pattern found
  7828. */
  7829. tSCC zVxworks_Gcc_ProblemSelect0[] =
  7830. "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
  7831. #define VXWORKS_GCC_PROBLEM_TEST_CT 1
  7832. static tTestDesc aVxworks_Gcc_ProblemTests[] = {
  7833. { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
  7834. /*
  7835. * Fix Command Arguments for Vxworks_Gcc_Problem
  7836. */
  7837. static const char* apzVxworks_Gcc_ProblemPatch[] = { sed_cmd_z,
  7838. "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
  7839. "-e", "/[ \t]size_t/i\\\n\
  7840. #ifndef _GCC_SIZE_T\\\n\
  7841. #define _GCC_SIZE_T\n",
  7842. "-e", "/[ \t]size_t/a\\\n\
  7843. #endif\n",
  7844. "-e", "/[ \t]ptrdiff_t/i\\\n\
  7845. #ifndef _GCC_PTRDIFF_T\\\n\
  7846. #define _GCC_PTRDIFF_T\n",
  7847. "-e", "/[ \t]ptrdiff_t/a\\\n\
  7848. #endif\n",
  7849. "-e", "/[ \t]wchar_t/i\\\n\
  7850. #ifndef _GCC_WCHAR_T\\\n\
  7851. #define _GCC_WCHAR_T\n",
  7852. "-e", "/[ \t]wchar_t/a\\\n\
  7853. #endif\n",
  7854. (char*)NULL };
  7855. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7856. *
  7857. * Description of Vxworks_Ioctl_Macro fix
  7858. */
  7859. tSCC zVxworks_Ioctl_MacroName[] =
  7860. "vxworks_ioctl_macro";
  7861. /*
  7862. * File name selection pattern
  7863. */
  7864. tSCC zVxworks_Ioctl_MacroList[] =
  7865. "ioLib.h\0";
  7866. /*
  7867. * Machine/OS name selection pattern
  7868. */
  7869. tSCC* apzVxworks_Ioctl_MacroMachs[] = {
  7870. "*-*-vxworks*",
  7871. (const char*)NULL };
  7872. #define VXWORKS_IOCTL_MACRO_TEST_CT 0
  7873. #define aVxworks_Ioctl_MacroTests (tTestDesc*)NULL
  7874. /*
  7875. * Fix Command Arguments for Vxworks_Ioctl_Macro
  7876. */
  7877. static const char* apzVxworks_Ioctl_MacroPatch[] = {
  7878. "format",
  7879. "%0\n\
  7880. #define ioctl(fd, func, arg) (ioctl)(fd, func, (int)(arg))\n",
  7881. "extern[\t ]+int[\t ]+ioctl[\t ]*\\([\t ,[:alnum:]]*\\);",
  7882. (char*)NULL };
  7883. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7884. *
  7885. * Description of Vxworks_Mkdir_Macro fix
  7886. */
  7887. tSCC zVxworks_Mkdir_MacroName[] =
  7888. "vxworks_mkdir_macro";
  7889. /*
  7890. * File name selection pattern
  7891. */
  7892. tSCC zVxworks_Mkdir_MacroList[] =
  7893. "sys/stat.h\0";
  7894. /*
  7895. * Machine/OS name selection pattern
  7896. */
  7897. tSCC* apzVxworks_Mkdir_MacroMachs[] = {
  7898. "*-*-vxworks*",
  7899. (const char*)NULL };
  7900. #define VXWORKS_MKDIR_MACRO_TEST_CT 0
  7901. #define aVxworks_Mkdir_MacroTests (tTestDesc*)NULL
  7902. /*
  7903. * Fix Command Arguments for Vxworks_Mkdir_Macro
  7904. */
  7905. static const char* apzVxworks_Mkdir_MacroPatch[] = {
  7906. "format",
  7907. "%0\n\
  7908. #define mkdir(dir, ...) ((void)0, ##__VA_ARGS__, (mkdir)(dir))\n",
  7909. "extern[\t ]+STATUS[\t ]+mkdir[\t ]*\\([\t ]*const[\t ]+char[\t ]*\\*[\t ]*(|[_[:alpha:]][_[:alnum:]]*)\\)[\t ]*;",
  7910. (char*)NULL };
  7911. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7912. *
  7913. * Description of Vxworks_Needs_Vxtypes fix
  7914. */
  7915. tSCC zVxworks_Needs_VxtypesName[] =
  7916. "vxworks_needs_vxtypes";
  7917. /*
  7918. * File name selection pattern
  7919. */
  7920. tSCC zVxworks_Needs_VxtypesList[] =
  7921. "time.h\0";
  7922. /*
  7923. * Machine/OS name selection pattern
  7924. */
  7925. #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
  7926. /*
  7927. * content selection pattern - do fix if pattern found
  7928. */
  7929. tSCC zVxworks_Needs_VxtypesSelect0[] =
  7930. "uint_t([ \t]+_clocks_per_sec)";
  7931. #define VXWORKS_NEEDS_VXTYPES_TEST_CT 1
  7932. static tTestDesc aVxworks_Needs_VxtypesTests[] = {
  7933. { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
  7934. /*
  7935. * Fix Command Arguments for Vxworks_Needs_Vxtypes
  7936. */
  7937. static const char* apzVxworks_Needs_VxtypesPatch[] = {
  7938. "format",
  7939. "unsigned int%1",
  7940. (char*)NULL };
  7941. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7942. *
  7943. * Description of Vxworks_Needs_Vxworks fix
  7944. */
  7945. tSCC zVxworks_Needs_VxworksName[] =
  7946. "vxworks_needs_vxworks";
  7947. /*
  7948. * File name selection pattern
  7949. */
  7950. tSCC zVxworks_Needs_VxworksList[] =
  7951. "sys/stat.h\0";
  7952. /*
  7953. * Machine/OS name selection pattern
  7954. */
  7955. #define apzVxworks_Needs_VxworksMachs (const char**)NULL
  7956. /*
  7957. * content selection pattern - do fix if pattern found
  7958. */
  7959. tSCC zVxworks_Needs_VxworksSelect0[] =
  7960. "#[ \t]define[ \t]+__INCstath";
  7961. /*
  7962. * perform the 'test' shell command - do fix on success
  7963. */
  7964. tSCC zVxworks_Needs_VxworksTest0[] =
  7965. " -r types/vxTypesOld.h";
  7966. tSCC zVxworks_Needs_VxworksTest1[] =
  7967. " -n \"`egrep '#include' $file`\"";
  7968. tSCC zVxworks_Needs_VxworksTest2[] =
  7969. " -n \"`egrep ULONG $file`\"";
  7970. #define VXWORKS_NEEDS_VXWORKS_TEST_CT 4
  7971. static tTestDesc aVxworks_Needs_VxworksTests[] = {
  7972. { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ },
  7973. { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ },
  7974. { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ },
  7975. { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
  7976. /*
  7977. * Fix Command Arguments for Vxworks_Needs_Vxworks
  7978. */
  7979. static const char* apzVxworks_Needs_VxworksPatch[] = { sed_cmd_z,
  7980. "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
  7981. #include <types/vxTypesOld.h>\n",
  7982. (char*)NULL };
  7983. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  7984. *
  7985. * Description of Vxworks_Regs fix
  7986. */
  7987. tSCC zVxworks_RegsName[] =
  7988. "vxworks_regs";
  7989. /*
  7990. * File name selection pattern
  7991. */
  7992. #define zVxworks_RegsList (char*)NULL
  7993. /*
  7994. * Machine/OS name selection pattern
  7995. */
  7996. tSCC* apzVxworks_RegsMachs[] = {
  7997. "*-*-vxworks*",
  7998. (const char*)NULL };
  7999. /*
  8000. * content selection pattern - do fix if pattern found
  8001. */
  8002. tSCC zVxworks_RegsSelect0[] =
  8003. "#[\t ]*include[\t ]+[<\"]regs.h[>\"]";
  8004. #define VXWORKS_REGS_TEST_CT 1
  8005. static tTestDesc aVxworks_RegsTests[] = {
  8006. { TT_EGREP, zVxworks_RegsSelect0, (regex_t*)NULL }, };
  8007. /*
  8008. * Fix Command Arguments for Vxworks_Regs
  8009. */
  8010. static const char* apzVxworks_RegsPatch[] = {
  8011. "format",
  8012. "#include <arch/../regs.h>",
  8013. (char*)NULL };
  8014. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  8015. *
  8016. * Description of Vxworks_Time fix
  8017. */
  8018. tSCC zVxworks_TimeName[] =
  8019. "vxworks_time";
  8020. /*
  8021. * File name selection pattern
  8022. */
  8023. tSCC zVxworks_TimeList[] =
  8024. "time.h\0";
  8025. /*
  8026. * Machine/OS name selection pattern
  8027. */
  8028. #define apzVxworks_TimeMachs (const char**)NULL
  8029. /*
  8030. * content selection pattern - do fix if pattern found
  8031. */
  8032. tSCC zVxworks_TimeSelect0[] =
  8033. "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
  8034. /*
  8035. * perform the 'test' shell command - do fix on success
  8036. */
  8037. tSCC zVxworks_TimeTest0[] =
  8038. " -r vxWorks.h";
  8039. #define VXWORKS_TIME_TEST_CT 2
  8040. static tTestDesc aVxworks_TimeTests[] = {
  8041. { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ },
  8042. { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, };
  8043. /*
  8044. * Fix Command Arguments for Vxworks_Time
  8045. */
  8046. static const char* apzVxworks_TimePatch[] = {
  8047. "format",
  8048. "#ifndef __gcc_VOIDFUNCPTR_defined\n\
  8049. #ifdef __cplusplus\n\
  8050. typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
  8051. #else\n\
  8052. typedef void (*__gcc_VOIDFUNCPTR) ();\n\
  8053. #endif\n\
  8054. #define __gcc_VOIDFUNCPTR_defined\n\
  8055. #endif\n\
  8056. #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
  8057. (char*)NULL };
  8058. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  8059. *
  8060. * Description of Vxworks_Write_Const fix
  8061. */
  8062. tSCC zVxworks_Write_ConstName[] =
  8063. "vxworks_write_const";
  8064. /*
  8065. * File name selection pattern
  8066. */
  8067. tSCC zVxworks_Write_ConstList[] =
  8068. "ioLib.h\0";
  8069. /*
  8070. * Machine/OS name selection pattern
  8071. */
  8072. tSCC* apzVxworks_Write_ConstMachs[] = {
  8073. "*-*-vxworks*",
  8074. (const char*)NULL };
  8075. #define VXWORKS_WRITE_CONST_TEST_CT 0
  8076. #define aVxworks_Write_ConstTests (tTestDesc*)NULL
  8077. /*
  8078. * Fix Command Arguments for Vxworks_Write_Const
  8079. */
  8080. static const char* apzVxworks_Write_ConstPatch[] = {
  8081. "format",
  8082. "extern int write (int, const char*, size_t);",
  8083. "extern[\t ]+int[\t ]+write[\t ]*\\([\t ]*int[\t ]*,[\t ]*char[\t ]*\\*[\t ]*,[\t ]*size_t[\t ]*\\)[\t ]*;",
  8084. (char*)NULL };
  8085. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  8086. *
  8087. * Description of X11_Class fix
  8088. */
  8089. tSCC zX11_ClassName[] =
  8090. "x11_class";
  8091. /*
  8092. * File name selection pattern
  8093. */
  8094. tSCC zX11_ClassList[] =
  8095. "X11/ShellP.h\0";
  8096. /*
  8097. * Machine/OS name selection pattern
  8098. */
  8099. #define apzX11_ClassMachs (const char**)NULL
  8100. /*
  8101. * content selection pattern - do fix if pattern found
  8102. */
  8103. tSCC zX11_ClassSelect0[] =
  8104. "^([ \t]*char \\*)class;(.*)";
  8105. /*
  8106. * content bypass pattern - skip fix if pattern found
  8107. */
  8108. tSCC zX11_ClassBypass0[] =
  8109. "__cplusplus";
  8110. #define X11_CLASS_TEST_CT 2
  8111. static tTestDesc aX11_ClassTests[] = {
  8112. { TT_NEGREP, zX11_ClassBypass0, (regex_t*)NULL },
  8113. { TT_EGREP, zX11_ClassSelect0, (regex_t*)NULL }, };
  8114. /*
  8115. * Fix Command Arguments for X11_Class
  8116. */
  8117. static const char* apzX11_ClassPatch[] = {
  8118. "format",
  8119. "#ifdef __cplusplus\n\
  8120. %1c_class;%2\n\
  8121. #else\n\
  8122. %1class;%2\n\
  8123. #endif",
  8124. (char*)NULL };
  8125. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  8126. *
  8127. * Description of X11_Class_Usage fix
  8128. */
  8129. tSCC zX11_Class_UsageName[] =
  8130. "x11_class_usage";
  8131. /*
  8132. * File name selection pattern
  8133. */
  8134. tSCC zX11_Class_UsageList[] =
  8135. "Xm/BaseClassI.h\0";
  8136. /*
  8137. * Machine/OS name selection pattern
  8138. */
  8139. #define apzX11_Class_UsageMachs (const char**)NULL
  8140. /*
  8141. * content selection pattern - do fix if pattern found
  8142. */
  8143. tSCC zX11_Class_UsageSelect0[] =
  8144. " class\\)";
  8145. /*
  8146. * content bypass pattern - skip fix if pattern found
  8147. */
  8148. tSCC zX11_Class_UsageBypass0[] =
  8149. "__cplusplus";
  8150. #define X11_CLASS_USAGE_TEST_CT 2
  8151. static tTestDesc aX11_Class_UsageTests[] = {
  8152. { TT_NEGREP, zX11_Class_UsageBypass0, (regex_t*)NULL },
  8153. { TT_EGREP, zX11_Class_UsageSelect0, (regex_t*)NULL }, };
  8154. /*
  8155. * Fix Command Arguments for X11_Class_Usage
  8156. */
  8157. static const char* apzX11_Class_UsagePatch[] = {
  8158. "format",
  8159. " c_class)",
  8160. (char*)NULL };
  8161. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  8162. *
  8163. * Description of X11_New fix
  8164. */
  8165. tSCC zX11_NewName[] =
  8166. "x11_new";
  8167. /*
  8168. * File name selection pattern
  8169. */
  8170. tSCC zX11_NewList[] =
  8171. "Xm/Traversal.h\0";
  8172. /*
  8173. * Machine/OS name selection pattern
  8174. */
  8175. #define apzX11_NewMachs (const char**)NULL
  8176. /*
  8177. * content bypass pattern - skip fix if pattern found
  8178. */
  8179. tSCC zX11_NewBypass0[] =
  8180. "__cplusplus";
  8181. #define X11_NEW_TEST_CT 1
  8182. static tTestDesc aX11_NewTests[] = {
  8183. { TT_NEGREP, zX11_NewBypass0, (regex_t*)NULL }, };
  8184. /*
  8185. * Fix Command Arguments for X11_New
  8186. */
  8187. static const char* apzX11_NewPatch[] = { sed_cmd_z,
  8188. "-e", "/Widget\told, new;/i\\\n\
  8189. #ifdef __cplusplus\\\n\
  8190. \\\tWidget\told, c_new;\\\n\
  8191. #else\n",
  8192. "-e", "/Widget\told, new;/a\\\n\
  8193. #endif\n",
  8194. "-e", "s/Widget new,/Widget c_new,/g",
  8195. (char*)NULL };
  8196. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  8197. *
  8198. * Description of X11_Sprintf fix
  8199. */
  8200. tSCC zX11_SprintfName[] =
  8201. "x11_sprintf";
  8202. /*
  8203. * File name selection pattern
  8204. */
  8205. tSCC zX11_SprintfList[] =
  8206. "X11/Xmu.h\0X11/Xmu/Xmu.h\0";
  8207. /*
  8208. * Machine/OS name selection pattern
  8209. */
  8210. #define apzX11_SprintfMachs (const char**)NULL
  8211. /*
  8212. * content selection pattern - do fix if pattern found
  8213. */
  8214. tSCC zX11_SprintfSelect0[] =
  8215. "^extern char \\*\tsprintf\\(\\);$";
  8216. #define X11_SPRINTF_TEST_CT 1
  8217. static tTestDesc aX11_SprintfTests[] = {
  8218. { TT_EGREP, zX11_SprintfSelect0, (regex_t*)NULL }, };
  8219. /*
  8220. * Fix Command Arguments for X11_Sprintf
  8221. */
  8222. static const char* apzX11_SprintfPatch[] = {
  8223. "format",
  8224. "#ifndef __STDC__\n\
  8225. %0\n\
  8226. #endif /* !defined __STDC__ */",
  8227. (char*)NULL };
  8228. /* * * * * * * * * * * * * * * * * * * * * * * * * *
  8229. *
  8230. * List of all fixes
  8231. */
  8232. #define REGEX_COUNT 266
  8233. #define MACH_LIST_SIZE_LIMIT 187
  8234. #define FIX_COUNT 229
  8235. /*
  8236. * Enumerate the fixes
  8237. */
  8238. typedef enum {
  8239. AAB_AIX_STDIO_FIXIDX,
  8240. AAB_AIX_FCNTL_FIXIDX,
  8241. AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
  8242. AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
  8243. AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
  8244. AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
  8245. AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
  8246. AAB_SUN_MEMCPY_FIXIDX,
  8247. AAB_VXWORKS_ASSERT_FIXIDX,
  8248. AAB_VXWORKS_REGS_VXTYPES_FIXIDX,
  8249. AAB_VXWORKS_STDINT_FIXIDX,
  8250. AAB_VXWORKS_UNISTD_FIXIDX,
  8251. AIX_ASSERT_FIXIDX,
  8252. AIX_COMPLEX_FIXIDX,
  8253. AIX_EXTERNC_FIXIDX,
  8254. AIX_EXTERNCPP1_FIXIDX,
  8255. AIX_EXTERNCPP2_FIXIDX,
  8256. AIX_MALLOC_FIXIDX,
  8257. AIX_NET_IF_ARP_FIXIDX,
  8258. AIX_NULL_FIXIDX,
  8259. AIX_ONCE_INIT_1_FIXIDX,
  8260. AIX_ONCE_INIT_2_FIXIDX,
  8261. AIX_MUTEX_INITIALIZER_1_FIXIDX,
  8262. AIX_COND_INITIALIZER_1_FIXIDX,
  8263. AIX_RWLOCK_INITIALIZER_1_FIXIDX,
  8264. AIX_PTHREAD_FIXIDX,
  8265. AIX_STDINT_1_FIXIDX,
  8266. AIX_STDINT_2_FIXIDX,
  8267. AIX_STDINT_3_FIXIDX,
  8268. AIX_STDINT_4_FIXIDX,
  8269. AIX_STDINT_5_FIXIDX,
  8270. AIX_STRTOF_CONST_FIXIDX,
  8271. AIX_SYSMACHINE_FIXIDX,
  8272. AIX_SYSWAIT_2_FIXIDX,
  8273. AIX_VOLATILE_FIXIDX,
  8274. ALPHA___ASSERT_FIXIDX,
  8275. ALPHA_ASSERT_FIXIDX,
  8276. ALPHA_GETOPT_FIXIDX,
  8277. ALPHA_IF_SEMICOLON_FIXIDX,
  8278. ALPHA_PARENS_FIXIDX,
  8279. ALPHA_SBRK_FIXIDX,
  8280. AVOID_BOOL_DEFINE_FIXIDX,
  8281. AVOID_BOOL_TYPE_FIXIDX,
  8282. AVOID_WCHAR_T_TYPE_FIXIDX,
  8283. BAD_STRUCT_TERM_FIXIDX,
  8284. BADQUOTE_FIXIDX,
  8285. BROKEN_ASSERT_STDIO_FIXIDX,
  8286. BROKEN_ASSERT_STDLIB_FIXIDX,
  8287. BROKEN_CABS_FIXIDX,
  8288. BROKEN_NAN_FIXIDX,
  8289. BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
  8290. CTRL_QUOTES_DEF_FIXIDX,
  8291. CTRL_QUOTES_USE_FIXIDX,
  8292. CXX_UNREADY_FIXIDX,
  8293. DARWIN_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
  8294. DARWIN_EXTERNC_FIXIDX,
  8295. DARWIN_GCC4_BREAKAGE_FIXIDX,
  8296. DARWIN_PRIVATE_EXTERN_FIXIDX,
  8297. DARWIN_STDINT_1_FIXIDX,
  8298. DARWIN_STDINT_2_FIXIDX,
  8299. DARWIN_STDINT_3_FIXIDX,
  8300. DARWIN_STDINT_4_FIXIDX,
  8301. DARWIN_STDINT_5_FIXIDX,
  8302. DARWIN_STDINT_6_FIXIDX,
  8303. DARWIN_STDINT_7_FIXIDX,
  8304. DEC_INTERN_ASM_FIXIDX,
  8305. DJGPP_WCHAR_H_FIXIDX,
  8306. ECD_CURSOR_FIXIDX,
  8307. FERAISEEXCEPT_NOSSE_DIVBYZERO_FIXIDX,
  8308. FERAISEEXCEPT_NOSSE_INVALID_FIXIDX,
  8309. FREEBSD_GCC3_BREAKAGE_FIXIDX,
  8310. FREEBSD_GCC4_BREAKAGE_FIXIDX,
  8311. GLIBC_C99_INLINE_1_FIXIDX,
  8312. GLIBC_C99_INLINE_1A_FIXIDX,
  8313. GLIBC_C99_INLINE_2_FIXIDX,
  8314. GLIBC_C99_INLINE_3_FIXIDX,
  8315. GLIBC_C99_INLINE_4_FIXIDX,
  8316. GLIBC_MUTEX_INIT_FIXIDX,
  8317. GLIBC_STDINT_FIXIDX,
  8318. GLIBC_STRNCPY_FIXIDX,
  8319. GLIBC_TGMATH_FIXIDX,
  8320. GNU_TYPES_FIXIDX,
  8321. HP_INLINE_FIXIDX,
  8322. HP_SYSFILE_FIXIDX,
  8323. HPPA_HPUX_FP_MACROS_FIXIDX,
  8324. HPUX10_CPP_POW_INLINE_FIXIDX,
  8325. HPUX11_CPP_POW_INLINE_FIXIDX,
  8326. HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
  8327. HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
  8328. HPUX10_STDIO_DECLARATIONS_FIXIDX,
  8329. HPUX11_ABS_FIXIDX,
  8330. HPUX11_LWP_RWLOCK_VALID_FIXIDX,
  8331. HPUX11_EXTERN_SENDFILE_FIXIDX,
  8332. HPUX11_EXTERN_SENDPATH_FIXIDX,
  8333. HPUX11_FABSF_FIXIDX,
  8334. HPUX11_PTHREAD_CONST_FIXIDX,
  8335. HPUX11_SIZE_T_FIXIDX,
  8336. HPUX11_SNPRINTF_FIXIDX,
  8337. HPUX11_VSNPRINTF_FIXIDX,
  8338. HPUX8_BOGUS_INLINES_FIXIDX,
  8339. HPUX_C99_INTPTR_FIXIDX,
  8340. HPUX_C99_INTTYPES_FIXIDX,
  8341. HPUX_C99_INTTYPES2_FIXIDX,
  8342. HPUX_CTYPE_MACROS_FIXIDX,
  8343. HPUX_EXTERN_ERRNO_FIXIDX,
  8344. HPUX_HTONL_FIXIDX,
  8345. HPUX_IMAGINARY_I_FIXIDX,
  8346. HPUX_INTTYPE_INT8_T_FIXIDX,
  8347. HPUX_LONG_DOUBLE_FIXIDX,
  8348. HPUX_LONG_DOUBLE_2_FIXIDX,
  8349. HPUX_PTHREAD_INITIALIZERS_FIXIDX,
  8350. HPUX_SPU_INFO_FIXIDX,
  8351. HPUX_STDINT_LEAST_FAST_FIXIDX,
  8352. HPUX_SYSTIME_FIXIDX,
  8353. HUGE_VAL_HEX_FIXIDX,
  8354. HUGE_VALF_HEX_FIXIDX,
  8355. HUGE_VALL_HEX_FIXIDX,
  8356. INT_ABORT_FREE_AND_EXIT_FIXIDX,
  8357. IO_QUOTES_DEF_FIXIDX,
  8358. IO_QUOTES_USE_FIXIDX,
  8359. IP_MISSING_SEMI_FIXIDX,
  8360. IRIX_LIMITS_CONST_FIXIDX,
  8361. IRIX_STDIO_VA_LIST_FIXIDX,
  8362. KANDR_CONCAT_FIXIDX,
  8363. LINUX_IA64_UCONTEXT_FIXIDX,
  8364. LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
  8365. LYNXOS_MISSING_PUTENV_FIXIDX,
  8366. MACHINE_ANSI_H_VA_LIST_FIXIDX,
  8367. MACHINE_NAME_FIXIDX,
  8368. MATH_EXCEPTION_FIXIDX,
  8369. MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
  8370. NESTED_AUTH_DES_FIXIDX,
  8371. NETBSD_C99_INLINE_1_FIXIDX,
  8372. NETBSD_C99_INLINE_2_FIXIDX,
  8373. NETBSD_EXTRA_SEMICOLON_FIXIDX,
  8374. NEWLIB_STDINT_1_FIXIDX,
  8375. NEWLIB_STDINT_2_FIXIDX,
  8376. NEXT_MATH_PREFIX_FIXIDX,
  8377. NEXT_TEMPLATE_FIXIDX,
  8378. NEXT_VOLITILE_FIXIDX,
  8379. NEXT_WAIT_UNION_FIXIDX,
  8380. NODEENT_SYNTAX_FIXIDX,
  8381. OPENBSD_NULL_DEFINITION_FIXIDX,
  8382. OBSTACK_LVALUE_CAST_FIXIDX,
  8383. OPENBSD_VA_START_FIXIDX,
  8384. OSF_NAMESPACE_A_FIXIDX,
  8385. OSF_NAMESPACE_C_FIXIDX,
  8386. PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
  8387. READ_RET_TYPE_FIXIDX,
  8388. RPC_XDR_LVALUE_CAST_A_FIXIDX,
  8389. RPC_XDR_LVALUE_CAST_B_FIXIDX,
  8390. RS6000_DOUBLE_FIXIDX,
  8391. RS6000_FCHMOD_FIXIDX,
  8392. RS6000_PARAM_FIXIDX,
  8393. SOLARIS___RESTRICT_FIXIDX,
  8394. SOLARIS_COMPLEX_FIXIDX,
  8395. SOLARIS_COMPLEX_CXX_FIXIDX,
  8396. SOLARIS_CXX_LINKAGE_FIXIDX,
  8397. SOLARIS_GETC_STRICT_STDC_FIXIDX,
  8398. SOLARIS_INT_CONST_FIXIDX,
  8399. SOLARIS_INT_LIMITS_1_FIXIDX,
  8400. SOLARIS_INT_LIMITS_2_FIXIDX,
  8401. SOLARIS_INT_LIMITS_3_FIXIDX,
  8402. SOLARIS_MATH_1_FIXIDX,
  8403. SOLARIS_MATH_10_FIXIDX,
  8404. SOLARIS_MATH_2_FIXIDX,
  8405. SOLARIS_MATH_3_FIXIDX,
  8406. SOLARIS_MATH_4_FIXIDX,
  8407. SOLARIS_MATH_8_FIXIDX,
  8408. SOLARIS_MATH_9_FIXIDX,
  8409. SOLARIS_MATH_11_FIXIDX,
  8410. SOLARIS_ONCE_INIT_1_FIXIDX,
  8411. SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
  8412. SOLARIS_POW_INT_OVERLOAD_FIXIDX,
  8413. SOLARIS_RWLOCK_INIT_1_FIXIDX,
  8414. SOLARIS_STD___FILBUF_FIXIDX,
  8415. SOLARIS_STDIO_TAG_FIXIDX,
  8416. STATSSWTCH_FIXIDX,
  8417. STDIO_STDARG_H_FIXIDX,
  8418. STDIO_VA_LIST_FIXIDX,
  8419. STDIO_VA_LIST_CLIENTS_FIXIDX,
  8420. STRICT_ANSI_NOT_FIXIDX,
  8421. STRICT_ANSI_NOT_CTD_FIXIDX,
  8422. STRICT_ANSI_ONLY_FIXIDX,
  8423. STRUCT_FILE_FIXIDX,
  8424. STRUCT_SOCKADDR_FIXIDX,
  8425. SUN_AUTH_PROTO_FIXIDX,
  8426. SUN_BOGUS_IFDEF_FIXIDX,
  8427. SUN_CATMACRO_FIXIDX,
  8428. SUN_MALLOC_FIXIDX,
  8429. SUN_RUSERS_SEMI_FIXIDX,
  8430. SUN_SIGNAL_FIXIDX,
  8431. SUNOS_STRLEN_FIXIDX,
  8432. SUSE_LINUX_VT_CXX_FIXIDX,
  8433. SVR4_DISABLE_OPT_FIXIDX,
  8434. SVR4_GETCWD_FIXIDX,
  8435. SVR4_PROFIL_FIXIDX,
  8436. SVR4_SIGHANDLER_TYPE_FIXIDX,
  8437. SVR4_UNDECLARED_GETRNGE_FIXIDX,
  8438. SYSV68_STRING_FIXIDX,
  8439. SYSZ_STDLIB_FOR_SUN_FIXIDX,
  8440. THREAD_KEYWORD_FIXIDX,
  8441. TINFO_CPLUSPLUS_FIXIDX,
  8442. ULTRIX_CONST_FIXIDX,
  8443. ULTRIX_CONST2_FIXIDX,
  8444. VA_I960_MACRO_FIXIDX,
  8445. VMS_ADD_MISSING_BRACES_FIXIDX,
  8446. VMS_DECC_BUILTIN_FIXIDX,
  8447. VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX,
  8448. VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX,
  8449. VMS_DO_NOT_REDECLARE_HOSTALIAS_FIXIDX,
  8450. VMS_FORWARD_DECLARE_STRUCT_FIXIDX,
  8451. VMS_NO_64BIT_GETOPT_FIXIDX,
  8452. VMS_USE_FAST_SETJMP_FIXIDX,
  8453. VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX,
  8454. VMS_USE_QUOTED_INCLUDE_FIXIDX,
  8455. VOID_NULL_FIXIDX,
  8456. VXWORKS_GCC_PROBLEM_FIXIDX,
  8457. VXWORKS_IOCTL_MACRO_FIXIDX,
  8458. VXWORKS_MKDIR_MACRO_FIXIDX,
  8459. VXWORKS_NEEDS_VXTYPES_FIXIDX,
  8460. VXWORKS_NEEDS_VXWORKS_FIXIDX,
  8461. VXWORKS_REGS_FIXIDX,
  8462. VXWORKS_TIME_FIXIDX,
  8463. VXWORKS_WRITE_CONST_FIXIDX,
  8464. X11_CLASS_FIXIDX,
  8465. X11_CLASS_USAGE_FIXIDX,
  8466. X11_NEW_FIXIDX,
  8467. X11_SPRINTF_FIXIDX
  8468. } t_fixinc_idx;
  8469. tFixDesc fixDescList[ FIX_COUNT ] = {
  8470. { zAab_Aix_StdioName, zAab_Aix_StdioList,
  8471. apzAab_Aix_StdioMachs,
  8472. AAB_AIX_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8473. aAab_Aix_StdioTests, apzAab_Aix_StdioPatch, 0 },
  8474. { zAab_Aix_FcntlName, zAab_Aix_FcntlList,
  8475. apzAab_Aix_FcntlMachs,
  8476. AAB_AIX_FCNTL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8477. aAab_Aix_FcntlTests, apzAab_Aix_FcntlPatch, 0 },
  8478. { zAab_Darwin7_9_Long_Double_FuncsName, zAab_Darwin7_9_Long_Double_FuncsList,
  8479. apzAab_Darwin7_9_Long_Double_FuncsMachs,
  8480. AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8481. aAab_Darwin7_9_Long_Double_FuncsTests, apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
  8482. { zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList,
  8483. apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
  8484. AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8485. aAab_Fd_Zero_Asm_Posix_Types_HTests, apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
  8486. { zAab_Fd_Zero_Gnu_Types_HName, zAab_Fd_Zero_Gnu_Types_HList,
  8487. apzAab_Fd_Zero_Gnu_Types_HMachs,
  8488. AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8489. aAab_Fd_Zero_Gnu_Types_HTests, apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
  8490. { zAab_Fd_Zero_Selectbits_HName, zAab_Fd_Zero_Selectbits_HList,
  8491. apzAab_Fd_Zero_Selectbits_HMachs,
  8492. AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8493. aAab_Fd_Zero_Selectbits_HTests, apzAab_Fd_Zero_Selectbits_HPatch, 0 },
  8494. { zAab_Solaris_Sys_Varargs_HName, zAab_Solaris_Sys_Varargs_HList,
  8495. apzAab_Solaris_Sys_Varargs_HMachs,
  8496. AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8497. aAab_Solaris_Sys_Varargs_HTests, apzAab_Solaris_Sys_Varargs_HPatch, 0 },
  8498. { zAab_Sun_MemcpyName, zAab_Sun_MemcpyList,
  8499. apzAab_Sun_MemcpyMachs,
  8500. AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8501. aAab_Sun_MemcpyTests, apzAab_Sun_MemcpyPatch, 0 },
  8502. { zAab_Vxworks_AssertName, zAab_Vxworks_AssertList,
  8503. apzAab_Vxworks_AssertMachs,
  8504. AAB_VXWORKS_ASSERT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8505. aAab_Vxworks_AssertTests, apzAab_Vxworks_AssertPatch, 0 },
  8506. { zAab_Vxworks_Regs_VxtypesName, zAab_Vxworks_Regs_VxtypesList,
  8507. apzAab_Vxworks_Regs_VxtypesMachs,
  8508. AAB_VXWORKS_REGS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8509. aAab_Vxworks_Regs_VxtypesTests, apzAab_Vxworks_Regs_VxtypesPatch, 0 },
  8510. { zAab_Vxworks_StdintName, zAab_Vxworks_StdintList,
  8511. apzAab_Vxworks_StdintMachs,
  8512. AAB_VXWORKS_STDINT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8513. aAab_Vxworks_StdintTests, apzAab_Vxworks_StdintPatch, 0 },
  8514. { zAab_Vxworks_UnistdName, zAab_Vxworks_UnistdList,
  8515. apzAab_Vxworks_UnistdMachs,
  8516. AAB_VXWORKS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
  8517. aAab_Vxworks_UnistdTests, apzAab_Vxworks_UnistdPatch, 0 },
  8518. { zAix_AssertName, zAix_AssertList,
  8519. apzAix_AssertMachs,
  8520. AIX_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8521. aAix_AssertTests, apzAix_AssertPatch, 0 },
  8522. { zAix_ComplexName, zAix_ComplexList,
  8523. apzAix_ComplexMachs,
  8524. AIX_COMPLEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8525. aAix_ComplexTests, apzAix_ComplexPatch, 0 },
  8526. { zAix_ExterncName, zAix_ExterncList,
  8527. apzAix_ExterncMachs,
  8528. AIX_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8529. aAix_ExterncTests, apzAix_ExterncPatch, 0 },
  8530. { zAix_Externcpp1Name, zAix_Externcpp1List,
  8531. apzAix_Externcpp1Machs,
  8532. AIX_EXTERNCPP1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8533. aAix_Externcpp1Tests, apzAix_Externcpp1Patch, 0 },
  8534. { zAix_Externcpp2Name, zAix_Externcpp2List,
  8535. apzAix_Externcpp2Machs,
  8536. AIX_EXTERNCPP2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8537. aAix_Externcpp2Tests, apzAix_Externcpp2Patch, 0 },
  8538. { zAix_MallocName, zAix_MallocList,
  8539. apzAix_MallocMachs,
  8540. AIX_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8541. aAix_MallocTests, apzAix_MallocPatch, 0 },
  8542. { zAix_Net_If_ArpName, zAix_Net_If_ArpList,
  8543. apzAix_Net_If_ArpMachs,
  8544. AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8545. aAix_Net_If_ArpTests, apzAix_Net_If_ArpPatch, 0 },
  8546. { zAix_NullName, zAix_NullList,
  8547. apzAix_NullMachs,
  8548. AIX_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8549. aAix_NullTests, apzAix_NullPatch, 0 },
  8550. { zAix_Once_Init_1Name, zAix_Once_Init_1List,
  8551. apzAix_Once_Init_1Machs,
  8552. AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8553. aAix_Once_Init_1Tests, apzAix_Once_Init_1Patch, 0 },
  8554. { zAix_Once_Init_2Name, zAix_Once_Init_2List,
  8555. apzAix_Once_Init_2Machs,
  8556. AIX_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8557. aAix_Once_Init_2Tests, apzAix_Once_Init_2Patch, 0 },
  8558. { zAix_Mutex_Initializer_1Name, zAix_Mutex_Initializer_1List,
  8559. apzAix_Mutex_Initializer_1Machs,
  8560. AIX_MUTEX_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8561. aAix_Mutex_Initializer_1Tests, apzAix_Mutex_Initializer_1Patch, 0 },
  8562. { zAix_Cond_Initializer_1Name, zAix_Cond_Initializer_1List,
  8563. apzAix_Cond_Initializer_1Machs,
  8564. AIX_COND_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8565. aAix_Cond_Initializer_1Tests, apzAix_Cond_Initializer_1Patch, 0 },
  8566. { zAix_Rwlock_Initializer_1Name, zAix_Rwlock_Initializer_1List,
  8567. apzAix_Rwlock_Initializer_1Machs,
  8568. AIX_RWLOCK_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8569. aAix_Rwlock_Initializer_1Tests, apzAix_Rwlock_Initializer_1Patch, 0 },
  8570. { zAix_PthreadName, zAix_PthreadList,
  8571. apzAix_PthreadMachs,
  8572. AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8573. aAix_PthreadTests, apzAix_PthreadPatch, 0 },
  8574. { zAix_Stdint_1Name, zAix_Stdint_1List,
  8575. apzAix_Stdint_1Machs,
  8576. AIX_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8577. aAix_Stdint_1Tests, apzAix_Stdint_1Patch, 0 },
  8578. { zAix_Stdint_2Name, zAix_Stdint_2List,
  8579. apzAix_Stdint_2Machs,
  8580. AIX_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8581. aAix_Stdint_2Tests, apzAix_Stdint_2Patch, 0 },
  8582. { zAix_Stdint_3Name, zAix_Stdint_3List,
  8583. apzAix_Stdint_3Machs,
  8584. AIX_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8585. aAix_Stdint_3Tests, apzAix_Stdint_3Patch, 0 },
  8586. { zAix_Stdint_4Name, zAix_Stdint_4List,
  8587. apzAix_Stdint_4Machs,
  8588. AIX_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8589. aAix_Stdint_4Tests, apzAix_Stdint_4Patch, 0 },
  8590. { zAix_Stdint_5Name, zAix_Stdint_5List,
  8591. apzAix_Stdint_5Machs,
  8592. AIX_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8593. aAix_Stdint_5Tests, apzAix_Stdint_5Patch, 0 },
  8594. { zAix_Strtof_ConstName, zAix_Strtof_ConstList,
  8595. apzAix_Strtof_ConstMachs,
  8596. AIX_STRTOF_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8597. aAix_Strtof_ConstTests, apzAix_Strtof_ConstPatch, 0 },
  8598. { zAix_SysmachineName, zAix_SysmachineList,
  8599. apzAix_SysmachineMachs,
  8600. AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8601. aAix_SysmachineTests, apzAix_SysmachinePatch, 0 },
  8602. { zAix_Syswait_2Name, zAix_Syswait_2List,
  8603. apzAix_Syswait_2Machs,
  8604. AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8605. aAix_Syswait_2Tests, apzAix_Syswait_2Patch, 0 },
  8606. { zAix_VolatileName, zAix_VolatileList,
  8607. apzAix_VolatileMachs,
  8608. AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8609. aAix_VolatileTests, apzAix_VolatilePatch, 0 },
  8610. { zAlpha___AssertName, zAlpha___AssertList,
  8611. apzAlpha___AssertMachs,
  8612. ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8613. aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
  8614. { zAlpha_AssertName, zAlpha_AssertList,
  8615. apzAlpha_AssertMachs,
  8616. ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8617. aAlpha_AssertTests, apzAlpha_AssertPatch, 0 },
  8618. { zAlpha_GetoptName, zAlpha_GetoptList,
  8619. apzAlpha_GetoptMachs,
  8620. ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8621. aAlpha_GetoptTests, apzAlpha_GetoptPatch, 0 },
  8622. { zAlpha_If_SemicolonName, zAlpha_If_SemicolonList,
  8623. apzAlpha_If_SemicolonMachs,
  8624. ALPHA_IF_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8625. aAlpha_If_SemicolonTests, apzAlpha_If_SemicolonPatch, 0 },
  8626. { zAlpha_ParensName, zAlpha_ParensList,
  8627. apzAlpha_ParensMachs,
  8628. ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8629. aAlpha_ParensTests, apzAlpha_ParensPatch, 0 },
  8630. { zAlpha_SbrkName, zAlpha_SbrkList,
  8631. apzAlpha_SbrkMachs,
  8632. ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8633. aAlpha_SbrkTests, apzAlpha_SbrkPatch, 0 },
  8634. { zAvoid_Bool_DefineName, zAvoid_Bool_DefineList,
  8635. apzAvoid_Bool_DefineMachs,
  8636. AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8637. aAvoid_Bool_DefineTests, apzAvoid_Bool_DefinePatch, 0 },
  8638. { zAvoid_Bool_TypeName, zAvoid_Bool_TypeList,
  8639. apzAvoid_Bool_TypeMachs,
  8640. AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8641. aAvoid_Bool_TypeTests, apzAvoid_Bool_TypePatch, 0 },
  8642. { zAvoid_Wchar_T_TypeName, zAvoid_Wchar_T_TypeList,
  8643. apzAvoid_Wchar_T_TypeMachs,
  8644. AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8645. aAvoid_Wchar_T_TypeTests, apzAvoid_Wchar_T_TypePatch, 0 },
  8646. { zBad_Struct_TermName, zBad_Struct_TermList,
  8647. apzBad_Struct_TermMachs,
  8648. BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8649. aBad_Struct_TermTests, apzBad_Struct_TermPatch, 0 },
  8650. { zBadquoteName, zBadquoteList,
  8651. apzBadquoteMachs,
  8652. BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8653. aBadquoteTests, apzBadquotePatch, 0 },
  8654. { zBroken_Assert_StdioName, zBroken_Assert_StdioList,
  8655. apzBroken_Assert_StdioMachs,
  8656. BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8657. aBroken_Assert_StdioTests, apzBroken_Assert_StdioPatch, 0 },
  8658. { zBroken_Assert_StdlibName, zBroken_Assert_StdlibList,
  8659. apzBroken_Assert_StdlibMachs,
  8660. BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8661. aBroken_Assert_StdlibTests, apzBroken_Assert_StdlibPatch, 0 },
  8662. { zBroken_CabsName, zBroken_CabsList,
  8663. apzBroken_CabsMachs,
  8664. BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
  8665. aBroken_CabsTests, apzBroken_CabsPatch, 0 },
  8666. { zBroken_NanName, zBroken_NanList,
  8667. apzBroken_NanMachs,
  8668. BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8669. aBroken_NanTests, apzBroken_NanPatch, 0 },
  8670. { zBsd_Stdio_Attrs_ConflictName, zBsd_Stdio_Attrs_ConflictList,
  8671. apzBsd_Stdio_Attrs_ConflictMachs,
  8672. BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8673. aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 },
  8674. { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList,
  8675. apzCtrl_Quotes_DefMachs,
  8676. CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8677. aCtrl_Quotes_DefTests, apzCtrl_Quotes_DefPatch, 0 },
  8678. { zCtrl_Quotes_UseName, zCtrl_Quotes_UseList,
  8679. apzCtrl_Quotes_UseMachs,
  8680. CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8681. aCtrl_Quotes_UseTests, apzCtrl_Quotes_UsePatch, 0 },
  8682. { zCxx_UnreadyName, zCxx_UnreadyList,
  8683. apzCxx_UnreadyMachs,
  8684. CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8685. aCxx_UnreadyTests, apzCxx_UnreadyPatch, 0 },
  8686. { zDarwin_9_Long_Double_Funcs_2Name, zDarwin_9_Long_Double_Funcs_2List,
  8687. apzDarwin_9_Long_Double_Funcs_2Machs,
  8688. DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8689. aDarwin_9_Long_Double_Funcs_2Tests, apzDarwin_9_Long_Double_Funcs_2Patch, 0 },
  8690. { zDarwin_ExterncName, zDarwin_ExterncList,
  8691. apzDarwin_ExterncMachs,
  8692. DARWIN_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8693. aDarwin_ExterncTests, apzDarwin_ExterncPatch, 0 },
  8694. { zDarwin_Gcc4_BreakageName, zDarwin_Gcc4_BreakageList,
  8695. apzDarwin_Gcc4_BreakageMachs,
  8696. DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8697. aDarwin_Gcc4_BreakageTests, apzDarwin_Gcc4_BreakagePatch, 0 },
  8698. { zDarwin_Private_ExternName, zDarwin_Private_ExternList,
  8699. apzDarwin_Private_ExternMachs,
  8700. DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8701. aDarwin_Private_ExternTests, apzDarwin_Private_ExternPatch, 0 },
  8702. { zDarwin_Stdint_1Name, zDarwin_Stdint_1List,
  8703. apzDarwin_Stdint_1Machs,
  8704. DARWIN_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8705. aDarwin_Stdint_1Tests, apzDarwin_Stdint_1Patch, 0 },
  8706. { zDarwin_Stdint_2Name, zDarwin_Stdint_2List,
  8707. apzDarwin_Stdint_2Machs,
  8708. DARWIN_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8709. aDarwin_Stdint_2Tests, apzDarwin_Stdint_2Patch, 0 },
  8710. { zDarwin_Stdint_3Name, zDarwin_Stdint_3List,
  8711. apzDarwin_Stdint_3Machs,
  8712. DARWIN_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8713. aDarwin_Stdint_3Tests, apzDarwin_Stdint_3Patch, 0 },
  8714. { zDarwin_Stdint_4Name, zDarwin_Stdint_4List,
  8715. apzDarwin_Stdint_4Machs,
  8716. DARWIN_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8717. aDarwin_Stdint_4Tests, apzDarwin_Stdint_4Patch, 0 },
  8718. { zDarwin_Stdint_5Name, zDarwin_Stdint_5List,
  8719. apzDarwin_Stdint_5Machs,
  8720. DARWIN_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8721. aDarwin_Stdint_5Tests, apzDarwin_Stdint_5Patch, 0 },
  8722. { zDarwin_Stdint_6Name, zDarwin_Stdint_6List,
  8723. apzDarwin_Stdint_6Machs,
  8724. DARWIN_STDINT_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8725. aDarwin_Stdint_6Tests, apzDarwin_Stdint_6Patch, 0 },
  8726. { zDarwin_Stdint_7Name, zDarwin_Stdint_7List,
  8727. apzDarwin_Stdint_7Machs,
  8728. DARWIN_STDINT_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8729. aDarwin_Stdint_7Tests, apzDarwin_Stdint_7Patch, 0 },
  8730. { zDec_Intern_AsmName, zDec_Intern_AsmList,
  8731. apzDec_Intern_AsmMachs,
  8732. DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
  8733. aDec_Intern_AsmTests, apzDec_Intern_AsmPatch, 0 },
  8734. { zDjgpp_Wchar_HName, zDjgpp_Wchar_HList,
  8735. apzDjgpp_Wchar_HMachs,
  8736. DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8737. aDjgpp_Wchar_HTests, apzDjgpp_Wchar_HPatch, 0 },
  8738. { zEcd_CursorName, zEcd_CursorList,
  8739. apzEcd_CursorMachs,
  8740. ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8741. aEcd_CursorTests, apzEcd_CursorPatch, 0 },
  8742. { zFeraiseexcept_Nosse_DivbyzeroName, zFeraiseexcept_Nosse_DivbyzeroList,
  8743. apzFeraiseexcept_Nosse_DivbyzeroMachs,
  8744. FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8745. aFeraiseexcept_Nosse_DivbyzeroTests, apzFeraiseexcept_Nosse_DivbyzeroPatch, 0 },
  8746. { zFeraiseexcept_Nosse_InvalidName, zFeraiseexcept_Nosse_InvalidList,
  8747. apzFeraiseexcept_Nosse_InvalidMachs,
  8748. FERAISEEXCEPT_NOSSE_INVALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8749. aFeraiseexcept_Nosse_InvalidTests, apzFeraiseexcept_Nosse_InvalidPatch, 0 },
  8750. { zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList,
  8751. apzFreebsd_Gcc3_BreakageMachs,
  8752. FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8753. aFreebsd_Gcc3_BreakageTests, apzFreebsd_Gcc3_BreakagePatch, 0 },
  8754. { zFreebsd_Gcc4_BreakageName, zFreebsd_Gcc4_BreakageList,
  8755. apzFreebsd_Gcc4_BreakageMachs,
  8756. FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8757. aFreebsd_Gcc4_BreakageTests, apzFreebsd_Gcc4_BreakagePatch, 0 },
  8758. { zGlibc_C99_Inline_1Name, zGlibc_C99_Inline_1List,
  8759. apzGlibc_C99_Inline_1Machs,
  8760. GLIBC_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8761. aGlibc_C99_Inline_1Tests, apzGlibc_C99_Inline_1Patch, 0 },
  8762. { zGlibc_C99_Inline_1aName, zGlibc_C99_Inline_1aList,
  8763. apzGlibc_C99_Inline_1aMachs,
  8764. GLIBC_C99_INLINE_1A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8765. aGlibc_C99_Inline_1aTests, apzGlibc_C99_Inline_1aPatch, 0 },
  8766. { zGlibc_C99_Inline_2Name, zGlibc_C99_Inline_2List,
  8767. apzGlibc_C99_Inline_2Machs,
  8768. GLIBC_C99_INLINE_2_TEST_CT, FD_MACH_ONLY,
  8769. aGlibc_C99_Inline_2Tests, apzGlibc_C99_Inline_2Patch, 0 },
  8770. { zGlibc_C99_Inline_3Name, zGlibc_C99_Inline_3List,
  8771. apzGlibc_C99_Inline_3Machs,
  8772. GLIBC_C99_INLINE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8773. aGlibc_C99_Inline_3Tests, apzGlibc_C99_Inline_3Patch, 0 },
  8774. { zGlibc_C99_Inline_4Name, zGlibc_C99_Inline_4List,
  8775. apzGlibc_C99_Inline_4Machs,
  8776. GLIBC_C99_INLINE_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8777. aGlibc_C99_Inline_4Tests, apzGlibc_C99_Inline_4Patch, 0 },
  8778. { zGlibc_Mutex_InitName, zGlibc_Mutex_InitList,
  8779. apzGlibc_Mutex_InitMachs,
  8780. GLIBC_MUTEX_INIT_TEST_CT, FD_MACH_ONLY,
  8781. aGlibc_Mutex_InitTests, apzGlibc_Mutex_InitPatch, 0 },
  8782. { zGlibc_StdintName, zGlibc_StdintList,
  8783. apzGlibc_StdintMachs,
  8784. GLIBC_STDINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8785. aGlibc_StdintTests, apzGlibc_StdintPatch, 0 },
  8786. { zGlibc_StrncpyName, zGlibc_StrncpyList,
  8787. apzGlibc_StrncpyMachs,
  8788. GLIBC_STRNCPY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8789. aGlibc_StrncpyTests, apzGlibc_StrncpyPatch, 0 },
  8790. { zGlibc_TgmathName, zGlibc_TgmathList,
  8791. apzGlibc_TgmathMachs,
  8792. GLIBC_TGMATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8793. aGlibc_TgmathTests, apzGlibc_TgmathPatch, 0 },
  8794. { zGnu_TypesName, zGnu_TypesList,
  8795. apzGnu_TypesMachs,
  8796. GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
  8797. aGnu_TypesTests, apzGnu_TypesPatch, 0 },
  8798. { zHp_InlineName, zHp_InlineList,
  8799. apzHp_InlineMachs,
  8800. HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8801. aHp_InlineTests, apzHp_InlinePatch, 0 },
  8802. { zHp_SysfileName, zHp_SysfileList,
  8803. apzHp_SysfileMachs,
  8804. HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8805. aHp_SysfileTests, apzHp_SysfilePatch, 0 },
  8806. { zHppa_Hpux_Fp_MacrosName, zHppa_Hpux_Fp_MacrosList,
  8807. apzHppa_Hpux_Fp_MacrosMachs,
  8808. HPPA_HPUX_FP_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8809. aHppa_Hpux_Fp_MacrosTests, apzHppa_Hpux_Fp_MacrosPatch, 0 },
  8810. { zHpux10_Cpp_Pow_InlineName, zHpux10_Cpp_Pow_InlineList,
  8811. apzHpux10_Cpp_Pow_InlineMachs,
  8812. HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8813. aHpux10_Cpp_Pow_InlineTests, apzHpux10_Cpp_Pow_InlinePatch, 0 },
  8814. { zHpux11_Cpp_Pow_InlineName, zHpux11_Cpp_Pow_InlineList,
  8815. apzHpux11_Cpp_Pow_InlineMachs,
  8816. HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8817. aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 },
  8818. { zHpux10_Ctype_Declarations1Name, zHpux10_Ctype_Declarations1List,
  8819. apzHpux10_Ctype_Declarations1Machs,
  8820. HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8821. aHpux10_Ctype_Declarations1Tests, apzHpux10_Ctype_Declarations1Patch, 0 },
  8822. { zHpux10_Ctype_Declarations2Name, zHpux10_Ctype_Declarations2List,
  8823. apzHpux10_Ctype_Declarations2Machs,
  8824. HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8825. aHpux10_Ctype_Declarations2Tests, apzHpux10_Ctype_Declarations2Patch, 0 },
  8826. { zHpux10_Stdio_DeclarationsName, zHpux10_Stdio_DeclarationsList,
  8827. apzHpux10_Stdio_DeclarationsMachs,
  8828. HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8829. aHpux10_Stdio_DeclarationsTests, apzHpux10_Stdio_DeclarationsPatch, 0 },
  8830. { zHpux11_AbsName, zHpux11_AbsList,
  8831. apzHpux11_AbsMachs,
  8832. HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8833. aHpux11_AbsTests, apzHpux11_AbsPatch, 0 },
  8834. { zHpux11_Lwp_Rwlock_ValidName, zHpux11_Lwp_Rwlock_ValidList,
  8835. apzHpux11_Lwp_Rwlock_ValidMachs,
  8836. HPUX11_LWP_RWLOCK_VALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8837. aHpux11_Lwp_Rwlock_ValidTests, apzHpux11_Lwp_Rwlock_ValidPatch, 0 },
  8838. { zHpux11_Extern_SendfileName, zHpux11_Extern_SendfileList,
  8839. apzHpux11_Extern_SendfileMachs,
  8840. HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8841. aHpux11_Extern_SendfileTests, apzHpux11_Extern_SendfilePatch, 0 },
  8842. { zHpux11_Extern_SendpathName, zHpux11_Extern_SendpathList,
  8843. apzHpux11_Extern_SendpathMachs,
  8844. HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8845. aHpux11_Extern_SendpathTests, apzHpux11_Extern_SendpathPatch, 0 },
  8846. { zHpux11_FabsfName, zHpux11_FabsfList,
  8847. apzHpux11_FabsfMachs,
  8848. HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8849. aHpux11_FabsfTests, apzHpux11_FabsfPatch, 0 },
  8850. { zHpux11_Pthread_ConstName, zHpux11_Pthread_ConstList,
  8851. apzHpux11_Pthread_ConstMachs,
  8852. HPUX11_PTHREAD_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8853. aHpux11_Pthread_ConstTests, apzHpux11_Pthread_ConstPatch, 0 },
  8854. { zHpux11_Size_TName, zHpux11_Size_TList,
  8855. apzHpux11_Size_TMachs,
  8856. HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8857. aHpux11_Size_TTests, apzHpux11_Size_TPatch, 0 },
  8858. { zHpux11_SnprintfName, zHpux11_SnprintfList,
  8859. apzHpux11_SnprintfMachs,
  8860. HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8861. aHpux11_SnprintfTests, apzHpux11_SnprintfPatch, 0 },
  8862. { zHpux11_VsnprintfName, zHpux11_VsnprintfList,
  8863. apzHpux11_VsnprintfMachs,
  8864. HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8865. aHpux11_VsnprintfTests, apzHpux11_VsnprintfPatch, 0 },
  8866. { zHpux8_Bogus_InlinesName, zHpux8_Bogus_InlinesList,
  8867. apzHpux8_Bogus_InlinesMachs,
  8868. HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
  8869. aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 },
  8870. { zHpux_C99_IntptrName, zHpux_C99_IntptrList,
  8871. apzHpux_C99_IntptrMachs,
  8872. HPUX_C99_INTPTR_TEST_CT, FD_MACH_ONLY,
  8873. aHpux_C99_IntptrTests, apzHpux_C99_IntptrPatch, 0 },
  8874. { zHpux_C99_InttypesName, zHpux_C99_InttypesList,
  8875. apzHpux_C99_InttypesMachs,
  8876. HPUX_C99_INTTYPES_TEST_CT, FD_MACH_ONLY,
  8877. aHpux_C99_InttypesTests, apzHpux_C99_InttypesPatch, 0 },
  8878. { zHpux_C99_Inttypes2Name, zHpux_C99_Inttypes2List,
  8879. apzHpux_C99_Inttypes2Machs,
  8880. HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY,
  8881. aHpux_C99_Inttypes2Tests, apzHpux_C99_Inttypes2Patch, 0 },
  8882. { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList,
  8883. apzHpux_Ctype_MacrosMachs,
  8884. HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8885. aHpux_Ctype_MacrosTests, apzHpux_Ctype_MacrosPatch, 0 },
  8886. { zHpux_Extern_ErrnoName, zHpux_Extern_ErrnoList,
  8887. apzHpux_Extern_ErrnoMachs,
  8888. HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8889. aHpux_Extern_ErrnoTests, apzHpux_Extern_ErrnoPatch, 0 },
  8890. { zHpux_HtonlName, zHpux_HtonlList,
  8891. apzHpux_HtonlMachs,
  8892. HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8893. aHpux_HtonlTests, apzHpux_HtonlPatch, 0 },
  8894. { zHpux_Imaginary_IName, zHpux_Imaginary_IList,
  8895. apzHpux_Imaginary_IMachs,
  8896. HPUX_IMAGINARY_I_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8897. aHpux_Imaginary_ITests, apzHpux_Imaginary_IPatch, 0 },
  8898. { zHpux_Inttype_Int8_TName, zHpux_Inttype_Int8_TList,
  8899. apzHpux_Inttype_Int8_TMachs,
  8900. HPUX_INTTYPE_INT8_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8901. aHpux_Inttype_Int8_TTests, apzHpux_Inttype_Int8_TPatch, 0 },
  8902. { zHpux_Long_DoubleName, zHpux_Long_DoubleList,
  8903. apzHpux_Long_DoubleMachs,
  8904. HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
  8905. aHpux_Long_DoubleTests, apzHpux_Long_DoublePatch, 0 },
  8906. { zHpux_Long_Double_2Name, zHpux_Long_Double_2List,
  8907. apzHpux_Long_Double_2Machs,
  8908. HPUX_LONG_DOUBLE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8909. aHpux_Long_Double_2Tests, apzHpux_Long_Double_2Patch, 0 },
  8910. { zHpux_Pthread_InitializersName, zHpux_Pthread_InitializersList,
  8911. apzHpux_Pthread_InitializersMachs,
  8912. HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY,
  8913. aHpux_Pthread_InitializersTests, apzHpux_Pthread_InitializersPatch, 0 },
  8914. { zHpux_Spu_InfoName, zHpux_Spu_InfoList,
  8915. apzHpux_Spu_InfoMachs,
  8916. HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8917. aHpux_Spu_InfoTests, apzHpux_Spu_InfoPatch, 0 },
  8918. { zHpux_Stdint_Least_FastName, zHpux_Stdint_Least_FastList,
  8919. apzHpux_Stdint_Least_FastMachs,
  8920. HPUX_STDINT_LEAST_FAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8921. aHpux_Stdint_Least_FastTests, apzHpux_Stdint_Least_FastPatch, 0 },
  8922. { zHpux_SystimeName, zHpux_SystimeList,
  8923. apzHpux_SystimeMachs,
  8924. HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8925. aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
  8926. { zHuge_Val_HexName, zHuge_Val_HexList,
  8927. apzHuge_Val_HexMachs,
  8928. HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8929. aHuge_Val_HexTests, apzHuge_Val_HexPatch, 0 },
  8930. { zHuge_Valf_HexName, zHuge_Valf_HexList,
  8931. apzHuge_Valf_HexMachs,
  8932. HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8933. aHuge_Valf_HexTests, apzHuge_Valf_HexPatch, 0 },
  8934. { zHuge_Vall_HexName, zHuge_Vall_HexList,
  8935. apzHuge_Vall_HexMachs,
  8936. HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8937. aHuge_Vall_HexTests, apzHuge_Vall_HexPatch, 0 },
  8938. { zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList,
  8939. apzInt_Abort_Free_And_ExitMachs,
  8940. INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8941. aInt_Abort_Free_And_ExitTests, apzInt_Abort_Free_And_ExitPatch, 0 },
  8942. { zIo_Quotes_DefName, zIo_Quotes_DefList,
  8943. apzIo_Quotes_DefMachs,
  8944. IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8945. aIo_Quotes_DefTests, apzIo_Quotes_DefPatch, 0 },
  8946. { zIo_Quotes_UseName, zIo_Quotes_UseList,
  8947. apzIo_Quotes_UseMachs,
  8948. IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8949. aIo_Quotes_UseTests, apzIo_Quotes_UsePatch, 0 },
  8950. { zIp_Missing_SemiName, zIp_Missing_SemiList,
  8951. apzIp_Missing_SemiMachs,
  8952. IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
  8953. aIp_Missing_SemiTests, apzIp_Missing_SemiPatch, 0 },
  8954. { zIrix_Limits_ConstName, zIrix_Limits_ConstList,
  8955. apzIrix_Limits_ConstMachs,
  8956. IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8957. aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 },
  8958. { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
  8959. apzIrix_Stdio_Va_ListMachs,
  8960. IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8961. aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 },
  8962. { zKandr_ConcatName, zKandr_ConcatList,
  8963. apzKandr_ConcatMachs,
  8964. KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8965. aKandr_ConcatTests, apzKandr_ConcatPatch, 0 },
  8966. { zLinux_Ia64_UcontextName, zLinux_Ia64_UcontextList,
  8967. apzLinux_Ia64_UcontextMachs,
  8968. LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8969. aLinux_Ia64_UcontextTests, apzLinux_Ia64_UcontextPatch, 0 },
  8970. { zLynxos_No_Warning_In_Sys_Time_HName, zLynxos_No_Warning_In_Sys_Time_HList,
  8971. apzLynxos_No_Warning_In_Sys_Time_HMachs,
  8972. LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8973. aLynxos_No_Warning_In_Sys_Time_HTests, apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
  8974. { zLynxos_Missing_PutenvName, zLynxos_Missing_PutenvList,
  8975. apzLynxos_Missing_PutenvMachs,
  8976. LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8977. aLynxos_Missing_PutenvTests, apzLynxos_Missing_PutenvPatch, 0 },
  8978. { zMachine_Ansi_H_Va_ListName, zMachine_Ansi_H_Va_ListList,
  8979. apzMachine_Ansi_H_Va_ListMachs,
  8980. MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8981. aMachine_Ansi_H_Va_ListTests, apzMachine_Ansi_H_Va_ListPatch, 0 },
  8982. { zMachine_NameName, zMachine_NameList,
  8983. apzMachine_NameMachs,
  8984. MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8985. aMachine_NameTests, apzMachine_NamePatch, 0 },
  8986. { zMath_ExceptionName, zMath_ExceptionList,
  8987. apzMath_ExceptionMachs,
  8988. MATH_EXCEPTION_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
  8989. aMath_ExceptionTests, apzMath_ExceptionPatch, 0 },
  8990. { zMath_Huge_Val_From_Dbl_MaxName, zMath_Huge_Val_From_Dbl_MaxList,
  8991. apzMath_Huge_Val_From_Dbl_MaxMachs,
  8992. MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
  8993. aMath_Huge_Val_From_Dbl_MaxTests, apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
  8994. { zNested_Auth_DesName, zNested_Auth_DesList,
  8995. apzNested_Auth_DesMachs,
  8996. NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  8997. aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 },
  8998. { zNetbsd_C99_Inline_1Name, zNetbsd_C99_Inline_1List,
  8999. apzNetbsd_C99_Inline_1Machs,
  9000. NETBSD_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9001. aNetbsd_C99_Inline_1Tests, apzNetbsd_C99_Inline_1Patch, 0 },
  9002. { zNetbsd_C99_Inline_2Name, zNetbsd_C99_Inline_2List,
  9003. apzNetbsd_C99_Inline_2Machs,
  9004. NETBSD_C99_INLINE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9005. aNetbsd_C99_Inline_2Tests, apzNetbsd_C99_Inline_2Patch, 0 },
  9006. { zNetbsd_Extra_SemicolonName, zNetbsd_Extra_SemicolonList,
  9007. apzNetbsd_Extra_SemicolonMachs,
  9008. NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9009. aNetbsd_Extra_SemicolonTests, apzNetbsd_Extra_SemicolonPatch, 0 },
  9010. { zNewlib_Stdint_1Name, zNewlib_Stdint_1List,
  9011. apzNewlib_Stdint_1Machs,
  9012. NEWLIB_STDINT_1_TEST_CT, FD_MACH_ONLY,
  9013. aNewlib_Stdint_1Tests, apzNewlib_Stdint_1Patch, 0 },
  9014. { zNewlib_Stdint_2Name, zNewlib_Stdint_2List,
  9015. apzNewlib_Stdint_2Machs,
  9016. NEWLIB_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9017. aNewlib_Stdint_2Tests, apzNewlib_Stdint_2Patch, 0 },
  9018. { zNext_Math_PrefixName, zNext_Math_PrefixList,
  9019. apzNext_Math_PrefixMachs,
  9020. NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9021. aNext_Math_PrefixTests, apzNext_Math_PrefixPatch, 0 },
  9022. { zNext_TemplateName, zNext_TemplateList,
  9023. apzNext_TemplateMachs,
  9024. NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9025. aNext_TemplateTests, apzNext_TemplatePatch, 0 },
  9026. { zNext_VolitileName, zNext_VolitileList,
  9027. apzNext_VolitileMachs,
  9028. NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9029. aNext_VolitileTests, apzNext_VolitilePatch, 0 },
  9030. { zNext_Wait_UnionName, zNext_Wait_UnionList,
  9031. apzNext_Wait_UnionMachs,
  9032. NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9033. aNext_Wait_UnionTests, apzNext_Wait_UnionPatch, 0 },
  9034. { zNodeent_SyntaxName, zNodeent_SyntaxList,
  9035. apzNodeent_SyntaxMachs,
  9036. NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9037. aNodeent_SyntaxTests, apzNodeent_SyntaxPatch, 0 },
  9038. { zOpenbsd_Null_DefinitionName, zOpenbsd_Null_DefinitionList,
  9039. apzOpenbsd_Null_DefinitionMachs,
  9040. OPENBSD_NULL_DEFINITION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9041. aOpenbsd_Null_DefinitionTests, apzOpenbsd_Null_DefinitionPatch, 0 },
  9042. { zObstack_Lvalue_CastName, zObstack_Lvalue_CastList,
  9043. apzObstack_Lvalue_CastMachs,
  9044. OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9045. aObstack_Lvalue_CastTests, apzObstack_Lvalue_CastPatch, 0 },
  9046. { zOpenbsd_Va_StartName, zOpenbsd_Va_StartList,
  9047. apzOpenbsd_Va_StartMachs,
  9048. OPENBSD_VA_START_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9049. aOpenbsd_Va_StartTests, apzOpenbsd_Va_StartPatch, 0 },
  9050. { zOsf_Namespace_AName, zOsf_Namespace_AList,
  9051. apzOsf_Namespace_AMachs,
  9052. OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9053. aOsf_Namespace_ATests, apzOsf_Namespace_APatch, 0 },
  9054. { zOsf_Namespace_CName, zOsf_Namespace_CList,
  9055. apzOsf_Namespace_CMachs,
  9056. OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9057. aOsf_Namespace_CTests, apzOsf_Namespace_CPatch, 0 },
  9058. { zPthread_Incomplete_Struct_ArgumentName, zPthread_Incomplete_Struct_ArgumentList,
  9059. apzPthread_Incomplete_Struct_ArgumentMachs,
  9060. PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9061. aPthread_Incomplete_Struct_ArgumentTests, apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
  9062. { zRead_Ret_TypeName, zRead_Ret_TypeList,
  9063. apzRead_Ret_TypeMachs,
  9064. READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9065. aRead_Ret_TypeTests, apzRead_Ret_TypePatch, 0 },
  9066. { zRpc_Xdr_Lvalue_Cast_AName, zRpc_Xdr_Lvalue_Cast_AList,
  9067. apzRpc_Xdr_Lvalue_Cast_AMachs,
  9068. RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9069. aRpc_Xdr_Lvalue_Cast_ATests, apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
  9070. { zRpc_Xdr_Lvalue_Cast_BName, zRpc_Xdr_Lvalue_Cast_BList,
  9071. apzRpc_Xdr_Lvalue_Cast_BMachs,
  9072. RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9073. aRpc_Xdr_Lvalue_Cast_BTests, apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
  9074. { zRs6000_DoubleName, zRs6000_DoubleList,
  9075. apzRs6000_DoubleMachs,
  9076. RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9077. aRs6000_DoubleTests, apzRs6000_DoublePatch, 0 },
  9078. { zRs6000_FchmodName, zRs6000_FchmodList,
  9079. apzRs6000_FchmodMachs,
  9080. RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9081. aRs6000_FchmodTests, apzRs6000_FchmodPatch, 0 },
  9082. { zRs6000_ParamName, zRs6000_ParamList,
  9083. apzRs6000_ParamMachs,
  9084. RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9085. aRs6000_ParamTests, apzRs6000_ParamPatch, 0 },
  9086. { zSolaris___RestrictName, zSolaris___RestrictList,
  9087. apzSolaris___RestrictMachs,
  9088. SOLARIS___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9089. aSolaris___RestrictTests, apzSolaris___RestrictPatch, 0 },
  9090. { zSolaris_ComplexName, zSolaris_ComplexList,
  9091. apzSolaris_ComplexMachs,
  9092. SOLARIS_COMPLEX_TEST_CT, FD_MACH_ONLY,
  9093. aSolaris_ComplexTests, apzSolaris_ComplexPatch, 0 },
  9094. { zSolaris_Complex_CxxName, zSolaris_Complex_CxxList,
  9095. apzSolaris_Complex_CxxMachs,
  9096. SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
  9097. aSolaris_Complex_CxxTests, apzSolaris_Complex_CxxPatch, 0 },
  9098. { zSolaris_Cxx_LinkageName, zSolaris_Cxx_LinkageList,
  9099. apzSolaris_Cxx_LinkageMachs,
  9100. SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9101. aSolaris_Cxx_LinkageTests, apzSolaris_Cxx_LinkagePatch, 0 },
  9102. { zSolaris_Getc_Strict_StdcName, zSolaris_Getc_Strict_StdcList,
  9103. apzSolaris_Getc_Strict_StdcMachs,
  9104. SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9105. aSolaris_Getc_Strict_StdcTests, apzSolaris_Getc_Strict_StdcPatch, 0 },
  9106. { zSolaris_Int_ConstName, zSolaris_Int_ConstList,
  9107. apzSolaris_Int_ConstMachs,
  9108. SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9109. aSolaris_Int_ConstTests, apzSolaris_Int_ConstPatch, 0 },
  9110. { zSolaris_Int_Limits_1Name, zSolaris_Int_Limits_1List,
  9111. apzSolaris_Int_Limits_1Machs,
  9112. SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9113. aSolaris_Int_Limits_1Tests, apzSolaris_Int_Limits_1Patch, 0 },
  9114. { zSolaris_Int_Limits_2Name, zSolaris_Int_Limits_2List,
  9115. apzSolaris_Int_Limits_2Machs,
  9116. SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9117. aSolaris_Int_Limits_2Tests, apzSolaris_Int_Limits_2Patch, 0 },
  9118. { zSolaris_Int_Limits_3Name, zSolaris_Int_Limits_3List,
  9119. apzSolaris_Int_Limits_3Machs,
  9120. SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9121. aSolaris_Int_Limits_3Tests, apzSolaris_Int_Limits_3Patch, 0 },
  9122. { zSolaris_Math_1Name, zSolaris_Math_1List,
  9123. apzSolaris_Math_1Machs,
  9124. SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9125. aSolaris_Math_1Tests, apzSolaris_Math_1Patch, 0 },
  9126. { zSolaris_Math_10Name, zSolaris_Math_10List,
  9127. apzSolaris_Math_10Machs,
  9128. SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9129. aSolaris_Math_10Tests, apzSolaris_Math_10Patch, 0 },
  9130. { zSolaris_Math_2Name, zSolaris_Math_2List,
  9131. apzSolaris_Math_2Machs,
  9132. SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9133. aSolaris_Math_2Tests, apzSolaris_Math_2Patch, 0 },
  9134. { zSolaris_Math_3Name, zSolaris_Math_3List,
  9135. apzSolaris_Math_3Machs,
  9136. SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9137. aSolaris_Math_3Tests, apzSolaris_Math_3Patch, 0 },
  9138. { zSolaris_Math_4Name, zSolaris_Math_4List,
  9139. apzSolaris_Math_4Machs,
  9140. SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9141. aSolaris_Math_4Tests, apzSolaris_Math_4Patch, 0 },
  9142. { zSolaris_Math_8Name, zSolaris_Math_8List,
  9143. apzSolaris_Math_8Machs,
  9144. SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9145. aSolaris_Math_8Tests, apzSolaris_Math_8Patch, 0 },
  9146. { zSolaris_Math_9Name, zSolaris_Math_9List,
  9147. apzSolaris_Math_9Machs,
  9148. SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9149. aSolaris_Math_9Tests, apzSolaris_Math_9Patch, 0 },
  9150. { zSolaris_Math_11Name, zSolaris_Math_11List,
  9151. apzSolaris_Math_11Machs,
  9152. SOLARIS_MATH_11_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9153. aSolaris_Math_11Tests, apzSolaris_Math_11Patch, 0 },
  9154. { zSolaris_Once_Init_1Name, zSolaris_Once_Init_1List,
  9155. apzSolaris_Once_Init_1Machs,
  9156. SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9157. aSolaris_Once_Init_1Tests, apzSolaris_Once_Init_1Patch, 0 },
  9158. { zSolaris_Posix_Spawn_RestrictName, zSolaris_Posix_Spawn_RestrictList,
  9159. apzSolaris_Posix_Spawn_RestrictMachs,
  9160. SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9161. aSolaris_Posix_Spawn_RestrictTests, apzSolaris_Posix_Spawn_RestrictPatch, 0 },
  9162. { zSolaris_Pow_Int_OverloadName, zSolaris_Pow_Int_OverloadList,
  9163. apzSolaris_Pow_Int_OverloadMachs,
  9164. SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9165. aSolaris_Pow_Int_OverloadTests, apzSolaris_Pow_Int_OverloadPatch, 0 },
  9166. { zSolaris_Rwlock_Init_1Name, zSolaris_Rwlock_Init_1List,
  9167. apzSolaris_Rwlock_Init_1Machs,
  9168. SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9169. aSolaris_Rwlock_Init_1Tests, apzSolaris_Rwlock_Init_1Patch, 0 },
  9170. { zSolaris_Std___FilbufName, zSolaris_Std___FilbufList,
  9171. apzSolaris_Std___FilbufMachs,
  9172. SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9173. aSolaris_Std___FilbufTests, apzSolaris_Std___FilbufPatch, 0 },
  9174. { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList,
  9175. apzSolaris_Stdio_TagMachs,
  9176. SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
  9177. aSolaris_Stdio_TagTests, apzSolaris_Stdio_TagPatch, 0 },
  9178. { zStatsswtchName, zStatsswtchList,
  9179. apzStatsswtchMachs,
  9180. STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9181. aStatsswtchTests, apzStatsswtchPatch, 0 },
  9182. { zStdio_Stdarg_HName, zStdio_Stdarg_HList,
  9183. apzStdio_Stdarg_HMachs,
  9184. STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
  9185. aStdio_Stdarg_HTests, apzStdio_Stdarg_HPatch, 0 },
  9186. { zStdio_Va_ListName, zStdio_Va_ListList,
  9187. apzStdio_Va_ListMachs,
  9188. STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
  9189. aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 },
  9190. { zStdio_Va_List_ClientsName, zStdio_Va_List_ClientsList,
  9191. apzStdio_Va_List_ClientsMachs,
  9192. STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
  9193. aStdio_Va_List_ClientsTests, apzStdio_Va_List_ClientsPatch, 0 },
  9194. { zStrict_Ansi_NotName, zStrict_Ansi_NotList,
  9195. apzStrict_Ansi_NotMachs,
  9196. STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9197. aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 },
  9198. { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList,
  9199. apzStrict_Ansi_Not_CtdMachs,
  9200. STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9201. aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 },
  9202. { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList,
  9203. apzStrict_Ansi_OnlyMachs,
  9204. STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9205. aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 },
  9206. { zStruct_FileName, zStruct_FileList,
  9207. apzStruct_FileMachs,
  9208. STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9209. aStruct_FileTests, apzStruct_FilePatch, 0 },
  9210. { zStruct_SockaddrName, zStruct_SockaddrList,
  9211. apzStruct_SockaddrMachs,
  9212. STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9213. aStruct_SockaddrTests, apzStruct_SockaddrPatch, 0 },
  9214. { zSun_Auth_ProtoName, zSun_Auth_ProtoList,
  9215. apzSun_Auth_ProtoMachs,
  9216. SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9217. aSun_Auth_ProtoTests, apzSun_Auth_ProtoPatch, 0 },
  9218. { zSun_Bogus_IfdefName, zSun_Bogus_IfdefList,
  9219. apzSun_Bogus_IfdefMachs,
  9220. SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9221. aSun_Bogus_IfdefTests, apzSun_Bogus_IfdefPatch, 0 },
  9222. { zSun_CatmacroName, zSun_CatmacroList,
  9223. apzSun_CatmacroMachs,
  9224. SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9225. aSun_CatmacroTests, apzSun_CatmacroPatch, 0 },
  9226. { zSun_MallocName, zSun_MallocList,
  9227. apzSun_MallocMachs,
  9228. SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
  9229. aSun_MallocTests, apzSun_MallocPatch, 0 },
  9230. { zSun_Rusers_SemiName, zSun_Rusers_SemiList,
  9231. apzSun_Rusers_SemiMachs,
  9232. SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
  9233. aSun_Rusers_SemiTests, apzSun_Rusers_SemiPatch, 0 },
  9234. { zSun_SignalName, zSun_SignalList,
  9235. apzSun_SignalMachs,
  9236. SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9237. aSun_SignalTests, apzSun_SignalPatch, 0 },
  9238. { zSunos_StrlenName, zSunos_StrlenList,
  9239. apzSunos_StrlenMachs,
  9240. SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9241. aSunos_StrlenTests, apzSunos_StrlenPatch, 0 },
  9242. { zSuse_Linux_Vt_CxxName, zSuse_Linux_Vt_CxxList,
  9243. apzSuse_Linux_Vt_CxxMachs,
  9244. SUSE_LINUX_VT_CXX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9245. aSuse_Linux_Vt_CxxTests, apzSuse_Linux_Vt_CxxPatch, 0 },
  9246. { zSvr4_Disable_OptName, zSvr4_Disable_OptList,
  9247. apzSvr4_Disable_OptMachs,
  9248. SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
  9249. aSvr4_Disable_OptTests, apzSvr4_Disable_OptPatch, 0 },
  9250. { zSvr4_GetcwdName, zSvr4_GetcwdList,
  9251. apzSvr4_GetcwdMachs,
  9252. SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9253. aSvr4_GetcwdTests, apzSvr4_GetcwdPatch, 0 },
  9254. { zSvr4_ProfilName, zSvr4_ProfilList,
  9255. apzSvr4_ProfilMachs,
  9256. SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9257. aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 },
  9258. { zSvr4_Sighandler_TypeName, zSvr4_Sighandler_TypeList,
  9259. apzSvr4_Sighandler_TypeMachs,
  9260. SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9261. aSvr4_Sighandler_TypeTests, apzSvr4_Sighandler_TypePatch, 0 },
  9262. { zSvr4_Undeclared_GetrngeName, zSvr4_Undeclared_GetrngeList,
  9263. apzSvr4_Undeclared_GetrngeMachs,
  9264. SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9265. aSvr4_Undeclared_GetrngeTests, apzSvr4_Undeclared_GetrngePatch, 0 },
  9266. { zSysv68_StringName, zSysv68_StringList,
  9267. apzSysv68_StringMachs,
  9268. SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
  9269. aSysv68_StringTests, apzSysv68_StringPatch, 0 },
  9270. { zSysz_Stdlib_For_SunName, zSysz_Stdlib_For_SunList,
  9271. apzSysz_Stdlib_For_SunMachs,
  9272. SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9273. aSysz_Stdlib_For_SunTests, apzSysz_Stdlib_For_SunPatch, 0 },
  9274. { zThread_KeywordName, zThread_KeywordList,
  9275. apzThread_KeywordMachs,
  9276. THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9277. aThread_KeywordTests, apzThread_KeywordPatch, 0 },
  9278. { zTinfo_CplusplusName, zTinfo_CplusplusList,
  9279. apzTinfo_CplusplusMachs,
  9280. TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9281. aTinfo_CplusplusTests, apzTinfo_CplusplusPatch, 0 },
  9282. { zUltrix_ConstName, zUltrix_ConstList,
  9283. apzUltrix_ConstMachs,
  9284. ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9285. aUltrix_ConstTests, apzUltrix_ConstPatch, 0 },
  9286. { zUltrix_Const2Name, zUltrix_Const2List,
  9287. apzUltrix_Const2Machs,
  9288. ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9289. aUltrix_Const2Tests, apzUltrix_Const2Patch, 0 },
  9290. { zVa_I960_MacroName, zVa_I960_MacroList,
  9291. apzVa_I960_MacroMachs,
  9292. VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9293. aVa_I960_MacroTests, apzVa_I960_MacroPatch, 0 },
  9294. { zVms_Add_Missing_BracesName, zVms_Add_Missing_BracesList,
  9295. apzVms_Add_Missing_BracesMachs,
  9296. VMS_ADD_MISSING_BRACES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9297. aVms_Add_Missing_BracesTests, apzVms_Add_Missing_BracesPatch, 0 },
  9298. { zVms_Decc_BuiltinName, zVms_Decc_BuiltinList,
  9299. apzVms_Decc_BuiltinMachs,
  9300. VMS_DECC_BUILTIN_TEST_CT, FD_MACH_ONLY,
  9301. aVms_Decc_BuiltinTests, apzVms_Decc_BuiltinPatch, 0 },
  9302. { zVms_Define_Can_Use_Extern_PrefixName, zVms_Define_Can_Use_Extern_PrefixList,
  9303. apzVms_Define_Can_Use_Extern_PrefixMachs,
  9304. VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9305. aVms_Define_Can_Use_Extern_PrefixTests, apzVms_Define_Can_Use_Extern_PrefixPatch, 0 },
  9306. { zVms_Disable_Decc_String_BuiltinsName, zVms_Disable_Decc_String_BuiltinsList,
  9307. apzVms_Disable_Decc_String_BuiltinsMachs,
  9308. VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9309. aVms_Disable_Decc_String_BuiltinsTests, apzVms_Disable_Decc_String_BuiltinsPatch, 0 },
  9310. { zVms_Do_Not_Redeclare_HostaliasName, zVms_Do_Not_Redeclare_HostaliasList,
  9311. apzVms_Do_Not_Redeclare_HostaliasMachs,
  9312. VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9313. aVms_Do_Not_Redeclare_HostaliasTests, apzVms_Do_Not_Redeclare_HostaliasPatch, 0 },
  9314. { zVms_Forward_Declare_StructName, zVms_Forward_Declare_StructList,
  9315. apzVms_Forward_Declare_StructMachs,
  9316. VMS_FORWARD_DECLARE_STRUCT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9317. aVms_Forward_Declare_StructTests, apzVms_Forward_Declare_StructPatch, 0 },
  9318. { zVms_No_64bit_GetoptName, zVms_No_64bit_GetoptList,
  9319. apzVms_No_64bit_GetoptMachs,
  9320. VMS_NO_64BIT_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9321. aVms_No_64bit_GetoptTests, apzVms_No_64bit_GetoptPatch, 0 },
  9322. { zVms_Use_Fast_SetjmpName, zVms_Use_Fast_SetjmpList,
  9323. apzVms_Use_Fast_SetjmpMachs,
  9324. VMS_USE_FAST_SETJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9325. aVms_Use_Fast_SetjmpTests, apzVms_Use_Fast_SetjmpPatch, 0 },
  9326. { zVms_Use_Pragma_Extern_ModelName, zVms_Use_Pragma_Extern_ModelList,
  9327. apzVms_Use_Pragma_Extern_ModelMachs,
  9328. VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9329. aVms_Use_Pragma_Extern_ModelTests, apzVms_Use_Pragma_Extern_ModelPatch, 0 },
  9330. { zVms_Use_Quoted_IncludeName, zVms_Use_Quoted_IncludeList,
  9331. apzVms_Use_Quoted_IncludeMachs,
  9332. VMS_USE_QUOTED_INCLUDE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9333. aVms_Use_Quoted_IncludeTests, apzVms_Use_Quoted_IncludePatch, 0 },
  9334. { zVoid_NullName, zVoid_NullList,
  9335. apzVoid_NullMachs,
  9336. VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9337. aVoid_NullTests, apzVoid_NullPatch, 0 },
  9338. { zVxworks_Gcc_ProblemName, zVxworks_Gcc_ProblemList,
  9339. apzVxworks_Gcc_ProblemMachs,
  9340. VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
  9341. aVxworks_Gcc_ProblemTests, apzVxworks_Gcc_ProblemPatch, 0 },
  9342. { zVxworks_Ioctl_MacroName, zVxworks_Ioctl_MacroList,
  9343. apzVxworks_Ioctl_MacroMachs,
  9344. VXWORKS_IOCTL_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9345. aVxworks_Ioctl_MacroTests, apzVxworks_Ioctl_MacroPatch, 0 },
  9346. { zVxworks_Mkdir_MacroName, zVxworks_Mkdir_MacroList,
  9347. apzVxworks_Mkdir_MacroMachs,
  9348. VXWORKS_MKDIR_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9349. aVxworks_Mkdir_MacroTests, apzVxworks_Mkdir_MacroPatch, 0 },
  9350. { zVxworks_Needs_VxtypesName, zVxworks_Needs_VxtypesList,
  9351. apzVxworks_Needs_VxtypesMachs,
  9352. VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9353. aVxworks_Needs_VxtypesTests, apzVxworks_Needs_VxtypesPatch, 0 },
  9354. { zVxworks_Needs_VxworksName, zVxworks_Needs_VxworksList,
  9355. apzVxworks_Needs_VxworksMachs,
  9356. VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
  9357. aVxworks_Needs_VxworksTests, apzVxworks_Needs_VxworksPatch, 0 },
  9358. { zVxworks_RegsName, zVxworks_RegsList,
  9359. apzVxworks_RegsMachs,
  9360. VXWORKS_REGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9361. aVxworks_RegsTests, apzVxworks_RegsPatch, 0 },
  9362. { zVxworks_TimeName, zVxworks_TimeList,
  9363. apzVxworks_TimeMachs,
  9364. VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9365. aVxworks_TimeTests, apzVxworks_TimePatch, 0 },
  9366. { zVxworks_Write_ConstName, zVxworks_Write_ConstList,
  9367. apzVxworks_Write_ConstMachs,
  9368. VXWORKS_WRITE_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9369. aVxworks_Write_ConstTests, apzVxworks_Write_ConstPatch, 0 },
  9370. { zX11_ClassName, zX11_ClassList,
  9371. apzX11_ClassMachs,
  9372. X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9373. aX11_ClassTests, apzX11_ClassPatch, 0 },
  9374. { zX11_Class_UsageName, zX11_Class_UsageList,
  9375. apzX11_Class_UsageMachs,
  9376. X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9377. aX11_Class_UsageTests, apzX11_Class_UsagePatch, 0 },
  9378. { zX11_NewName, zX11_NewList,
  9379. apzX11_NewMachs,
  9380. X11_NEW_TEST_CT, FD_MACH_ONLY,
  9381. aX11_NewTests, apzX11_NewPatch, 0 },
  9382. { zX11_SprintfName, zX11_SprintfList,
  9383. apzX11_SprintfMachs,
  9384. X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
  9385. aX11_SprintfTests, apzX11_SprintfPatch, 0 }
  9386. };