Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/driver/cfa.cc

    r6bfe5cc raf39199d  
    1010// Created On       : Tue Aug 20 13:44:49 2002
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Feb  5 22:05:28 2018
    13 // Update Count     : 166
     12// Last Modified On : Wed May  2 17:57:43 2018
     13// Update Count     : 224
    1414//
    1515
     
    1919#include <unistd.h>                                                                             // execvp
    2020#include <string>                                                                               // STL version
    21 
     21#include <string.h>                                                                             // strcmp
     22
     23#include "Common/SemanticError.h"
    2224#include "config.h"                                                                             // configure info
    2325
     
    160162                                args[nargs] = argv[i];                                  // pass the argument along
    161163                                nargs += 1;
     164                        } else if ( arg == "-w" ) {
     165                                args[nargs] = argv[i];                                  // pass the argument along
     166                                nargs += 1;
     167                                args[nargs] = ( *new string( string("-D__CFA_FLAG__=") + arg ) ).c_str(); // add the argument for cfa-cpp
     168                                nargs += 1;
     169                        } else if ( prefix( arg, "-W" ) ) {                     // check before next tests
     170                                if ( arg == "-Werror" || arg == "-Wall" ) {
     171                                        args[nargs] = argv[i];                          // pass the argument along
     172                                        nargs += 1;
     173                                        args[nargs] = ( *new string( string("-D__CFA_FLAG__=") + arg ) ).c_str(); // add the argument for cfa-cpp
     174                                        nargs += 1;
     175                                } else {
     176                                        unsigned int adv = prefix( arg, "-Wno-" ) ? 5 : 2;
     177                                        args[nargs] = argv[i];                          // conditionally pass the argument along
     178                                        const char * warning = argv[i] + adv;     // extract warning
     179                                        if ( SemanticWarning_Exist( warning ) ) { // replace the argument for cfa-cpp
     180                                                args[nargs] = ( *new string( string("-D__CFA_FLAG__=") + arg ) ).c_str();
     181                                        } // if
     182                                        nargs += 1;
     183                                } // if
    162184                        } else if ( prefix( arg, "-B" ) ) {
    163185                                Bprefix = arg.substr(2);                                // strip the -B flag
     
    247269                #if ! defined(HAVE_LIBCFA_RELEASE)
    248270                        if( !debug ) {
    249                                 cerr << "error: Option -nodebug is not available, libcfa was not installed." << endl;
     271                                cerr << "error: Option -nodebug is unavailable, libcfa was not installed." << endl;
    250272                                exit( EXIT_FAILURE );
    251273                                }
     
    253275                #if ! defined(HAVE_LIBCFA_DEBUG)
    254276                        if( debug ) {
    255                                 cerr << "error: Option -debug is not available, libcfa-d was not installed." << endl;
     277                                cerr << "error: Option -debug is unavailable, libcfa-d was not installed." << endl;
    256278                                exit( EXIT_FAILURE );
    257279                                }
Note: See TracChangeset for help on using the changeset viewer.