Skip to content
Extraits de code Groupes Projets
Valider fdfdd3b7 rédigé par Théotime DONNENFELD's avatar Théotime DONNENFELD
Parcourir les fichiers

Ajout du warning si deux fois la meme fonction est demandée par pragma

parent bcc3264b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Fichier ajouté
......@@ -11,7 +11,7 @@ static void my_pragma_action(cpp_reader *ARG_UNUSED(dummy))
const char* elt;
token = pragma_lex (&x);
bool close_paren_needed_p = false;
bool already_in;
if (cfun){
printf("!!Pragma placed inside function!!\n");
......@@ -33,9 +33,20 @@ static void my_pragma_action(cpp_reader *ARG_UNUSED(dummy))
if (TREE_STRING_LENGTH (x) > 0)
args = tree_cons (NULL_TREE, x, args);
printf("Arg found : %s\n", IDENTIFIER_POINTER(x));
printf("\nArg found : %s\n", IDENTIFIER_POINTER(x));
already_in = false;
for (int ix = 0; pragma_func_names.iterate (ix, &elt); ix++){
if(strcmp(elt, IDENTIFIER_POINTER(x))==0)
already_in = true;
}
if(already_in){
printf("WARNING : 2 pragmas refering to same func");
}
else{
pragma_func_names_temp.safe_push(IDENTIFIER_POINTER(x));
}
token = pragma_lex (&x);
//Cleans COMAS
while (token == CPP_COMMA){
......
......@@ -129,7 +129,7 @@ class cleanup_pass : public gimple_opt_pass
const char *elt;
for(int ix = 0; pragma_func_names.iterate (ix, &elt); ix++)
func_to_be_analyzed = strcmp(elt,function_name(fun)) && func_to_be_analyzed;
func_to_be_analyzed = (strcmp(elt,function_name(fun))==0) && func_to_be_analyzed;
printf("USING PRAGMAS - FUNC IS : %s", function_name(fun));
return func_to_be_analyzed;
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter